Lise Hvatum and I initially coined the term “Magic Backlog” to describe our patterns because agile process descriptions pay relatively little attention to the creation of the backlog—so it appears as if by magic. We came to appreciate another more significant meaning: done well with the right contents and structure a backlog can do magic to support the team.
The patterns in this collection are especially useful to software teams actively working on large, long-lived systems that support complex operational processes, have hundreds of detailed requirements and possible safety and security concerns, and that may need to support external audits or prove that sufficient testing was done before deployment. These projects typically use electronic Application Lifecycle Management (ALM) tools to manage the backlog that allow backlog items to be organized and structured, linked, and have attributes.
Readers familiar with the stories of The Magic School Bus will probably recognize the connection. If you need a submarine, the school bus will transform into one. If you need a microscope, or a fully equipped biology lab, there will be one in the bus. With careful design and preparation of your backlog, it can be as magic as the school bus, supporting your team’s current and ongoing needs.
Patterns to Build the Magic Backlog
Lise B. Hvatum
Rebecca Wirfs-Brock
15 Aug 2015 EuroPLoP '15 Proceedings
paper HTML PDF ACM DOI 59 minutes read
The need to formalize the backlog increases with the size of the project. The patterns in this paper are targeted at large systems that must support complex operational processes, have hundreds of detailed requirements and possible safety and security concerns, and that may need to support external audits or prove that sufficient testing was done before deployment. We call this collection the “Magic Backlog” patterns for two reasons: agile process descriptions pay relative little attention to the creation of the backlog – so it appears as if by magic; but done well, with the right contents and structure, a backlog can do magic to support the team.
Abstract
Agile development processes are driven from a backlog of development items. This paper describes patterns to build and structure the backlog for an agile development effort using the outcomes of requirements elicitation and analysis. The need to formalize the backlog increases with the size of the project.
More Patterns for the Magic Backlog
Rebecca Wirfs-Brock
Lise B. Hvatum
24 Oct 2016 PLoP '16 Proceedings
paper HTML PDF ACM DOI 39 minutes read
This paper adds three new patterns to our collection of Magic Backlog Patterns to build and structure the backlog for an agile development effort. The Funnel adds new content, the Pipeline prepares backlog contents for implementation, and Maintenance supports continued upkeep of the backlog contents.
Abstract
Agile development processes are driven from a backlog of development items. This paper adds three new patterns to our collection of patterns to build and structure the backlog for an agile development effort using the outcomes of requirements elicitation and analysis. The Funnel adds new content to the backlog, the Pipeline prepares backlog contents for implementation, and Maintenance performs continued care of backlog contents. The need to formalize the backlog increases with the size of the project.
Pattern Stories and Sequences for the Backlog—Applying the Magic Backlog Patterns
Lise B. Hvatum
Rebecca Wirfs-Brock
23 Oct 2017 PLoP '17 Proceedings
paper HTML PDF ACM DOI 46 minutes read
Through the use of story telling we illustrate how you might address common project issues by applying patterns from our Magic Backlog Collection in combination with other patterns and practices.
Abstract
Agile development processes are driven from a backlog of development items. This paper looks at how to apply patterns from our Magic Backlog collection through the use of storytelling. We follow a project through various scenarios from the early days through significant growth into a mature setting and then, finally to a disruptive transition as the project becomes part of a program. Our goal is to focus on common project issues that we believe are experienced by many people involved in software development, and how the use of combinations of patterns, including our own as well as other patterns and practices, can help resolve or mitigate these problems.
A Program Backlog Story with Patterns—Expanding the Magic Backlog Pattern Collection
Lise B. Hvatum
Rebecca Wirfs-Brock
02 Jul 2018 EoroPLoP '18 Proceedings
paper HTML PDF ACM DOI 61 minutes read
Introduces three additional patterns for coordinating the work of projects which are part of a larger program: Pragmatic Program Backlogs, Linked Product Backlog, and Unified Product Backlogs.
Abstract
This paper extends our Magic Backlog Patterns collection with three additional patterns for managing the work of a program– or rather how to deal with coordinating the work of projects which are part of a larger program and where there may be dependencies and shared deployment. While teams within a program may work fairly independently, their work still needs to be coordinated to produce a product. These three patterns, which represent alternative strategies for structuring the backlog of work, are introduced through a story of the correspondence of a business analyst as her hypothetical program moves through different backlog management strategies.
Even more Patterns for the Magic Backlog
Rebecca Wirfs-Brock
Lise B. Hvatum
26 Oct 2018 PLoP'18 Proceedings (Revised 17 Feb 2020)
paper HTML PDF ACM DOI 35 minutes read
This paper adds three new patterns (Rules, Shared Definition, and Remodel) to our collection of patterns to build and structure the backlog for an agile development effort.
Abstract
Agile development processes are driven from a product backlog of development items. This paper adds three more patterns to our Magic Backlog collection of patterns to build and structure the backlog for an agile development effort using the outcomes of requirements elicitation and analysis. RULES defines who should be allowed to do what in managing the backlog, SHARED DEFINITIONS deals with defining and consistently using clear criteria for core decisions across the backlog team(s), and REMODEL is about restructuring the overall backlog contents.
Who Will Read My Patterns?—On Designing a Patterns Book for Target Readers
Rebecca Wirfs-Brock
Lise Hvatum
10 Oct 2019 PLoP '19 Proceedings (Revised 22 Oct 2021)
paper HTML PDF ACM DOI 59 minutes read
Guidelines for turning a set of patterns papers into a cohesive whole.
Abstract
As patterns authors, we spend a lot of time writing. Usually our work is driven by what we want to share of experiences, working solutions, and ideas we are excited about. But how often do we think about the readers other than initially stating our intended audience? Who is going to consume our writing, and are we really putting in the effort to reach these readers in the best way possible?
This paper started because we are two authors who plan to make a book from a set of related patterns papers, and in doing so we really want to reach our target audience and provide a practical and useful piece of work. Our approach had two distinct investigation activities. One was to do an informal analysis of books about software processes and methods to gain a better understanding of characteristics and book design practices for this kind of book. The second was to use a combination of interviews and surveys to gather feedback on what readers are looking for when accessing information about software engineering. To better understand our potential readers and how to design our writing for their consumption, we created personas where we incorporated feedback from the reader survey into their personalities and preferences. Finally, we combined our information sources to create guidance for our future work of turning a set of patterns papers into a cohesive whole.
Exploring the Generative Nature of Patterns
Lise Hvatum
Rebecca Wirfs-Brock
11 Apr 2024 PLoP '23 Proceedings
paper HTML PDF 47 minutes read
A look into what it means for individual patterns and collections to be generative and an exploration of some differences between those that are highly generative and those that are not.
Abstract
This is an about paper—one that we write to gain a better understanding, for ourselves and our readers alike, of the usefulness of a pattern language and what it takes for experience captured in pattern form to be of use to others. In it we look at what it means for individual patterns and collections to be generative and explore some differences between those that are highly generative and those that are not. We ask whether software design and software process patterns can be generative and, if so, what is their potential impact. Finally, we draw some conclusions on how these thoughts on pattern generativity could influence future writing of and support for generative patterns.