development

Better Software Magazine Articles

When to Step Up, When to Step Back

Leaders can stifle progress when they unnecessarily interfere with team processes. However, as a leader, you don't want your project to go over the cliff and fail miserably or deliver the wrong results either. There are times when leaders should stand back and let the team work things out for themselves—and other times when leaders should step up and really lead. 

Pollyanna Pixton
The Accidental Complexity of Logic

Much code complexity and no small number of program defects can be traced back to confusion over logical expressions and the expression of logic. Find out how you can get that complexity under control.

Kevlin Henney's picture Kevlin Henney
What's the Deal with Investigators?

"Investigators aren't sure" is a phrase that frequently pops up in the media. Information systems workers seem to share this uncertainty. So, what's the secret to success in this "aren't sure" world?

Lee Copeland's picture Lee Copeland
Let's Talk Agile

Agile development employs more oral communication, feedback, and interaction than traditional development. These communication tools can help ease the transition into the more interactive agile team relationship.

Ken Pugh's picture Ken Pugh
A ''D'' in Programming

In certain company, the topic of favorite programming languages can elicit the same response as other taboo subjects, such as religion and politics. But, Chuck's going out on a limb to discuss his new favorite language, D, and some of its best features, such as its being strongly typed and compiling to native code, yet it is garbage collected.

Chuck Allison's picture Chuck Allison
The Other Side of Complexity

Software development has always been an exercise in managing complexity because there appears to be no end to the problems to which we can apply automatic computation. It has progressed as a discipline as good minds have created abstractions that transform that complexity into simplicity.

Chuck Allison's picture Chuck Allison
Designing Reusable Software

For software to be reusable, it must be usable in a variety of contexts, and an important attribute of reusability at the code level is genericity. Learn more about defining for reuse and using generics.

Chuck Allison's picture Chuck Allison
Some Assembly Required

Despite the hype, test-driven development is not as easy as child's play. Successful implementation of TDD requires discipline and an understanding of the potential pitfalls. This article examines the "fine print" of TDD and explains how following some guidelines can help you make it a valuable addition to your development toy box.

Jennitta Andrea's picture Jennitta Andrea
Simple Ain't Easy: Software Design Myths and Realities

The definition of "simple design" varies from person to person. But achieving simplicity isn't just about maintaining simple point solutions.

Brad Appleton's picture Brad Appleton
Clean and Green

All code is not created equal. Learn from a master of the craft how to spot bad code and mold it into good. Mike Clark explains how to clean up your code clutter by removing duplication.

Mike Clark

Pages

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.