When is Software Design Complete (Enough)?
17 May 2005
SEATTLE – In this age of agile software development, it’s too easy to rush through design, and begin coding too soon. In addition to the obvious problems (missed requirements, etc), this can also have devestating effects on the development team when they start seeing that development has built something completely different than what they were expecting.
On the other side of the coin, we’ve all heard of projects being stuck in “analysis paralysis”, that state of never really getting started on a software development project becuase there is always one more thing to learn and discover. There are a number of reasons for getting hung up like this, but fear of not capturing that last bit of “crucial” information to the success of the project is probably one of the biggest.
We don’t want to rush through analysis and begin building too fast, but it’s also pretty obvious that we don’t want to spend too much time on the design. These competing requirements need to be balanced against each other until an accurate and shared idea of what is going to be built emerges.
So how do we know what design is “complete enough” to get started?
Read More… NOTE: This article posted at my UW staff website.