The Eye of the Beholder

Why Project Definition is Important, Difficult, and Dynamic
  • accessible for inspection and repair. A benefit of this construction is that one foot of standing water on my property would flood my basement, but NOT damage my home - an attractive feature when you live near a major river.
  • One of the defining features of craftsman style homes is the built-in cabinets and cubbyholes for storage. Visitors who know more about construction than I do have suggested that duplicating these features in a modern house would be expensive.
  • The hardwood floors are made of aged oak with walnut inlay. They have survived wonderfully for three quarters of a century because the original owner covered them with linoleum for most of those years.

From the insurance company's perspective, they would probably argue that it isn't practical, reasonable, or cost effective for them to replicate some of the unique aspects of our home. They would likely define the home tersely:

  • 1800 square feet
  • Three bedrooms
  • Two bathrooms
  • Hard wood floors
  • Consistent with current building practices

I can imagine the insurer offering to have a "comparable" home built atop a slab on our lot. They might even point out that it would be built with new and, in some cases, superior materials and that we were getting a very good deal. I wonder though, even if it has essentially the same floor plan, would my wife and I say they had captured the essence of our adorable little home?

If reasonable people can disagree about the definition of a house when there is a life-size exact model to use as a reference point, is it any wonder that others might disagree about the definition of a software system that exists only in their respective imaginations? Attributes of our home that are relevant to us might not be relevant to our insurance company. Who gets to decide which attributes drive the decision? If I explore further, I might discover some attributes that are important to me that aren't important to my wife, and vice versa.

If something happened to our house, we would be in the classic hard spot of defining what was lost. Our lives would be turned upside down and there would be pressure to recover quickly. The insurance company would also want to settle the issue as quickly and inexpensively as possible (just like most systems integration vendors working on fixed price software projects). The insurance company would care about providing good service, hoping to keep us happy so we might refer our friends to them because many people would hear about it if we were not satisfied.

In this hypothetical situation, agreeing on a reasonable definition seems like a difficult task, yet it is essential to the ultimate success of the project. Making time to attend to details is difficult, and to completely specify all aspects of the project from the outset would likely be impossible. But it is important to agree on a working definition and on a process for negotiating amendments to that definition as the project goes on. Not only are the same things true for software projects, but the extra challenges of abstractness and complexity make flexibility even more important.

AgileConnection is a TechWell community.

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