Five benefits of agile practices in software-intensive systems development
For the past decade, agile methods have proved beneficial for helping Information Technology (IT) software teams deliver, on schedule, high quality software that satisfies stakeholder needs. Software teams pursue agile methods because they need a process that can respond efficiently to change to the product under development. Agile methods afford more flexibility compared to traditional plan-driven approaches, which lock in the project details early and are less able to adjust to stakeholders’ evolving needs, market changes, and unplanned technology challenges.
Five key business benefits of agile
1. Streamlined process overhead
Teams working to create products regulated by industry standards, including DO-178B, ISO 26262 and ISO 62304, must be able to demonstrate compliance with those standards. These types of teams often adopt considerable process overhead to ensure that they meet stringent code mandates. Agile methods can help them meet industry standards with less overhead using short, time-boxed iterations. The net benefit is a process that:
2. Improved quality
Agile development practices deliver just enough functionality to meet stakeholders needs with high quality. Consider delivering “just enough”: That is, deliver the minimal functionality with high quality. Minimal functionality does not imply poor functionality; it implies enough to get the job done. Stakeholders tend to believe they know what they want as they specify high-level requirements for an IT or software-intensive product. But most of the time, when they see the finished product it often does not quite solve the problem; they simply did not imagine the problem accurately, or the problem has changed, or the technology was not quite as promised, or the product does not actually work the way the stakeholder intended—even though they thought they described their requirements clearly. Developing in short, time-boxed iterations and demonstrating to stakeholders early and often enables teams and stakeholders to agree when the product has met each of the needs.
3. Improved predictability through better risk management
When development projects miss their release target dates, there are often many justifiable reasons. The team did not understand how hard the new technology would be to use; the requirements were not clear; the customers changed their minds after development was nearly finished. However, businesses demand that products meet shipping deadlines so that related business plans can be met. There are several ways that agile methods can help IT projects achieve release predictability.
Prioritizing risk: Agile practice prioritizes high-risk aspects of development enabling early risk reduction.
Parallel risk assessment: For risk areas where there might be multiple solutions and the team cannot agree on the right path, consider multi-set development. This requires that multiple teams work in parallel on solving the same problem with different solutions. Most teams will not even consider this approach because they are convinced that the time and cost required to do the parallel evaluation are too great. Parallel development of alternatives is likely to bring key decisions forward.
4. Improved productivity profile
Agile teams are more productive than teams using traditional methods throughout the development cycle. Traditional development often demonstrates a hockey-stick pattern of work, starting with a design cycle up front, moving into a prototyping phase, then a long development cycle, followed by an unpredictable cycle of integrating the pieces, and on to a final test phase. As the project progresses, teams have to work together more coherently and hope that all the pieces work together as expected. But this is rarely the case, so team interaction increases as integration problems are addressed, and ultimately the test phase gets squeezed. By working together as a whole team on vertical slices of the product from the beginning of the product cycle, the traditional hockey stick productivity cycle is avoided. Agile teams tend to be very productive from the first iteration throughout the release and their pace has to be managed so that burnout does not occur. Agile teams that maintain working code with every iteration enable performance and system testing to start in the earliest iterations as well. Critical defects such as integration issues are discovered sooner, the overall product quality is higher, and the team works productively throughout the development cycle.
5. Ability to leverage existing tooling investments
Adopting agile techniques successfully requires strong tool support. Most teams have already invested heavily in good software tools, and they need to leverage that investment and reduce the amount of change as they begin to adopt agile methods. The most critical investment is a good planning and work management tool that provides a visible team backlog and will associate work with each item in the backlog. Ideally, the planning tool integrates with other development tooling, which enables teams to maintain traceability from the backlog to other artifacts including:
Rational tools work well together and with other products to help successfully deliver agile projects. IBM Rational Team Concert™ is the core workflow and collaboration component of the IBM Rational solution for systems and software engineering. It provides a flexible Open Services for Lifecycle Collaboration (OSLC) interface that allows OSLC-enabled tools to integrate seamlessly. Rational Team Concert provides the team with proven, visible agile planning; its adoption for just that purpose has been viral within IBM Software Group. Rational Team Concert provides work item management, team planning associated with work, and project visibility, all critical elements in agile projects. Work items in Rational Team Concert are very flexible in their usage and can be associated with releases, teams, sub-work items and so forth.
Read the full whitepaper here: http
About the authorLeslie Ekas joined IBM through the FileNet acquisition. She came from a long history of developing, delivering, and managing the Enterprise Content Management product line. Leslie started practicing scrum project management and applying lean development techniques to improve the effectiveness of her teams at the end of 2006. In 2008, she became a coach in the IBM SWG Agile/Lean Center of Competence and helped teams within and outside of IBM to adopt lean and agile methods. In 2010 Leslie was the Worldwide Development Manager for Rational ClearCase. Now she is leading an effort in Tivoli to transform their integrated software delivery process to use Agile project management techniques to deliver customer value.