Each organization has their own implementation of an Agile methodology adjusted to consider their environment’s operational requirements and constraints. Many choose to adopt a measurement protocol to size work items with the sizing representing the overall complexity to meet Acceptance Criteria and the Definition of Done. Complexity of a work item considers many factors including (but not limited to) scope of work, interface, known versus new concepts, quality standard, and time to completion.
In this blog I will describe two ways to help a delivery team understand that the measure of complexity is multi-faceted.
The following exercises have helped many delivery teams new to sizing work items understand complexity. The first exercise is the longest, and the second exercise is shorter and offers a “choose your path” format. Both exercises can be expanded to include more iterations and customized more than I have laid out. If the specific implementations do not align well with your team, take the concepts and customize the deliverables, inputs, constraints, etc. to better meet the needs of a specific delivery team.
Exercise 1: Let’s Build
The deliverable is to build a small two-story house with each story having just one open room, one door and two windows on the first level, and four windows on the second story. No roof is needed for this house. This is all the information we have and need to know to complete the exercise.
The team should have 5-10 minutes (time box) to complete each iteration and then must present the forward progress on the deliverable. Each iteration’s deliverable should be assessed against the Acceptance Criteria – specifically noting any concessions that had to be made or requirements deferred. Additionally, have the team rate the quality of the deliverable and time to completion at the end of each iteration.
- Iteration 1: Using Legos®, ask the team to build the specified deliverable. Ensure the provided Legos® include plates for the first and second levels, enough window and door bricks, and bricks to build walls.
- Iteration 2: Using standard wooden blocks, ask the team to build the same specified deliverable. A variety of shapes and sizes should be provided for the wooden blocks, but there should be no window or door blocks provided.
- Iteration 3: Using pipe cleaners and pom-pom balls, ask the team to build the same specified deliverable. A variety of shapes and sizes should be provided for the building supplies.
There should be at least three iterations, but you can add more if you have other materials to use. Once all iterations have completed, work with the team to review the difference in complexity of the deliverable depending on the other constraints in effect.
You should expect the team will find it more difficult (i.e., more complex) to produce the deliverable in the third iteration than in the first iteration even though the requirements for the deliverable remained the same.
The more complexity required to deliver a work item, the higher the complexity score should be.
Exercise 2: Move It
The deliverable is to move an object from a starting point to an ending point. The distance between the starting and end points should be reasonable for your space and should remain fixed for all three iterations. Depending on the variables you choose, different constraints occur. The team should have 2–3 minutes (timebox) to complete each iteration. Recognize that some paths of this exercise may require the timebox to shrink or grow.
Variation: Change the Object
- Iteration 1: Choose an object that is small and lightweight – feather, penny, pen, etc.
- Iteration 2: Choose an object that is larger and heavier than the first item – can of soup, cell phone, magazine, etc.
- Iteration 3: Choose an object that is larger and heavier than the second item – weight, laptop, etc.
If you want to drive home the concept that items may be more complex to deliver than they appear, then find items that may be heavier than their size reflects.
Variation: Change the Path
- Iteration 1: Choose a straight path with no obstructions (i.e., impediments).
- Iteration 2: Keep the same straight path but add a few obstructions to the path that the object must overcome. For example, put a book in the path of the object.
- Iteration 3: Keep the start and end points but add a few curves and obstructions to the path that the object must overcome.
Variation: Change the Transportation
- Iteration 1: The project team may use their hands to transport the chosen object from the starting to the ending point.
- Iteration 2: The project team may only use string provided by the facilitator to transport the chosen object from the starting to the ending point. The project team may attach the string to the object in whatever fashion they determine is necessary. After the string is attached, no hands may touch the object; hands may only touch the string.
- Iteration 3: The project team may only use wooden spoons to transport the chosen object from the starting to the ending point. There should be enough wooden spoons for one per project team member. The team may leverage the wooden spoons in whatever fashion they determine is necessary.
For first use, consider changing just the object and keeping the path and transportation the same for each iteration. You should expect the team will find it takes more effort (i.e., more complex) to move the object in the third iteration than in the first iteration. Thus, the Iteration 3 work item is likely to have a higher complexity score than the Iteration 1 work item because more energy was required to move the object from point A to point B.
Experiment with the variations to continue demonstrating the change in complexity when the same goal remains in all instances – move an object from a starting point to an ending point. Is it more complex to move a penny across a curvy, bumpy path using wooden spoons, or to move that penny across a straight path using your hands? The same penny is being moved the same distance, but more energy was required to accommodate the impediments of the path and constraints on transport.
Conceptualizing the Measure of Complexity
Since 2016, I have used these exercises on different occasions with different projects teams. I cannot recall a project team that struggled with conceptualizing the measure of complexity after completing these hands-on exercises. The unknowns of project requirements, technologies, dependencies, etc. are removed as impediments to understanding the concept itself. Using familiar inputs to produce tangible, understood deliverables helps the entire project team start with common knowledge.
Remove the Impediment of Understanding Complexity
One of the unintended benefits of these exercises is an opportunity for team building. The teams should be working together to accomplish the completion of the deliverable. Not all the deliverables, given the inputs, will be easy to complete. Let the team come together over Legos®, pipe cleaners, pom-pom balls, or feathers and wooden spoons. Make it fun to learn and engage the team! These two exercises will help you remove the impediment of understanding complexity.