| |
Iterative-incremental approach
construx http://www.stevemcconnell.com/rdenum.htm
Iterative-incremental approach
Despite big investments, projects often fail to deliver, and traditional waterfall methods have proven ineffective. The iterative approach proposed here outlines how to break large projects into more manageable pieces, and uses the idea of a "parking lot" of value-adding features.
Defining requirements to establish specifications is the first step in the development. However, in many situations, not enough care is taken in establishing correct requirements up front.
--------------------- Core functionality --------------------- Start small! Iterate! As long as the core requirements remain, everything will be fine. Additional functionality can always go into "the next release," but if you don't deliver the core functionality, there won't be a next release.
• Involve end users as early as possible. Involve end users as early as possible. Several studies have found that end user involvement is key to stable requirements and software project success.
The iterative-incremental (II) approach to projects has two important structural characteristics: - First, it works according to the 'divide and conquer' philosophy. Large problems, such as the implementation of a platform, get broken down into more manageable iterations, which bring incremental value to the business. At each three-month interval, for example, a business can expect to see concrete results flowing from its investments in software. - Second, the II approach revolves around the idea of a 'parking lot' of value-adding features. The client identifies and prioritizes those features that are most valued. And each iteration focuses on the delivery of the selected subset that will bring the most benefits.
....................... Iteration Zero .......................
The first step in any II project is what is called Iteration Zero. Its purpose is to set the foundation for the iterations that are to follow. This initial stage, that should last no more than four to six weeks, should produce clear conclusions that will drive the rest of the project.
It begins by clarifying intentions to make sure all stakeholders agree on the business drivers behind the investment. A clear consensus is essential. Then, initial requirements are gathered: - in the form of user-stories explaining who needs what kind of information. - once this is done the approximative solution is designed. - it is not an ultimate solution that will address all present and future requirements. It is just an initial seed of future system
The solution is expected to evolve from one iteration to the next as the business priorities change and the requirements are either refined or redefined. At the end of the Iteration Zero, a high-level implementation plan is prepared, covering all the iterations required to address the user stories defined so far, as well as a detailed plan for the first iteration that is to follow. At the end of any iteration, the position in accordance to business priorities is reassessed and the high-level plan adapted accordingly.
.................... Iteration One .................... The first iteration is paramount to the success of any project because it shows the business community that value can be delivered in a relatively short time frame. If the first iteration fails to deliver value, decision-makers may lose confidence in the project and seek help elsewhere. The business community may even fall back on old processes.
A winning strategy in is to take over existing analytical and reporting functions and to improve upon them. The idea here is for the system to support the same needs, but with added value, such as providing ad-hoc querying capabilities to end-users in a sandbox environment of their own. In a nutshell, starting by focusing on current business processes, making sure that what is delivered also exceeds current abilities.
With this in mind, managing priorities is a fundamental challenge: choosing which features to implement next, accepting to leave some in the previously mentioned 'parking lot', etc. And there is also the question of precedent. By starting to implement a solution by focusing on new features the risks of project failure are increased. By keeping the focus on current analytical processes, there is a baseline against which to compare the new solution as well as readily available business knowledge.
................ Conclusion ................ In all iterations acceptable user experience is the priority. The solution must be designed with the end-users community and be acceptable from their point of view.
Decision-makers are looking for tools that will give them a competitive advantage. Traditional approaches to projects take too long and fail to deliver adequate ROI.
Reaction to change is swift, direct and effective under the iterative-incremental approach, which yields results quickly. It is a proven methodology for maximizing value in projects. It is a field-tested roadmap for immediate success.
|
|