Sunday, December 03, 2006

Change-Driven Development. Introduction

Have you ever taken part in a project, that wasn't affected by some extraneous factors being changed during the development? Probably not, if we do not consider paltry projects-tasks that take only few days from defining initial requirements till a final release. In every other case, regular changes are just a usual part of software development process in modern world.

However, despite the regularity of such changes, teams often turn out to be incapable of responding to new, clarified or updated external factors in time. As result, it leads to frustration of deadlines, and to trite excuses like: "it wasn't possible to meet the deadline because the customer was changing their requirements continuously" or "an extra month is required for new developer to gen up on the project". Familiar cliché? In many cases, these explanations are fair and they do really explain the reason of the failure. Alas, opening the reason just helps to smooth the situation, but not to solve the original problem, - developing the product on time and budget. The same way as it doesn't help to consolidate company professional reputation.

Realizing inevitability of changes, many companies already applied some management processes regulating a set of actions that need to be performed in a case of particular change events. Some other companies went event further, and introduced concepts to control risk of rising one or another specified change. But in spite of these precautions, factors that seem minor accumulate and finally influence the course of whole project, and essential events are often found to be amiss.

In some future posts, I'll describe an idea of adapting existing development processes in a way that is based on change perception as a natural factor settling a project flow - Change-Driven Development. Described method is admissible for most existing development processes. Simplicity of implementation and adaptation appreciably facilitates acceptance by team members. The result of application is achieving commercial project goals in the shortest term, at the same time, keeping the climate easy-tempered and stable. For its turn, the last does even more - it decreases turnover.

No comments: