Better Software Magazine Articles

Stop The Insanity! Using Root Cause Analysis to Avoid Repeating Your Mistakes

We've all heard Einstein's definition of insanity, and it definitely holds true in software development. We "are" going to make mistakes in product development, but root-cause analysis can help us understand those mistakes and be proactive in not repeating them.

Ed Weller's picture Ed Weller
Software Quality and the Prisoner's Dilemma

This industry spin on the classical dilemma illustrates the games we play when software quality is at stake and gives insight into why software managers who forego quality in order to reach a short-term marketing advantage are actually acting rationally.

Paco Hope's picture Paco Hope
A Change Would Do You Good

Visit any bookstore these days, and you will be faced with shelves of books whose titles claim they can make everything—from cooking to exercise—more interesting. In our industry, boredom is a problem that can affect your ability to solve complex technical problems. Discover how change can spice up your software processes.

Jonathan Kohl's picture Jonathan Kohl
Incremental and Iterative Development

People get wrapped around the axle trying to understand the difference between incremental and iterative development. The Unified Process authors in the 1990s didn't help by indiscriminately calling everything iterative development. The two are different and must be managed differently. Successful teams do both at the same time, usually without thinking about it. Then someone starts thinking about it and does one without the other. Bad news follows.

Alistair Cockburn's picture Alistair Cockburn
What's In a Word?

Evolution of a word's meaning through common misuse is a reality of human communication. In the software industry, by using the phrase quality assurance to refer to what is more properly called quality control (i.e., testing), we may have lost our ability to answer the question "does our process work?"

Antony Marcano's picture Antony Marcano
The Hawthorne Effect

Ever wondered what productivity experiments on factory workers in the early twentieth century have in common with today's adoption of agile practices? Lee sheds some light on the "process of process" and the importance of retrospectives as catalysts for change.

Lee Copeland's picture Lee Copeland
New and Improved: Get User Buy-In on Process-Improvement Initiatives

When these information architects were assigned to a team that was struggling to achieve CMMI Level 2, they found little user buy-in for the new processes. Find out how introducing user-centered design to the project got everyone involved in the design process and increased the users' satisfaction in the end product.

Ember R. DeBoer
A Story About User Stories and Test-Driven Development: Into the Field

Drawing on real events from the authors' combined experience, this story picks up where it left off in the November 2007 issue and follows a fictional team as it encounters some of the pitfalls of using test-driven development.

Gertrud Bjørnvig Neil Harrison
A Story About User Stories and Test-Driven Development: The Setup

While "testing" is part of its name, many TDD pundits insist TDD is not a testing technique, but rather a technique that helps to focus one's design thinking. Drawing on real events from the authors' combined experience, this story follows a fictional team as it encounters some of the pitfalls of using test-driven development.

The Measure of a Management System

Traditional management systems were designed to measure conformance to plan, not adaptability. So in order to achieve truly agile, innovative organizations, a change in our approach to performance management systems is necessary. Find out why a switch to an adaptive performance management system can unleash the full potential of agile methods.

Jim Highsmith

Pages

CMCrossroads is a TechWell community.

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