7

Agile Product Delivery

“Specifically, you can take the time to develop and bring to the table an outside-in, market-centric perspective that is so compelling and so well informed that it can counterbalance the inside-out company-centric orientation of last year’s operating plan.”

—Geoffrey Moore, Escape Velocity

Agile product delivery is a customer-centric approach to defining, building, and releasing a continuous flow of valuable products and services to customers and users.

Why Agile Product Delivery?

Achieving business agility requires enterprises to improve their ability to deliver innovative products and services rapidly. Businesses, however, need to balance their execution focus with a customer focus to help assure that they are creating the right solutions, for the right customers, at the right time. These capabilities are mutually supportive and create opportunities to sustain market and service leadership. As illustrated in Figure 7-1, there are three dimensions to Agile product delivery.

Images

Figure 7-1. The three dimensions of Agile product delivery

  • Customer centricity and design thinking. Customer centricity puts the customer at the center of every decision. Applying design thinking ensures the solution is desirable, feasible, viable, and sustainable.

  • Develop on cadence, release on demand. Developing on cadence helps manage the variability inherent in product development. Decoupling the release of value from the development cadence ensures customers can get what they need when they need it.

  • DevOps and the continuous delivery pipeline. DevOps and the Continuous Delivery Pipeline (CDP) create the foundation that enables enterprises to release value, in whole or in part, at any time to meet customer and market demand.

Each dimension of Agile product delivery is described in the following sections.

Customer Centricity and Design Thinking

Customer centricity and design thinking comprise the first dimension of Agile product delivery. This mindset and way of doing business puts the customer first, at the core of the enterprise, to provide positive customer experiences and to build long-term relationships. As a result, customer-centric businesses typically increase employee engagement and more thoroughly satisfy customer needs.

Teams apply design thinking to ensure products and services that Agile Release Trains (ARTs) create are desired by customers and users while confirming that the solution is feasible, economically viable, and sustainable throughout its life cycle.

Customer Centricity

Whenever a customer-centric enterprise makes a decision, it deeply considers the effect it will have on its end users.1 This thinking motivates teams to do the following:

  • Focus on the customer. Apply market and user segmentation to align and focus on specific, targeted groups based on common characteristics.

  • Understand the customer’s needs. Invest the time to identify and truly understand customer needs and build solutions that address those needs.

  • Think and feel like the customer. Be empathetic and see the world from the customer’s viewpoint.

  • Build whole-product solutions. Design a complete solution for the user’s needs, ensuring that the initial and long-term experiences of the customer are optimal and evolve as needed.

  • Create customer lifetime value. Move beyond a transactional mindset, where customers do a one-time exchange of money for a product. Instead, focus on the lifetime value of a customer. The resulting long-term engagement from this approach enables businesses to create added customer value, often in ways that were not anticipated when the solution was first released.2

1. Don Norman, The Design of Everyday Things (Doubleday, 1990).

2. Alexander Osterwalder, Yves Pigneur, Gregory Bernarda, and Alan Smith, Value Proposition Design: How to Create Products and Services Customers Want (Wiley, 2014).

Design Thinking

Design thinking represents a profoundly different approach to product and solution development, in which divergent and convergent techniques are applied to understand a problem, design a solution, and deliver it to the market.

Design thinking simultaneously considers what is desirable from a human point of view, what is technologically feasible, and what is economically viable to create sustainable solutions.3 It has three main activities, as shown in Figure 7-2.

3. https://designthinking.ideo.com/resources

Images

Figure 7-2. Design thinking activities

  1. Understand the problem. The first diamond in Figure 7-2 helps teams truly understand, rather than simply assume, what problem they are trying to solve. It involves spending time with people who are affected by the problem, exploring different aspects of it, and, indeed, sometimes discovering other, more critical problems that can be addressed. This part of the process provides insight into the requirements and benefits of a desirable solution.

  2. Design the right solution. The second diamond encourages the product team to explore different ways to address the problem, including seeking inspiration from elsewhere and co-designing with a range of different people while collaborating internally to build a technically feasible solution. Delivery involves testing various alternatives on a small scale, rejecting those that will not work, and improving the ones that will.

  3. Validate that the solution is sustainable. To better assure economic success (SAFe Principle #1), teams understand and manage solution economics to ensure that the product or solution will return more value or revenue than the cost to develop and maintain it.

Each diamond focuses on both divergent and convergent thinking. During divergence, choices are being created (understanding, exploring), while during convergence (evaluating options), decisions are being made.4 While presented as a sequential flow, in practice design thinking is an iterative, nonlinear process. New insights and learnings may require returning to an earlier step in the process. Feedback from the actual use of products and services may also motivate a new cycle of design thinking.

4. https://designthinking.ideo.com/blog/what-does-design-thinking-feel-like

Design thinking embraces the reality that the likelihood of creating a perfect product on the first release is slim. Instead, design thinking provides the tools to help teams navigate their path to success by focusing on the intersection of desirability, feasibility, and viability. And of course, the product must be sustainable by the business. In other words, design thinking measures success by these attributes:

  • Desirable. Do customers want this?

  • Feasible. Can we actually build it?

  • Viable. Should we build it?

  • Sustainable. Are we managing the product so that it returns profit or value to the business over its life cycle?

Moreover, design thinking is not a ‘once-and-done’ approach. In today’s fast-moving digital world, no idea is ever truly complete. Successive applications of design thinking incrementally advance the solution over its product life cycle.

In the following sections, we’ll explore some of the useful tools that teams use to apply customer centricity and design thinking.

Market and User Research

The foundation of customer centricity and design thinking consists of market and user research, which creates actionable insights into the problems customers face and the solution’s functional and operational requirements. Market research tends to drive strategy (who we are serving), while user research primarily drives design (how we meet their needs) (Figure 7-3).

Images

Figure 7-3. Market and user research explore different aspects of the problem and solution space

Research activities occur continually and are supported through exploration in the CDP, product data analytics, and various feedback loops. Learning gained during market and user research also defines the solution context—the operational environment for a solution—which provides a basic understanding of requirements, usage, installation, operation, and support of the solution itself.

Conducting market research also helps determine the nature of the solution context. This context is primarily determined by whether the product is: 1) a general solution intended to be used by a significant group of customers or 2) a custom-built solution that is built and designed for a specific customer.

Understanding the solution context identifies external constraints that are often outside the organization’s control. Some aspects of solution context are variable (undecided or negotiable), and some are fixed (decided), and finding ways to manage this balance is crucial to value delivery. It impacts development priorities, and solution intent such as features, and Non-Functional Requirements (NFRs).

Identify the Personas, Problems, and Goals

Supported by market research, the next critical aspect of design thinking is to understand who will benefit from the product’s design. This information is captured by establishing personas, fictional characters (Figure 7-4) that represent different customer types that will similarly use the product. Personas help understand and empathize with the end users’ problems, experiences, behaviors, and goals.

Images

Figure 7-4. Personas drive key design activities

Refine Personas and Establish Empathy

To further enhance the development of desirable solutions, customer-centric enterprises use empathy throughout the design process. Empathy maps (Figure 7-5) are design thinking tools that help teams imagine what a specific customer is thinking, feeling, hearing, and seeing as they do their daily jobs and use the product. The higher the degree of empathy that a team has for its customers, the more likely the team will be able to design a desirable solution. In turn, empathy maps help refine the personas.

Images

Figure 7-5. Empathy map canvas

Customer Journey Maps

Customer journey maps identify the process that a person goes through to accomplish a goal5 (Figure 7-6). They illustrate the experiences that customers have as they navigate a product from first engagement to achieving their objectives and thereby establish a positive and long-term relationship with the brand.

5. https://www.nngroup.com/articles/journey-mapping-101/

Images

Figure 7-6. Customer journey map for a consumer loan

Story Maps

Story maps are an approach to organizing and prioritizing stories (Figure 7-7). They make the users’ workflow explicit and visible and show the relationships between user activities and the solution’s features and stories required to implement them. Story maps also help prioritize a group of related stories and ensure a conceptually complete set of system behavior is released together.6

6. https://www.jpattonassociates.com/storymappingslides/

Images

Figure 7-7. User story maps establish a relationship between user activities and features and user stories

Improving Design Feedback Through Prototypes

Prototyping creates functional models that provide initial validation of how a solution will potentially address the problem to be solved. They can be anything from paper drawings or mockups to a fully functioning aspect of the solution.

Prototyping helps the team clarify their understanding of the problem and reduces the risk of solution development. These mockups or models can be used for getting fast feedback or gaining clarity of the requirements for the desired feature or solution and new intellectual property and patent filing.

To gain actionable feedback, teams should strive to leverage the lowest-cost, fastest form of prototyping that best suits the learning in each situation.

Develop on Cadence, Release on Demand

The second dimension of Agile product delivery is to develop on cadence but release on demand. This dimension helps customer-centric enterprises offer a continuous flow of value to the market and customers (Figure 7-8).

Images

Figure 7-8. Develop on cadence and release on demand

As described in Principle #7, applying cadence to development makes routine what can be routine and increases predictability of the inherently uncertain nature of product development. However, the timing of releases is a different matter. Release timing and frequency are determined by market and customer needs and the economics of value delivery. Some enterprises may release frequently (continuously, hourly, daily, weekly), while others may be constrained by compliance requirements or other market rhythms that motivate less frequent releases. Collectively, the Scaled Agile Framework (SAFe) refers to these capabilities as release on demand.

The Program Increments (PIs) shown in Figure 7-8 are a larger timebox, a planning interval that consists of multiple iterations during which a team of Agile teams (an ART) delivers incremental value in the form of working, tested solutions. PIs are typically established as fixed 8- to 12-week periods, comprised of three to five development iterations, followed by one Innovation and Planning (IP) iteration. Shorter PIs are often employed when the market is more dynamic. Releasing can happen at any time during a PI, and at any frequency.

Program Backlog

The work of a train is defined by the program backlog, which consists of upcoming features intended to address user needs and deliver business benefits.

A feature is a distinctive characteristic of a product or service that fulfills a stakeholder need. Product Managers, in collaboration with Product Owners and other key stakeholders, define them in the local context of an ART. They are sized to be delivered in a single PI or less and are specified using a Features And Benefits (FAB) matrix (Figure 7-9).

  • Feature. A short phrase giving a name with context.

  • Benefit hypothesis. The proposed measurable benefit to the end-user or business.

Images

Figure 7-9. FAB matrix

Enabler features are technical investments that create the architectural runway to support future business functionality. The program Kanban (see later in this chapter) is used to maintain enablers alongside business features. It promotes a healthy balance with all the work needed to both develop and maintain the solution. Feature acceptance criteria are typically defined during program backlog refinement.

The backlog is ‘anchored’ by NFRs that help ensure the usability and effectiveness of the system. NFRs define system attributes such as security, reliability, and scalability, and they serve as constraints on system design. Failing to meet any of them can result in systems that do not meet business, user, or market needs, or other requirements that may be imposed by regulatory or standards bodies. Unlike features, they do not enter and leave the backlog when done; instead, they are persistent qualities and restrictions that govern all new development.

Prioritizing the Program Backlog

Product Management has the primary responsibility for developing and maintaining the backlog and for making decisions regarding the sequence in which to implement features. SAFe applies a comprehensive model called Weighted Shortest Job First (WSJF) to prioritize work based on the economics of product development flow.7 WSJF is calculated by dividing the Cost of Delay (CoD) of a job by the duration. Jobs that can deliver the most value (or CoD) in the shortest period are typically selected first for implementation.

7. Don Reinertsen, Principles of Product Development Flow: Second Generation Lean Product Development (Celeritas Publishing, 2009).

In SAFe, the ‘jobs’ are the features in the backlog. Since it’s rarely possible to determine their duration before they are planned for implementation, SAFe typically uses relative job size as a proxy for the duration. Relative proxy measures are also applied for the CoD based on three components, as shown in Figure 7-10.

Images

Figure 7-10. CoD has three primary components

Using a simple table to compare jobs, WSJF is calculated for each feature (Figure 7-11). Unless there are sequencing dependencies between the jobs, the features with the highest scores are implemented first.

Images

Figure 7-11. A table for calculating WSJF

Each feature is estimated relative to the others for each of the three components of CoD and job size. The smallest item in each column is set to ‘one,’ and the others in that same column are estimated relative to that one. The CoD is the sum of the first three attributes for each item. WSJF is calculated as CoD divided by job size. The job with the highest WSJF is the next most important one to do.

Executing PI Events

As we will describe shortly, the backlog is implemented and delivered by the activities of the CDP. As illustrated in Figure 7-12, developing on cadence is supported by a series of additional cadence-based events during each PI.

Images

Figure 7-12. Events that support PI execution

The following sections describe each of these events.

PI Planning

“The people who do the work, plan the work.”

—A SAFe tenet

PI planning is a cadence-based event that serves as the heartbeat of the ART, aligning all the teams on the ART to a shared mission and vision (Figure 7-13). PI planning is held face-to-face whenever possible. For geographically distributed ARTs, PI planning may occur at multiple locations simultaneously by maintaining constant audio and video communication between all sites. In some circumstances, like the COVID-19 crisis that is ongoing at the time of this writing, PI planning is fully distributed. The advanced topic article “Distributed PI Planning with SAFe”8 provides additional guidance and considerations for successfully managing this scenario.

8. https://www.scaledagileframework.com/distributed-pi-planning/

Images

Figure 7-13. Face-to-face PI planning. Remote teams are planning at the same time using video conferencing

Facilitated by the Release Train Engineer (RTE), PI planning includes all members of the ART. It typically takes place over two days and occurs within the IP iteration, which avoids affecting the schedule and capacity of other iterations. PI planning is essential to SAFe: if you are not doing it, you are not doing SAFe.

Business Benefits of PI Planning

PI planning delivers many business benefits, including:

  1. Aligning development to the business context and goals, vision, and team and ART PI objectives

  2. Building the social network the ART depends upon

  3. Identifying dependencies and fostering cross-team and cross-ART collaboration

  4. Providing the opportunity for ‘just in time’ and ‘just the right amount’ of requirements, design, architecture, and user experience guidance

  5. Matching demand to capacity and eliminating excess Work in Process (WIP)

  6. Faster decision-making. All the relevant parties are focused on the same objectives and can consider and make necessary tradeoffs in real time

Inputs and Outputs of PI Planning

Inputs to PI planning include the business context, roadmap and vision, and the top ten features of the program backlog. Outputs of PI planning include the following:

  • Committed PI objectives . A set of SMART9 objectives that are created by each team with a business value assigned by the Business Owners.

  • Program board. It highlights feature delivery dates, dependencies between teams, and relevant milestones.

9. SMART is an acronym for Specific, Measurable, Achievable, Realistic, and Time-bound.

Conducting PI Planning

The RTE facilitates PI planning, and event attendees include Business Owners, Product Management, Agile teams, System Architecture and Engineering, the System Team, and other stakeholders, all of whom must be well prepared. The active participation of Business Owners in this event provides an essential guardrail for prioritization of business value. Figure 7-14 illustrates a typical standard two-day PI planning agenda.

Images

Figure 7-14. Standard two-day PI planning agenda

Day 1 Agenda
  • Business context. A Business Owner or senior executive describes the current state of the business, shares the portfolio vision, and presents a perspective on how effectively existing solutions are addressing current customer needs.

  • Product vision . Product Management presents the current vision (typically represented by the next top 10 upcoming features) and highlights any changes from the previous PI planning meeting, as well as any upcoming milestones.

  • Architecture vision and development practices. System Architecture and Engineering (typically a CTO, or Enterprise Architect) presents the vision for architectural changes and a senior development manager may introduce new or revised Agile development practices for the upcoming PI (e.g., such as introducing test-driven development or adjusting the CI/CD pipeline).

  • Planning context and lunch. The RTE presents the planning process and expected outcomes of the event.

  • Team breakouts #1. In the first breakout, teams estimate their capacity for each iteration and identify the backlog items they will likely need to realize the features. Each team creates their draft plans, visible to all, iteration by iteration.

During PI planning a program board (Figure 7-15) is used to visualize and track dependencies and to identify opportunities to eliminate or reduce them.

Images

Figure 7-15. Program board showing features and dependencies

  • Draft plan review. During the timeboxed draft plan review, teams present key planning outputs, which include capacity and load, draft PI objectives, potential risks, and dependencies. Business Owners, Product Management, and other teams and stakeholders review and provide input.

  • Management review and problem-solving. It’s almost certain that the draft plans have identified challenges associated with scope, people and resource constraints, and dependencies. During the problem-solving meeting, management may negotiate scope changes and resolve other problems by agreeing to various planning adjustments.

Day 2 Agenda
  • Planning adjustments. The next day begins with management presenting any changes to prioritization, planning scope, people, and resources.

  • Team breakouts #2. Next, teams continue planning based on their agenda from the previous day, making the appropriate adjustments. They finalize their objectives for the PI, to which the Business Owners assign business value, as shown in Figure 7-16.

    Images

    Figure 7-16. A team’s PI objectives sheet with assigned business value

  • Final plan review and lunch. During this session, all teams present their plans to the group. The team then asks the Business Owners if the plan is acceptable. If the Business Owners have concerns, teams are given the opportunity to adjust the plan as needed to address the issues identified. The team then presents their revised plan.

  • Program risks. During planning, teams have identified program risks and impediments that could impact their ability to meet their objectives. These are addressed in front of the whole train and categorized into one of the following ROAM categories:

    • Resolved—The teams agree that the risk is no longer a concern.

    • Owned—Someone on the train takes ownership of the risk since it cannot be resolved during PI planning.

    • Accepted—Some risks are just facts or potential problems that must be understood and accepted.

    • Mitigated—Teams identify a plan to reduce the impact of the risk.

  • Confidence vote. Once program risks have been addressed, teams vote on their confidence in meeting their team PI objectives. Each team conducts a ‘fist of five’ confidence vote. If the average is three fingers or above, then management should accept the plan. Any person voting two or fewer should be given an opportunity to voice their concerns. This might add to the list of risks, require some re-planning, or simply be informative. Once each team has voted the process is repeated for the entire ART with everyone expressing their confidence in the collective plan.

  • Plan rework. If necessary, teams rework their plans until a high confidence level can be reached. This is one occasion where alignment and commitment are valued more highly than adhering to a timebox.

  • Planning retrospective and moving forward. Finally, the RTE leads a brief retrospective for the PI planning event to capture what went well, what didn’t, and what can be done better next time.

Over the course of the program increment, the ART proceeds to execute the PI, track progress, and adjust plans as needed to adapt as new learning occurs. Execution of the PI begins with all the teams conducting planning for the first iteration, using their PI plans as a starting point.

Scrum of Scrums and Product Owner Sync (ART Sync)

After PI planning, the RTE typically facilitates weekly (or more frequently, as needed) SoS and Product Owner sync events. The SoS helps coordinate the dependencies of the ARTs and provides visibility into progress and impediments. The RTE, Scrum Masters, and others (where appropriate) meet to review their progress toward milestones and PI objectives, as well as dependencies among the teams. The event is timeboxed for 30–60 minutes and is followed by a ‘meet after’ where individuals who need to resolve specific problems or questions can remain behind. Figure 7-17 shows a suggested agenda for the SoS event.

Images

Figure 7-17. ART sync, Scrum of Scrums, and PO sync

Like the SoS, Product Owners and Product Management often hold a Product Owner sync. This event typically occurs weekly, or more frequently, as needed. The Product Owner sync is also timeboxed (30–60 minutes) and includes a meet after discussion. Sometimes the SoS and Product Owner sync are combined into one event, referred to as an ‘ART sync’ (Figure 7-17).

System Demo

A system demo is a significant event that occurs at the end of each iteration, which provides fast feedback about the effectiveness, usability, and releasability of the system (Figure 7-18). It offers an integrated view of the new features delivered by the ART over the past iteration, providing a fact-based measure of system-level progress and velocity within the PI.

Images

Figure 7-18. The system demo

This demo is done in a production-like environment (often staging) to receive feedback from stakeholders. It helps ensure that integration between teams on the same ART occurs regularly and that the emergent behavior of the full system can be evaluated. These stakeholders include the teams, Business Owners, executive sponsors, development management, and customers (or their proxies) who provide input on the fitness for purpose for the solutions being developed. The feedback is critical, as only they can give the guidance the ART needs to stay on course or make adjustments.

Prepare for the Next PI Planning Event

While we note this activity as a PI event, in reality, preparing for the upcoming PI is an ongoing process, with three primary focus areas.

  • Alignment and organizational readiness for planning

  • Backlog and content readiness

  • Facility readiness—the actual logistics for the event

Since any one of these items can interfere with the potential outcome—a committed PI plan—careful consideration and planning is required for all three focus areas.

Inspect and Adapt

The I&A is a significant event held at the end of each PI, just prior to the next planning. It consists of three parts.

  1. PI system demo. This demo is a little different from the regular system demos because it shows all the features that the ART has developed throughout the PI. During this demo, Business Owners collaborate with each team to agree on the actual business value achieved for their specific PI objectives.

  2. Quantitative and qualitative measurement. Teams collectively review any quantitative and qualitative metrics they have decided to collect and then discuss the data and trends. One primary measure is the program predictability measure. The RTE summarizes the planned versus actual business value for each team’s PI objectives to create the overall program predictability measure.

  3. Retrospective and problem-solving workshop. The ART runs a brief retrospective, the goal of which is to identify a few significant issues they would like to resolve. For addressing systemic problems, a structured, root-cause problem-solving workshop is then used to determine the actual root causes of a problem. The result is a set of improvement backlog items that go into the program backlog to be addressed during PI planning.

DevOps and the Continuous Delivery Pipeline

The third dimension of Agile product delivery is DevOps and the CDP. The capability to release reliably and with high quality, whenever the market or customer demands, requires embracing the DevOps mindset and culture and creating an automated CDP.

Embracing DevOps Mindset, Culture, and Practices

As digital disruption continues to change the world and as software plays a more significant role in every company’s ability to deliver and support its products and services, enterprises need to react faster to customer demands with digital solutions.

Popularized by The Phoenix Project10 and The DevOps Handbook,11 the DevOps movement seeks to better align development, operations, the business, information security, and other areas by sharing the work and responsibility for accelerating delivery.

10. Gene Kim, The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win, Kindle Edition (IT Revolution Press, 2018).

11. Gene Kim, Jez Humble, Patrick Debois, and John Willis, The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations (IT Revolution Press, 2016).

DevOps is the adoption of a mindset, culture, and set of practices that provide solution elements to the customer without handoffs and without requiring excessive production or operations support.

SAFe’s CALMR approach (Figure 7-19) to DevOps is grounded in five concepts: Culture, Automation, Lean flow, Measurement, and Recovery.

Images

Figure 7-19. A CALMR approach to DevOps

  • Culture represents the philosophy of shared responsibility for fast value delivery across the entire value stream.

  • Automation represents the need to remove as much human intervention from the pipeline as possible to decrease errors and reduce the cycle time of the release process.

  • Lean flow identifies the practices of limiting WIP, reducing batch size, and managing queue lengths (SAFe Principle #6).

  • Measurement fosters learning and continuous improvement by understanding and quantifying the flow of value through the pipeline.

  • Recovery builds systems that allow fast fixes of production issues through automatic rollback and fix-forward (in production) capabilities.

DevSecOps

DevOps, however, isn’t merely about development and operations. In the past, a specific group was dedicated to security testing toward the end of implementation. This practice was less of an issue when phase-gated development cycles lasted months or years. Today, outdated security practices can undo even the most efficient DevOps initiatives and have unacceptably high social and financial costs. It has become so critical that many use the phrase ‘DevSecOps’ to emphasize how essential it is to integrate security into the CDP.

The Continuous Delivery Pipeline

The CDP represents the workflows, activities, and automation needed to guide a new piece of functionality from ideation to an on-demand release of value to the end-user. As illustrated in Figure 7-20, the pipeline consists of four aspects: Continuous Exploration (CE), Continuous Integration (CI), Continuous Deployment (CD), and Release on Demand (RoD).

Images

Figure 7-20. The SAFe continuous delivery pipeline

Each ART builds and maintains, or shares with other ARTs, a pipeline with the assets and technologies needed to deliver solution value as independently as possible. The first three elements of the pipeline (CE, CI, and CD) work together to support the delivery of small batches of new functionality, which are then released to meet market demand.

Continuous Exploration

CE fosters continuing research and alignment on what should be built. Design thinking continually explores market and customer needs and defines a vision, roadmap, and a set of features that meets those needs. During this period, new ideas are raised, refined, and prepared as a list of prioritized features in the program backlog. During CE planning, features are pulled into implementation, which begins the continuous integration process.

There are four main CE activities described in SAFe (Figure 7-21):

  • Hypothesize describes the practices necessary to identify ideas and the measurements needed to validate them with customers.

  • Collaborate and research describes the practices required to work with customers and stakeholders to refine the understanding of potential needs.

  • Architect describes the practices necessary to envision a technical approach that enables quick implementation, delivery, and support of ongoing operations.

  • Synthesize describes the practices that organize the ideas into a holistic vision, a roadmap, and a prioritized program backlog, and it supports final alignment during PI planning.

Images

Figure 7-21. Continuous exploration activities

Continuous Integration

CI builds quality into the development process by continuously integrating the ongoing work of many Agile teams. All work is version controlled, and new functionality is developed and integrated into a full system or solution. It’s then validated in a suitable staging environment that ranges from cloud-based software systems to physical devices and device simulators.

SAFe describes four activities associated with continuous integration (Figure 7-22):

  • Develop describes the practices necessary to implement stories and commit the code and components into the trunk.

  • Build describes the activities needed to create deployable binaries and merge the development branches into the trunk.

  • Test end-to-end describes the methods necessary to validate the solution.

  • Stage describes the required practices to host and verify the system in a staging environment before production.

Images

Figure 7-22. Continuous integration activities

Continuous Deployment

CD captures the processes associated with moving solutions through staging into production environments. As with continuous integration, this varies substantially based on the kinds of solutions created and their solution context. Ensuring solutions are ready for customers requires deployment and monitoring to provide flexibility in controlling releases, rolling back a version, or installing incremental updates and patches.

CD consists of four key activities in SAFe (Figure 7-23):

  • Deploy to production describes the practices necessary to deploy a solution to a production environment.

  • Verify the system represents the practices needed to make sure the changes operate in production as intended before they are made available to customers.

  • Monitor for problems describes the practices to monitor and report on any issues that may arise in production.

  • Respond and recover describes the activities to rapidly remedy any problems that happened during deployment.

Images

Figure 7-23. Continuous deployment activities

Release on Demand

As we described, RoD is the ability to make new functionality available to customers all at once or incrementally based on market and business needs. SAFe describes four RoD practices (Figure 7-24):

  • Release describes how to deliver the solution to end users all at once or incrementally.

  • Stabilize and operate describes the process needed to make sure the system is working well from a functional and nonfunctional perspective.

  • Measure describes the practices necessary to quantify whether the newly released functionality provides the intended value.

  • Learn describes how to decide what should be done with the information gathered and prepare for the next loop through the CDP.

Images

Figure 7-24. Four activities of RoD

RoD is critical to business agility, as the decisions of what to release to whom and when are vital business drivers. Release management provides governance for any upcoming scheduled or ad hoc releases. In a continuous delivery environment, participants closely monitor the release section of the program Kanban. This oversight ensures that items are released when needed to the right customers, that dark launches and canary releases are well managed, that hypotheses are evaluated, and that feature toggles are removed after production verification.

The Program Kanban

The program Kanban facilitates the flow of features through the CDP. Figure 7-25 illustrates a typical program Kanban with Work In Process (WIP) limits governing each state.

Images

Figure 7-25. A typical program Kanban

New ideas begin with continuous exploration and may originate locally from the ART or an upstream Kanban system (e.g., solution or portfolio Kanban). Product Management and System Architects and Engineering manage this Kanban. The following states describe its flow:

  • Funnel. All new ideas are welcome here. They may include new functionality, enhancement of the existing system functions, or enabler work.

  • Analyzing. New ideas that align with the vision and support the strategic themes are further explored by Agile teams when they have available capacity. Analysis and refinement include the collaboration to turn an idea into one or more features with descriptions, business benefit hypotheses, acceptance criteria, and estimated story points.

  • Program backlog. The highest-priority features analyzed and approved advance to this state and await implementation. Feature estimates and acceptance criteria are also refined here.

  • Implementing. At every PI boundary, the ART pulls the top features from the program backlog and moves them into the implementing state. Through the PI planning process, they get split into stories, planned into iterations, and subsequently implemented by teams during the PI.

  • Validating on staging. During each iteration, features are integrated and tested with the rest of the system in a staging environment. Approved features move to the ‘ready’ part of this state, where they are prioritized again using WSJF and await deployment.

  • Deploying to production. When capacity becomes available for deployment activities (or immediately in a fully automated continuous delivery environment), the feature is moved to production. In systems that separate deployment from release, they are placed in the ‘ready’ part of this state. This state is WIP limited to avoid the buildup of features that are deployed but not yet released.

  • Releasing. When there is sufficient value, market needs, and opportunity, features are released to some or all the customers, where the benefit hypothesis can then be evaluated. Although the feature moves to the ‘done’ state, new work items may be created based on the learning gathered.

The Kanban system described here is a good starting point for most ARTs. However, it should be customized to fit the ART’s process, including the definition of WIP limits and the policies for each process state.

Program Epic Kanban System

ART initiatives that are simply too big to be completed in a single PI are called program epics. Also, some portfolio epics may need to be split into program epics to facilitate incremental implementation. Program epics may affect financial, human, and other resources that might be large enough to warrant a Lean business case, discussion, and financial approval from Lean Portfolio Management (LPM). Epics whose estimates exceed the established epic threshold will require review and approval.

Approving significant initiatives is one of the four critical Lean budget guardrails (see Chapter 9, Lean Portfolio Management, for more details).

Program Increment Roadmap

A PI roadmap is used to forecast the flow of work from the backlog (Figure 7-26). It consists of a series of planned PIs with identified milestones and releases. Each element on the roadmap is a feature scheduled to be completed within a particular PI. The PI roadmap may also reflect fixed-date and learning milestones occurring during that period. Releasing functionality can occur at any time during the PI.

Images

Figure 7-26. An example PI roadmap for an autonomous delivery vehicle

The roadmap in Figure 7-26 covers three PIs, which is typically sufficient to communicate a forecast to stakeholders, including the business and partners.

Market Rhythm and Events Inform the Roadmap

To create the highest value for all stakeholders, customer-centric organizations leverage market rhythms and market events to inform the roadmap.12 Simply put, the benefits of a solution can vary significantly based on when it’s released.

12. Luke Hohmann, Beyond Software Architecture: Creating and Sustaining Winning Solutions (Addison-Wesley, 2003).

  • A market rhythm is a set of events that repeatedly occur on a predictable cadence. For example, retailers routinely prepare for the holiday shopping season by upgrading their systems to gain a competitive edge and to support significantly higher transaction volumes.

  • A market event is a one-time future event, which has a high probability of materially affecting one or more solutions. They can be external, such as the launch of government regulations, or they can be internally created, such as a company’s annual user conference.

Summary

Businesses need to balance their execution focus with a customer focus to help assure that they are creating the right solutions, for the right customers, at the right time. Agile product delivery is grounded in customer centricity, which puts the customer at the center of every decision. It uses design thinking to ensure the solution is desirable, feasible, viable, and sustainable.

Developing on cadence helps manage the variability inherent in product development. Release on demand decouples the release and development cadence to ensure customers can get what they need when they need it. DevOps and the CDP create the foundation that enables enterprises to release value, in whole or in part, at any time to meet customer and market demand.

The result of Agile product delivery is enhanced business agility with superior outcomes for the enterprise and the customers it serves.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.149.243.106