Scrum Masters and Home Builders: An Analogy for Managing and Prioritizing Dependencies
For scrum masters in a scaled environment, scheduling work, managing dependencies, and passing inspection are critical to continuous delivery of value.
Join the DZone community and get the full member experience.
Join For FreeFor a scrum master in a scaled program environment, coordinating work between multiple scrum teams can be a little bit like managing home construction. In a new home community, future homeowners have made their selections of a floor plan, location, and amenities (determined their minimum viable product), and negotiated a price and put down earnest money (funded the value stream). Now it is time for the construction manager to convert the initial investment into revenue by delivering a completed house that meets the expectations of the company they represent, of regulators in the form of building codes and occupancy permits, and most importantly of the homeowner.
Likewise, scrum leaders need to satisfy their stakeholders and customers with working products that meet requirements and regulations, generating a return on investment, innovation, and enhanced reputation. To accomplish this mission, they must coordinate the work of multiple teams using the best engineering practices to sustain a continuous delivery flow. In software delivery as in new home construction, maintaining a continuous flow while providing a predictable time-to-market requires the mastery of three primary activities: scheduling work, managing dependencies, and ensuring that the product passes inspection.
Scheduling work starts with a general plan. Engineering principles and patterns serve as the foundation for that plan, calling attention to what is possible and universal for the available technology, and what may require more innovation or invention. As with a homeowner customizing the basic floor plan, the more non-standard the request, the more variation and lead time (and associated expense) must be factored into the predicted delivery date.
The plan needs to then be decomposed into pieces of work that can be distributed to the delivery teams. Ideally, a team has the skills to handle all types of standard requests, but inevitably there are specialized skills or longer lead time components that take the form of external dependencies. In the building analogy, this would be akin to the need for licensed electricians and plumbers, or for having to special order a custom window or door which must be manufactured. Identifying these dependencies early is essential.
The final piece of the puzzle is inspection. The final product needs to meet consumer and stakeholder expectations. This is accomplished through regular dialog with the stakeholders and product demonstrations. The product must also meet quality and regulatory standards that are enforced to prevent security or operational vulnerabilities, ensuring that the consumer, and by proxy the stakeholder, are protected from harm. In a home building scenario, a good construction manager invites the future homeowner to walk through the site at regular intervals, explaining how the product works so far, answering any questions, and validating acceptability. The construction manager is also held accountable for all building code inspections.
Having a good plan is essential to achieving these imperatives. While scrum provides for regular adjustment, establishing an initial priority and sequence will allow a manager to anticipate critical checkpoints and head off obstacles. One tool for prioritizing and sequencing is to analyze the economic components of an item. Those familiar with agile scaling may recognize the concept of the economic cost of delay described in Don Reinertsen’s The Principles of Product Development Flow. Evaluating the cost of delay involves considering all facets of value to be realized when an item is delivered, whether they result in actual monetization, or simply enable a quicker path to final delivery. In the home construction example, certain steps from one subcontractor will enable another subcontractor and should be coordinated to avoid having a crew waiting on their predecessor.
Translated to features and stories in a backlog, the potential business value is only one consideration for prioritization. To account for the cost of delay deadlines and risk must also be quantified. This can be accomplished by sequencing those activities that account for a combination of all three factors. For example, using a relative scoring rubric like Fibonacci with one (1) being the baseline task and eight (8) being the most important, here is how I would sequence a task list based on perceived value alone:
Task |
Perceived Value to Customer |
Sequence |
Pour Concrete Foundation |
3 |
3 |
Order Special Door |
8 |
1 |
Frame House |
5 |
2 |
Install Electrical Wiring |
1 |
4 |
Here is how I would sequence the tasks when I add deadline (the need to meet a target date) and risk (to deadline or inspection):
Task |
Perceived Value to Customer |
Deadline |
Risk |
Total |
Sequence |
Pour Concrete Foundation |
3 |
8 |
8 |
19 |
1 |
Order Special Door |
8 |
1 |
5 |
14 |
2 |
Frame House |
5 |
5 |
3 |
13 |
3 |
Install Electrical Wiring |
1 |
3 |
1 |
5 |
4 |
Of course, it would not make sense to begin framing the house before the foundation is poured. By factoring in the need to have a hard deadline for the task and a high risk of failure if missed, the sequence adjusts itself. Knowing I must consider lead time for the special-order component that I will need later, I have raised only the risk factor.
Sequencing needs to be a continuous activity. As I learn more about my product through inspection, and as deadlines draw nearer, I may need to adjust factors. Here I have learned that somehow, I missed the requirement to have plumbing, and it must be roughed in before the electrical wiring can proceed.
Task |
Perceived Value to Customer |
Deadline |
Risk |
Total |
Sequence |
Pour Concrete Foundation |
2 |
8 |
8 |
18 |
1 |
Order Special Door |
8 |
1 |
5 |
14 |
2 |
Frame House |
5 |
5 |
2 |
12 |
3 |
Install Electrical Wiring |
1 |
2 |
1 |
5 |
5 |
Rough-in Plumbing |
3 |
3 |
3 |
9 |
4 |
Relentless prioritization is based on multiple factors. Continuous sequencing will still be necessary and serves as a starting point for regular planning and execution iterations and demonstration intervals, but it needs to be constantly adjusted to account for an aging backlog, additional requirements, and inspection findings. Developing a cost of delay formula that accounts for the economic trade-offs in your domain will give you a more rational prioritization and sequencing process that can help you optimize scheduling, avoid dependency related delays, and facilitate frequent value-added inspection. Whether you are building a house or implementing the latest technology, mastering the art and science of scheduling, coordination, and quality assurance is an invaluable part of your toolbox.
Reference
Reinertsen, Donald G. (2009). The principles of product development flow: Second generation lean product development. Celeritas Publishing. Redondo Beach, California.
Opinions expressed by DZone contributors are their own.
Trending
-
Microservices With Apache Camel and Quarkus (Part 3)
-
Transactional Outbox Patterns Step by Step With Spring and Kotlin
-
Part 3 of My OCP Journey: Practical Tips and Examples
-
Essential Architecture Framework: In the World of Overengineering, Being Essential Is the Answer
Comments