Earlier this year, in an article for Digital Software Magazine called Building Corporate IT Systems That Remain Relevant, Bruce Ballengee of Pariveda Solutions makes a strong case for agile software development as a means to foster perpetual value (i.e., strong ROI) in an IT system. We couldn’t agree more with Mr. Ballengee’s conclusions. But there are several other important benefits of an agile (or iterative/incremental) methodology that are worth mentioning and which potential customers should be aware of.
The problem with risk is that sometimes you see it coming…and sometimes you don’t. In many cases, perceived risks to a project may prove not to be risks at all while unanticipated risks may surface out of the blue. Because many risks are only addressed and discovered during integration, an iterative approach provides a far better opportunity to mitigate them early on because the iterative approach is a near-continuous integration. What used to be long, uncertain, and difficult to plan accurately (taking up to 40% of the total effort at the end of a project) is divided into 6-9 smaller integrations that start with far fewer elements.
Changes in requirements and scope have always been primary sources of trouble for a project, leading to late delivery, missed schedules, and unsatisfied customers. But the iterative approach takes changing requirements into account from the start.
We have to expect users to change their minds as the project evolves—it’s inevitable. And they’re right to do it. After all, the context is changing. As they learn more about the environment, technology, and their own business, and see intermediate demonstrations of the product as it is being developed, this additional knowledge contributes to new ideas/requirements and thereby fosters a more comprehensive business solution in the end. Forcing users to accept the system as originally imagined is not only unrealistic, but detrimental to true success.
Iterations also allow for technological change. If technology changes or new technology appears, the project can take advantage of it. This is particularly relevant for platform changes and lower-level infrastructure changes.
Achieve Higher Quality
An iterative approach results in a more robust architecture. Flaws are detected and corrected earlier in the project lifecycle. Performance bottlenecks discovered early can be reduced, as opposed to being discovered on the eve of delivery. Testing iteratively, as opposed to executing acceptance testing toward the end of the project, results in a more thoroughly tested product. And because critical functions have had many opportunities to be tested over several iterations, the result is more mature testing methodologies and higher quality software.
Learn, Improve, Foster Buy-In
An iterative approach provides opportunities for the entire project team to enhance their knowledge and skills throughout the project lifecycle, contributing to the ultimate success of the project. It provides more opportunities for lessons learned. Testing starts early, technical writing starts early, and developers start coding sooner. The result is a better system supported by better training and help materials, making for happier and more accepting end users. Lastly, the need for additional training or resources can be detected in early iteration assessment reviews. After all, why put off till tomorrow what is better accomplished today?
In lieu of the current technological paradigm, the benefits of agile development are both numerous and critically important. To foster long-term value and reduce the threats of project success, it pays to be flexible.
What benefits of agile software development do you see? How has agile development added value to your IT system?
About Sagitec Solutions:
Sagitec Solutions, LLC designs and delivers tailor-made pension, provident fund, and unemployment insurance software solutions to clients of all sizes. Sagitec has the expertise necessary to help their clients achieve strategic business objectives, enhance service offerings, and lower operating costs. Find further information by visiting http://www.sagitec.com. For more information, contact Rick Deshler at (651) 335-3406 or at rick.deshler@Sagitec.com.