Why LRE Chooses an “Incremental-Iterative” Approach for Your Water Innovation Technology Project
When the software development industry initially began to grow, the process framework to develop a project was commonly called the “waterfall model”. It was based on manufacturing and construction industry processes. In this model, specific phases followed a linear sequence without variation. The entire project is run through this cycle one time, all at once. Typical waterfall phases include:
This approach works best when the product scope is fixed, the actual product is stable and the technology is clearly understood. Those attributes are still common in those industries, and for many years, this approach worked successfully because the software and technology industry had not experienced mass gains in complexity yet. However, in recent years, that complexity has increased exponentially as the sophistication of technology and end users has grown. The waterfall approach no longer meets the needs of today’s development process with the same degree of success. Projects using this approach frequently encounter issues with finding necessary changes very late in the design process, which end up requiring significant modification or re-work at a hefty cost in time and dollars.
Some other methods have emerged that engage clients more effectively, thereby lowering project risk. An incremental approach is when only smaller pieces of the project are completed at one time, usually a natural grouping of functions. This enables a quicker feedback cycle and allows the design team to respond at a micro level and get the design just right before deployment. The end result is the highest quality process that time allows. An iterative approach is when the project goes through multiple design/feedback cycles to improve the prodcut functionality. The end result is the highest quality product possible. We believe that, due to the nature and complexity of water resources technology projects, the best approach is an “incremental-iterative” development process. With a traditional Incremental approach, each “module” must be fully complete, tested, and deployed before the development of the next module may begin. With an Iterative approach, all modules in the system move forward at the same development level (alpha test, beta test, version 1.0, etc.).
Our unique blended approach means that we can complete and deploy portions of the application (or modules) while other portions are still in the early stages, which provides plenty of opportunities for client review and mid-course corrections. By following the incremental-iterative approach, we engage key people, solicit feedback and earn stakeholder buy-in. This approach results in better budget and schedule performance, and produces a final product that successfully meets the needs of the user populations, even as those needs develop over time.
« Back to the Blog