Agile Methodology in Large Enterprises
By Hamesh Chawla, VP of Engineering for Zephyr
The Agile methodology, once associated with smaller organizations of 8-10 employees, is now being adopted--and adapted--for large-scale enterprise development. The guiding principles of agile are to keep code simple, test often, and deliver working pieces of an application as soon as they're ready. How can companies take this approach and translate it to larger, enterprise-wide projects that need to scale across a wide variety of locations, lines of business, platforms and technologies? This article offers some simple and effective techniques to help scale agile methodology across project teams and entire enterprises.
Start with a MVP
Before beginning your scaling agile journey, it helps to know where you want to end up. Agile is all about short, flexible development cycles that respond quickly to customer demand. Continuous Delivery is a software development strategy that optimizes your delivery process to get high-quality software into the hands of your customers as quickly as possible. The notion of releasing a prototype, or minimum viable product (MVP), is crucial for getting early feedback. Once the MVP is released, you're then able to get feedback by tracking usage patterns, which is a way to test a product hypothesis with minimal resources right away. Every release going forward can then be measured for how well it converts into the user behaviors you want the release to achieve.
Create a Single Product Backlog
An agile product backlog is a set of tasks that must be finished before code can be released. Scaling agile successfully requires that, instead of each agile team having its own backlog, product managers or owners need to maintain a single project-wide backlog for all teams, so high-priority tasks always receive immediate attention. This way, any contributor (who can be individuals, teams, departments, or even outsourcing firms) can pull tasks at any time from the top of the backlog onto their to-do list.
Building a Collaborative Culture
In addition to having a group backlog, it's important to increase collaboration across organizational boundaries on large-scale agile projects, especially among analysts, developers and QA testers. A successful scaled agile project is made up of energized, self-organized teams that operate with a minimum amount of supervision. One small way to encourage this kind of teamwork is via "Three Amigos" meetings, which involve a product owner (or a business analyst), a developer and a QA tester who get together (either face-to-face or online) to review the requirements, tests and dependencies of a feature request on the backlog. This often means that the product owner or an analyst, as a representative of the business, will take the lead and ask a programmer and a tester to look more closely at a feature. In other cases, a programmer or tester may be the person initiating the meeting and setting the agenda. The advantage of Three Amigos meetings is they provide orthogonal views on the feature under discussion: the business representative will explain the business need; the programmer, the implementation details; and the tester offers opinions on what might go wrong.
Large-scale Agile Frameworks
When scaling agile, it's important to use an approach that makes the most sense for your entire IT organization. This may very well involve taking advantage of an appropriate large-scale agile frameworks and/or body of knowledge. There are three major frameworks for scaling agile software development for large enterprises that have the most traction nowadays among agile enthusiasts: the Scaled Agile Framework (SAFe), the Disciplined Agile Delivery (DAD), and Large Scale Scrum (LeSS). There are also a few other agile scaling approaches such as Scrum of Scrums (SoS) that rely on informal or "roll your own" training, which may be worth considering if your organization has unique requirements that none of these three approaches address. All three of the main scaling approaches offer multi-level training and certification, which make them attractive to enterprises wanting to expand a small agile group into an enterprise-wide practices and need formal guidance.
Training Courses and Certifications
The Scaled Agile Academy trains on Team, Program and Portfolio phases of SAFe with certifications for managers, executives, developers, testers, and consultants. For DAD, the Disciplined Agile Consortium trains for Disciplined Agilist, Certified Disciplined Agilist and Certified Disciplined Agile Coach. To learn more about LeSS, there is training for Certified LeSS Practitioner and Certified LeSS for Executives. Programs like Certified ScrumMaster or Professional ScrumMaster, help students to review basic Scrum knowledge. The more experience your organization has with Scrum and other lean and agile methodologies, the shorter your journey to scalable agile should be.