Slideshow Gartner’s 10 Agile Software Development Tips

  • July 19 2015, 2:43pm EDT
12 Images Total

Gartner’s 10 Agile Software Development Tips

Actually, these are more than tips. Instead, Gartner has identified 10 guiding principles to help your organization succeed with agile software development. Take a look.

1. Agile is not one thing

"Agile development methodologies are a set of approaches to software development that share a common philosophy but are sharply distinguished in the details of their implementations," Gartner said. "They therefore tend to be adapted to different sorts of problems. Sophisticated organizations with a lot of experience may well use more than one of these approaches, but an organization that is getting started should select one approach and master it before attempting other approaches."

Content Continues Below

2. Agile is not a "pick'n mix" methodology

"Agile methods are highly systematic," Gartner said. "Every component element of the methodology is crucial to the success of the methodology. A common mistake is for an organization to embrace some elements of an agile methodology, such as the sprint, but to ignore or play down other elements, such as managing "technical debt." Such organizations enjoy the kudos that comes from rapid development and release of new code, but they are storing up trouble by failing to address technical debt."

3. Embracing agile is a joint business-IT activity

"The full benefits of agile cannot be achieved without engaging with business leaders, management and the user community," Gartner said. "If the rest of the business does not have an immediate appetite for working in a new way, careful planning and communication will be needed to bring different communities of managers and users on board."

4. With agile, it is important to walk before you try running

"Experienced agile practitioners can tackle large-scale developments — the equivalent of climbing Mount Everest," Gartner said. "But it takes many years to develop the necessary skills to be able to take on such large-scale software projects. Any organization that is starting out on the agile journey needs to start in the foothills to develop the confidence and competence to take on larger tasks."

Content Continues Below

5. Embracing agile is embracing continuous learning

"Agile practitioners must be committed to continuous improvement in quality and cost-effectiveness, which means that every development is analyzed for lessons that can be used to improve policies and working practices," said Gartner. "This analysis and learning are not the responsibility of a small number of senior practitioners; they are fundamental components of the workload of all agile practitioners. Furthermore, the learning is not just appropriate to the programmers who are directly involved in software development; it is also essential for all the related skills, such as project management, architecture, quality assurance and IT budget management."

6. Agile is about teams and teams of teams

"The basic organizational unit of delivery in agile development is a small team, typically expressed as "seven, plus or minus two" people — both developers and quality assurance," Gartner said. "From an HR perspective, managing agile teams involves walking a fine line between keeping productive teams together and moving individuals between teams to encourage cross-fertilization of ideas. If people are moved too frequently, the teams fail to develop into highly productive units; if people are not moved between teams enough, then each team starts to become isolated and diverges from the other teams. It is important to note that physical location of teams is much more important with agile methods than with conventional approaches to development."

7. Documenting, managing and eliminating technical debt is a core concept of all agile methods

"Technical debt is the difference between the state of a piece of software today and the state that it needs to be in to meet appropriate and necessary requirements for quality attributes such as reliability, performance efficiency, portability, usability, maintainability and security," said Gartner. "All development creates technical debt. The difference with agile methods is that technical debt is recognized and added to the backlog, not swept under the carpet. Any organization that seeks to embrace agile methods must put in place the necessary elements of the chosen method dedicated to ruthless refactoring and the elimination of technical debt."

Content Continues Below

8. Working with third-party development service providers on agile development demands special care and attention

"Many user IT organizations have a long history of outsourcing application development to specialist service providers," said Gartner. "While there is a role for service providers in agile development, it is a very different commercial model and a very different engagement model. Since colocation with business users is axiomatic to agile methods, the opportunities for sending large amounts of work offshore are somewhat limited, so some form of supplemental staffing is likely to be a more useful model."

9. The impact of agile goes well beyond the software development teams

"An integral component of the agile methodologies is the concept of 'continuous delivery,'" said Gartner. "Agile methodologies are predicated on continuous engagement with business managers and users, and lead to the delivery of a continuous stream of new and modified software into the operational environment. This demands significant changes in working practices for both business governance and relationship management and the infrastructure and operations teams."

10. Other software development methodologies will still have a place in your portfolio

"In most commercial and public sector organizations, the application portfolio will present many different classes of development problems, some of which will be well-suited to agile, while some may be better-suited to incremental, iterative development and some to a modified waterfall model," said Gartner. Agile is not "better"; it is simply better-adapted to some problems, but not so well-adapted to others."

Content Continues Below

Thanks and More

Thank you to Gartner for this list. For more information, see Gartner’s report: 10 Things the CIO Needs to Know About Agile Development. Also, check out additional galleries here.