Scaling Agile
Total Page:16
File Type:pdf, Size:1020Kb
Editor: Christof Ebert SOFTWARE Vector Consulting Services TECHNOLOGY [email protected] Scaling Agile Christof Ebert and Maria Paasivaara From the Editor Agile software development has become mainstream. Industry-scale agility for distributed teams, large projects, or critical systems requires scaling agile prac- tices, which agile scaling frameworks attempt to provide. Here, Maria Paasivaara and I explore frameworks such as the Scaled Agile Framework (SAFe) and show best practices from two industry case studies. I look forward to hearing from both readers and prospective column authors about this column and the technologies you want to know more about. —Christof Ebert AGILE PRACTICES HAVE evolved Industry soon realized that criti- facilitate new business models and steadily. During the early ‘90s, Mi- cal systems need more than an agile scalable reuse across companies and crosoft invented most of what was manifesto. Industry-scale software industries. later called agile.1 Driven by the development typically doesn’t fit Again, these industry develop- fast-growing complexity of their with the heavy constraints of early ments require agile practices to be Windows and Office product suites, agile practices, such as Extreme scalable. However, scaling isn’t easy; Microsoft early on advanced con- Programming. Projects easily take large projects often are globally dis- cepts such as continuous build, several years and span teams world- tributed and have many teams that feature-driven teams, and the close wide. Global software engineering need to collaborate and coordi- connection of business needs with demands that agile practices be scal- nate. So far, proven models haven’t requirements and architecture flex- able.2–4 Safety-critical systems need been available. Empirical research is ibility. A key milestone was Inter- thorough documentation, once ne- missing on how to do a large-scale net Explorer, which Microsoft fully glected by agile proponents. agile transformation and what the redeveloped in the late ‘90s to al- In addition, business models results should look like. Here, we low for flexible, scalable evolution. in software-driven systems have provide an overview of agile scaling These practices found their way to evolved to flexible ecosystems. The frameworks. the early agile frameworks. The ini- classic functional split demanded by tial Agile Manifesto, based on the legacy-driven architectures has been A Look at Some Frameworks experiences of Microsoft, IBM, and replaced by a more service-oriented Agility in its early years was more others, primarily collected principles architecture and delivery model. often a dogma than a coherent yet and practices. The label “agile” was Recent technology trends, such flexible framework. At times, some a wonderful marketing stimulus and as three-tier cloud architectures, of the “gurus” preferred to fight immediately triggered hype, specifi- adaptive component frameworks, processes for the sake of revolu- cally regarding small teams and low- and connectivity for the Internet tion, rather than meeting industry risk products. of Things and Internet of Services, needs. Even today, developers and 2 IEEE SOFTWARE | PUBLISHED BY THE IEEE COMPUTER SOCIETY 0740-7459/17/$33.00 © 2017 IEEE SOFTWARE TECHNOLOGY Requirements Delivery and Requirements RequirementsDelivery and Requirements Delivery and Requirements Delivery and Requirements Delivery and Delivery and engineering industrialization engineering engineeringindustrialization engineeringindustrialization engineeringindustrialization engineeringindustrialization industrialization Architecture System Architecture ArchitectureSystem Architecture System ArchitectureSystem ArchitectureSystem System design integration design designintegration designintegration designintegration designintegration integration Components Component Components ComponentComponents ComponentComponents ComponentComponents ComponentComponents Component and services integration and services integrationand services integrationand services integrationand services integrationand services integration Hardware Hardware Hardware Hardware Hardware Software Software Software Software Software Services Services Services Services Services Hardware Software Services Classic V model for systems engineering: Agile scaling frameworks: • Goal: Collaborative development of safety- • Goal: Flexible collaboration across the lifecycle with adaptive critical functional components architectures and assured quality • Organically grown synchronization points • Full vertical abstraction layers with clear interfaces between hardware, software, and emerging and synchronization points services • Governance-oriented heavy processes with • Flexibility and agility while pertaining to quality demands insufficient flexibility and agility FIGURE 1. Agile scaling frameworks claim to provide a recipe for adopting agile at the enterprise scale. The classic V development model is evolving to a W model of continuous delivery. managers are puzzled by traditional needs. Organizations can use such fabulous success stories. However, agile themes such as “customer on frameworks to help achieve these few independent empirical studies board” or “software before docu- transitions: exist on how the frameworks work mentation.” Critical systems need in practice, what circumstances more meat in order to work flexibly • Business model—from static each framework suits best, and while considering product liability building and selling to dynamic what the challenges are and how to and governance needs. composing and continuous overcome them. The classic V development model delivery. Table 1 compares five agile frame- is evolving to a W-shaped model of • Governance—from simple IT works, which we selected on the ba- incremental development and con- systems and throwaway apps to sis of recent surveys and what we tinuous delivery, thus incorporating interwoven quality assurance see in industry usage. For example, typical agile practices (see Figure 1). with auditable product liability, in a recent survey, almost 30 percent The W model starts with agile plan- functional safety, cybersecurity, of the respondents said they used ning, which involves such things as privacy, and availability. the Scaled Agile Framework (SAFe) the frequency of deliveries, incre- • Process—from the V model with to provide scaled agility.5 Manag- ments, and the train of releases. heavy release cycles to scalable ers find it comfortable because it Then it proceeds to incremental de- agile processes. has plenty of role definitions, which sign, verification, and integration. • Competences—from silos of hasn’t been explicit in the classic Service-oriented architectures allow functional know-how to IT as a agile toolkits used in the past two adjusting to services and microser- core competence of all engineers. decades. On the other hand, many vices and evolving toward DevOps • Development—from compo- users perceive such a highly prescrip- practices, such as upgrade paradigms nents and functions to services. tive role-and-process scheme as over- during the operation of a system. A • Architecture—from localized fea- head and not any more agile. typical example is the over-the-air tures to service-oriented patterns Many practitioners consider SAFe upgrades of modern automotive on- with the convergence of embedded too heavy and complex.6 Like board infrastructures. electronics and open IT systems. CMMI in the past, it tries to in- Current approaches for scal- clude all best practices but doesn’t ing agile blend agile and lean The experience reports on these provide guidance on how to scale practices to address real industry frameworks’ home pages present down. Some even say that SAFe adds NOVEMBER/DECEMBER 2017 | IEEE SOFTWARE 3 SOFTWARE TECHNOLOGY Table 1. A comparison of five agile frameworks. Framework Lean Scalable Agility Scrum of Scrums Scaled Agile Large-Scale Scrum Disciplined Agile for Engineering Criteria (SoS) Framework (SAFe) (LeSS) Delivery (DAD) (LeanSAFE) Scope Software, hardware, Software Software Software Software, hardware, and systems; flexible and systems Differentiator Enables scrum for all Is complex, with Provides flexibility Is complex, with Works with critical situations and scales many artifacts, roles, by offering only coverage of many systems and guidelines suggestions models Underlying technology Scrum Scrum and other agile Scrum Scrum, lean Scrum, lean principles, lean Adoption Usage in many Usage in several Usage in several Usage has started Usage has started companies companies companies Scaling Is flexible and good Targets large Can be adapted to Can be adapted to Can be adapted to to adapt in different companies but is different settings different settings different settings settings perceived as heavy Complexity Low High Medium Medium Medium Cost Low High Medium Medium Low Globally distributed Feasible Feasible Feasible Difficult Feasible teams to bureaucracy, evolving to “the new customers, mostly communications release management team, or de- waterfall.” service providers, worldwide. Napa ployment team. At the portfolio Other agile frameworks, such provides software for designing and level, planning is often based on as Large-Scale Scrum (LeSS) and operating ships. epics that define large development Lean Scalable Agility for Engineer- SAFe is complex and provides a initiatives. The value stream level ing (LeanSAFE), have addressed this huge set of templates and process supports the development of large, high complexity.