Reader small image

You're reading from  Agile Model-Based Systems Engineering Cookbook Second Edition - Second Edition

Product typeBook
Published inDec 2022
PublisherPackt
ISBN-139781803235820
Edition2nd Edition
Right arrow
Author (1)
Dr. Bruce Powel Douglass
Dr. Bruce Powel Douglass
author image
Dr. Bruce Powel Douglass

Dr. Bruce Powel Douglass, Ph.D. has deep and broad expertise as a result of over 40 years' experience designing safety-critical real-time systems in a variety of hard real-time environments. He is one of the authors of both the UML and SysML standards, and author to over 6000 book pages from a number of technical books including The Harmony aMBSE Deskbook, Agile Systems Engineering, Real-Time UML, Real-Time UML Workshop for Embedded Systems, Real-Time Design Patterns, Doing Hard Time, Real-Time Agility, and Design Patterns for Embedded Systems in C. Many presentations, papers, models, designs, and more can be found on his website. He is currently the Senior Principal Agile Systems Engineer at the MITRE Corporation.
Read more about Dr. Bruce Powel Douglass

Right arrow

Release plan

While the product roadmap is strategic in nature, the release plan is more tactical. The product roadmap shows the timing of release goals, high-level product capabilities, and epics that span multiple iterations, but the release plan provides more detail on a per-iteration basis. The product roadmap has a longer planning horizon of 12–24 months while a release plan is more near-term, generally three to nine months. This recipe relies on the Managing your backlog recipe that appears earlier in this chapter.

Purpose

The purpose of the release plan is to show how the product backlog is allocated to the upcoming set of iterations and releases over the next three to nine months.

Inputs and preconditons

The product vision and roadmap are sketched out and a reasonably complete product backlog has been established, with work items that can fit within a single iteration.

Outputs and postconditions

The release plan provides a plan for the mapping of work items to the upcoming set of iterations and releases. Of course, the plan is updated frequently – at least once per iteration – as work is completed and the depth of understanding of the product development increases.

How to do it

Epics and high-level goals need to be decomposed into work items that can be completed within a single iteration. Each of these work items is then prioritized and its effort is estimated. The release plan identifies the specifically planned iterations, each with a mission (as shown in Figure 1.4). There is some interplay between the missions of the iterations and the priority of the work items. The priority of a work item might be changed so that it is completed in the same iteration as a set of related work items.

Once that has been done, the mapping of the work items to the iterations can be made. The mapping must be evaluated for reasonableness and adjusted until the plan looks both good and achievable. This workflow is shown in Figure 1.21:

Figure 1.21: Release planning

Identify epics’ high-level goals

If you’ve done a product roadmap (see the Product roadmap recipe), then you are likely to already have established the epics and high-level goals (themes) for the product. If not, see the recipe for how to do that.

Decompose epics

Epics are generally too large to be completed in a single iteration, so they must be decomposed into smaller pieces – use cases and technical work items, and possibly user stories and scenarios – that can be completed within a single iteration. These will be the work elements allocated to the iterations.

Establish iteration missions

Each iteration should have a mission, including purpose, scope, and themes. This was discussed in the Managing your backlog recipe earlier in this chapter.

This mission includes:

  • Use cases to be implemented
  • Defects to be repaired
  • Platforms to be supported
  • Risks to be reduced
  • Work products to be developed

Prioritize iteration work items

A work item’s priority specifies the order in which it should be developed. Prioritization is a subject of its own recipe, Work item prioritization. Here it is enough to say that higher-priority work items will be performed in earlier iterations than lower-priority work items.

Allocate work items to iterations

This step provides a detailed set of work items to be performed within the iteration (known as the iteration backlog). Ultimately, all work items are either allocated to an iteration, decomposed into smaller work items that are allocated, or are removed from the product backlog.

Review iteration plan

Once the allocations are done, the iteration plan must be reviewed to ensure that the release plan is:

  1. Consistent with the product roadmap
  2. Has iteration allocations that can be reasonably expected to be achievable
  3. Has work item allocations that are consistent with the mission of their owner iterations

Example

While the product roadmap example we did in the previous recipe focused on a somewhat-vague strategic plan, release planning is more tactical and detailed. Specific work items are allocated to specific iterations and reviewed and “rebalanced” if the release plan has discernable flaws. For this example, we’ll look at a planning horizon of six iterations (plus Iteration 0) and focus on the allocations of functionality, technical work items, platforms to be supported, and spikes for the reduction of specific risks.

Identify high-level goals

The high-level goals are identified in the project plan from the previous recipe, as exemplified in the business and enabler epics.

Decompose epics

The epics to be implemented in the iterations in this planning horizon must be decomposed into use cases and technical work items achievable within the allocated iteration. Figure 1.22 shows the decomposition of the epics into use cases and user stories. Note that epics (and, for that matter, user stories) are modeled as stereotypes of use cases, and the figure is a use case diagram with the purpose of visualizing that decomposition. Since epics and user stories are represented as stereotypes of use cases, the «include» relationship is used for decomposition:

Figure 1.22: Mapping epics to use cases

Establish iteration missions

To establish the mission for each iteration, a spreadsheet is created (Table 1.4) with the iterations as columns and the primary aspects of the mission as rows.

Prioritize iteration work items

Work items are prioritized to help us understand the sequencing of the work in different iterations. As much as possible, elements with similar priorities are put within the same iteration.

As discussed in the Work item prioritization recipe, during a review, we may increase or decrease a work item’s priority to ensure congruence with other work items done in a specific iteration.

Allocate work items to iterations

Based on the prioritization and the work capacity within an iteration, the work items are then allocated (Table 1.5).

Table 1.5 shows an example in which allocations are made based on priority (see the Work item prioritization recipe), the estimated effort (see the Estimating effort recipe), and the congruency of the functionality to the mission of the use case:

Release plan

Iteration 0

Iteration 1

Iteration 2

Iteration 3

Iteration 4

Iteration 5

Iteration 6

Functionality

 

Initial Frame Mockup,Basic Motor Electronics,Basic Rider Controls, and Basic Resistance

Set Up the Bike Fit (seat),Basic Digital Electronics, Calibrate Power Output, and Basic gearing

Set up the Bike Fit (handlebars),Manually adjust the bike fit, and Monitor Power

Set up the Bike Fit (Cranks), and Monitor Speed,Distance,Bluetooth,Cadence, and Data to the App

Bike fit with external parameters,Motorized Incline,Monitor Incline,ANT+, and ANT FEC

Manage personal data, and Predict the Bike with a Camera Image,External Resistance control, and ERG Mode

Target Platforms

 

Hand-build mechanicals,Hand-built analog electronics, and Simulated digital electronics

Basic hand-built mechanicals and Hand-built electronics

Prototype mechanicals for manufacturing

First-run factory electronics

First run mechanicals

Second-run factory electronics and 2nd run factory mechanicals

Technical Work Items

 

Analyze frame stability and strength and Refine SW/EE deployment architecture

Design cable runs,Analyze electrical power needs, and Add in SW concurrency architecture

Add in an SW Distribution Framework

Finalize flywheel mass

EMI Conformance testing

 

Spikes

Team Availability,Aggressive Schedule, and Agile MBSE Impact

Motor Response Time

Robustness of the main motor

USB Robustness

 

 

 

Table 1.5: Release plan

Review iteration plan

We then look at the release plan and see that we think it is achievable, the missions of the iterations are reasonable, and the allocations of work items make sense for the project.

Previous PageNext Page
You have been reading a chapter from
Agile Model-Based Systems Engineering Cookbook Second Edition - Second Edition
Published in: Dec 2022Publisher: PacktISBN-13: 9781803235820
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Dr. Bruce Powel Douglass

Dr. Bruce Powel Douglass, Ph.D. has deep and broad expertise as a result of over 40 years' experience designing safety-critical real-time systems in a variety of hard real-time environments. He is one of the authors of both the UML and SysML standards, and author to over 6000 book pages from a number of technical books including The Harmony aMBSE Deskbook, Agile Systems Engineering, Real-Time UML, Real-Time UML Workshop for Embedded Systems, Real-Time Design Patterns, Doing Hard Time, Real-Time Agility, and Design Patterns for Embedded Systems in C. Many presentations, papers, models, designs, and more can be found on his website. He is currently the Senior Principal Agile Systems Engineer at the MITRE Corporation.
Read more about Dr. Bruce Powel Douglass