Lengthy IT projects are more prone to fail than shorter ones. Agile development is one technique some organizations use to increase project success by shortening development cycles and rigorously enforcing closer ties, and communication, between developers and users.
To learn how Agile development improves IT project success, I met with OutSystems, which provides a software platform for helping companies run business web development projects using Agile. During the interview, CEO Paulo Rosado, and VP of Worldwide Marketing, Mike Jones, explained how Agile helps prevent IT failures.
According to Mike, Agile is an iterative process through which business users provide rapid feedback to software developers. By bringing users and developers closer than would otherwise be possible, Agile ensures that the technical team actively addresses business requirements:
Developers provide a working application at the end of a short time period, called a sprint, usually two weeks in our case, at the end of which business users can evaluate, provide feedback on, and change rapidly.... This iterative approach helps align IT and business users.
The following chart summarizes the Agile approach as defined by OutSystems:
Many organizations find the high skill level required of an Agile team to be a significant impediment to adopting the methodology. Paulo discussed this point:
Agile projects usually go [well] during tests because top-notch developers perform them. When trying to scale to the rest of the organization, projects hit problems such as not completing releases (sprints) on time. When it then becomes difficult to assemble the functionality needed to show the business users on time, projects start sliding into a waterfall model.
OutSystems' platform is designed to manage these issues, making it easier for organizations to scale the Agile process to less experienced developers.
Responsive end-user engagement is another critical component of Agile development that many organizations find challenging. In the podcast, Paulo described this issue:
Agile absolutely demands participation from the user base, so you need to have the business stakeholders available every two weeks for that one day, to see the demo, give you feedback, and help re-prioritize the backlog of development requirements.
To adopt the Agile process, an organization must address cultural relationships between business and technical stakeholders. While these issues can be challenging, Agile can improve success by bringing business and IT together. Paulo commented:
Agile helps you create a system that is much more aligned with what business users really need, instead of being aligned with what the business users told you they needed in the beginning, during the analysis phase.
To learn more about Agile, listen to the podcast for a more detailed discussion with two experts. If you're interested in why traditional projects fail and how Agile can reduce failure rates, this six-minute podcast is required listening.