Software Principles: Cyclic Development

Not meaning to state the obvious, nor to get too mystical, but have you ever noticed how as soon as one thing ends, something else begins?

Either by divine intervention, or Darwinian evolution, or some other favourite explanation of your own, the natural world figured out that the way to succeed at most interesting things was to use cyclic processes.

It has unfornately taken software engineers rather a long time to catch on to this. However the good news is that we are getting there now.

The wisdom of using cyclic development processes tells us, for example that:

We're not trying to produce a system that last forever. We're producing a system that will get us through the next period of growth that we are undertaking.

We're not trying to produce a system that does everything anyone can imagine or hope for. We're producing a system that gives us the greatest leverage with our current business needs over a relatively short timescale of maybe the next couple of years.

The first step should not be too big. The first step should be designed to give us the ground from which to take the second step.

Software Principles Keywords

Cyclic Development

Software Principles

Software project management strategy