Application Lifecycle Management

Better Software Magazine Articles

From Here to Acceptance Test-Driven Development

Acceptance test-driven development (ATDD) means different things to different people based on their experiences—from "It's all about testing" to "It has nothing to do with testing,” and from "TDD, ATDD—it's all the same" to "TDD and ATDD are nothing alike." These nine landmarks will help you navigate ATDD no matter where you are coming from.

Antony Marcano's picture Antony Marcano
Idioms and Idiosyncrasies

As programmers, we are not merely engineering drones; we are also artisans. The act of programming involves as much artistry as it does technicality. When we craft great software, we naturally use language idioms help to show the elegance, beauty, and artistry of a piece of code. But sometimes the desire for beautiful idiomatic code can trip us up.

Pete Goodliffe's picture Pete Goodliffe
Programming with GUTs

Because tests are commonly viewed in terms of offering quantitative feedback on the presence or absence of defects in specific situations, Good Unit Tests need to both illustrate and define the behavioral contract of the unit in question. Do you have GUTs?

Kevlin Henney's picture Kevlin Henney
Software: Use at Your Own Risk

Is it really so hard to produce software that works? When was the last time you read a software license agreement? Most are one-sided statements that limit the product developer's liability. It's time to move away from "Use at your own risk" software and be upfront with customers about the true cost of quality.

Chuck Allison's picture Chuck Allison
A Galaxy of Patterns

The Gang of Four's design patterns have a special place in many programmers' hearts. But it's time to look beyond the GoF twenty-three and realize they aren't the only patterns in the universe.

Neil Harrison
Agile Model-Driven Development

Despite what you might have heard, modeling is an important part of agile software development. Find out how agile model-driven development fits into the overall agile development lifecycle in a lean and streamlined manner and can improve productivity on your team.

Scott W. Ambler's picture Scott W. Ambler
A ''D'' in Programming, Part 2

In his final pitch for the D programming language, Chuck brings to "closure" (pun intended) a running example from previous Code Craft articles while exploring some powerful features of the D language.

Chuck Allison's picture Chuck Allison
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
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

Pages

CMCrossroads is a TechWell community.

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