Better Software Magazine Articles

How to Survive the Software Swamp

For a project to make long-term progress, it must build a platform of basic engineering practices. On this platform are set the ladders of advanced techniques that you select using risk analysis. Properly managed, these processes help you avoid falling back into the swamp whenever the project is under pressure.

Michael Deck
Finding Patterns in Software

"Patterns" have caught on among software designers, especially those working on object-oriented systems. More recently, patterns have been applied to organizational behavior, including patterns for organizing independent test groups. Brian Marick provides Web resources on the study of patterns.

Brian Marick
Quality Assurance and Testing

Brian Marick argues for using testers at the requirements analysis stage of a project. He says, "While QA is primarily about process, testing—my specialty—is about product. Whatever else a tester might do, she certainly eventually exercises the product with the aim of discovering problems a user might encounter. This essay is about that 'whatever else' the tester does."

Brian Marick
Normal Processes

Using a sociological theory as his starting point, Technical Editor Brian Marick shows how sometimes systems can encourage local problems to blossom into system-wide catastrophes.

Brian Marick
Big Ball of Mud

Much of recent systems theory revolves around applying ideal software development patterns. Big Ball of Mud, in contrast, is for those of us who live and work in the real world, where most systems emerge haphazardly from minimally controlled chaos under constrained development conditions. Bar Biszick recommends and describes the Big Ball of Mud Web site.

Bar Biszick
Testing and Quality: Are You As Bored As I Am?

The next time someone says to you something like, "You can't test quality into a software project," you might reply, "Well, you can't manage it in either." There may be a pregnant pause, but perhaps it will lead to thoughtful discussions about testing and quality. At the very least, it'll make those twin subjects a whole lot less (shh!) Dullsville and boring!

Robert Glass
Anticipating Human Error

This article makes three points. First, errors happen. Second, systems can encourage errors. Third, a basic understanding of the kinds of errors humans make can help us design better systems. Here are some suggestions to help avert trouble.
 

Ramon M. Felciano
Packaged-Software Indigestion

Vendor reviews are a wonderful technique to taste before you swallow commercial, off-the-shelf software. They're also a great way to build a partnership with your business decision-makers on packaged-software projects, instead of being brought in late or left out completely. Here are some important things to consider when conducting a vendor review.

Eileen M. Strider
Building Productivity Through Measurement

Collecting and analyzing some simple measures on your application development project will provide a set of building blocks that can be used to manage your projects. This data will improve your success rate and reduce project development risk. Here are some simple measures that can improve your development efforts.

Randy Numbers
Case Study: Selling the CMM

Envision a slow day, a slow meeting, and someone says in a nonchalant manner something like, "Raise your hand if you want to do a CMM." Only two hands go up—but it makes a difference whose hands. From this casual setting develops an all-out effort involving hundreds of people in training, implementing, and integrating the CMM into the development culture. Here is the story of how one large financial services company mobilized for its CMM initiative.

J. James Jacobsen

Pages

CMCrossroads is a TechWell community.

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