Sensemaking in Organizations: Creating a practical process that leverages Cynefin and sensemaking

The Cynefin sensemaking framework (created by Dave Snowden of Cognitive Edge) has grown in popularity in the agile community in recent years. Used to its full potential, sensemaking and the Cynefin framework are powerful and effective approaches to informing action in complex, dynamic, and uncertain situations. Tony Quinlan and I led a workshop session at the XP2020 conference where we introduced a practical, effective approach based on our work applying complexity techniques in large global technology organisations.

The slides from our workshop are available here. This workshop is based on years of experience with dozens of sensemaking projects. We covered the fundamentals of using micronarrative-based sensemaking and the Cynefin framework to foster transformation, resilience, and agility. This session focused on use of sensemkaing to support transformations. We covered sensemaking in organizaitons, the Cynefin framework, how to determine appropriate action in a given context, how to design experiments for navigating complex situations, how to tailor a sensemaking framework for a particular purpose, and how to integrate sensemaking into your organizaiton.

Some insights from working with Flow-based product development

Software product development organizations operate in an environment of ever-increasing volatility, uncertainty, complexity, and ambiguity. The pace of change is accelerating, business and technology complexity is growing, and organizations are struggling to keep pace. The software development industry has a $300 billion productivity problem, according to one study. Value is not flowing as it should. Flow-based software development is part of the continued evolution of contemporary software development approaches contributing to addressing this problem. It builds on agile and lean software development approaches and incorporates lessons from Deming’s management method, the Toyota Production System, Lean Product Development, Theory of Constraints, Operations Management, and other influences. Flow-based development is foundational to modern systems approaches, including DevOps, Continuous Delivery, Site Reliability Engineering, and more. Creating and sustaining flow in organizations is a challenging problem. Drawing on insights developed over many years working with multiple global product development organizations, this session presents a framework for establishing, understanding, and sustaining flow in organizations.

I presented this session at the XP2020 conference. The slides are available here.

This session addressed the following questions:

  • What is flow?
  • What is the relationship between flow, lean, and agile?
  • Why do organizations adopt flow?
  • Where to get started?
  • What contributes to flow happening?
  • How do we measure flow?
  • What makes flow difficult to achieve?
  • How can organizations overcome these impediments to flow?
  • What is the role of culture in determining how effective flow can be?

Understanding and applying different decision models for increasing organization agility

Agility implies responding to change appropriately. Every response is a decision. Sometimes we choose among several competing options, sometimes not. Some decisions demand immediate action, others require us to step back and think and weigh our options. There are many decision models that can support how we respond. Often, our decisions are part of a series of interrelated decisions that influence each other. From this perspective, the agility of an organization can be viewed as an outcome of decisions made over time.

Rebecca Wirfs-Brock and I held a workshop session at XP2020 on this topic. In this workshop session, we discuss how to apply three specific decision styles and models that are useful in different circumstances.

Some of the models we use in this workshop come from the field of Naturalistic Decision Making (NDM), which has the goal of studying how people actually make decisions in a variety of real-world settings. Settings in which NDM is appropriate are characterized by time pressure, high stakes, experienced decision makers, inadequate information, ill-defined goals, poorly defined procedures, context, dynamic conditions, and team coordination. In this session we explore NDM in the context of organization agility.

The slides are available to download here.

Learning outcomes from the workshop include:

  • Learning about Decision Models and how they apply to Agile Software Development and Organization Agility.
  • Understanding of how to apply and combine different decision models in different contexts. Specifically, we explore analytical decision making, naturalistic decision making, and recognition-primed decision models.
  • Understand the role of heuristics and experiments in making decisions and taking action.
  • Understand the role of expertise and how it influences decision and action in organizations.
  • Understand the circumstances under which decisions are best taken by individuals, and those where decisions are best taken in groups.
  • Understand how decisions influence each other and compound over time.
  • Approaches for when and how to record decisions.

Improving Flow in Large Software Product Development Organizations: A sensemaking and complex adaptive systems perspective

For my PhD research I studied several large software product development organizations to get a better understanding flow and impediments. Flow-based development is a rich and growing field with many concepts; the specific focus for this study is impediments to flow. This study takes the perspective that organizations are complex adaptive systems. This research uses sensemaking to get a richer, more-informed understanding of flow, impediments, and the context and culture of the organizations that are experiencing impediments to flow. The organizations that are part of this study are all large software product development organizations. The focus of this study, then, narrows to managing impediments to flow in large software product development organizations, using a sensemaking and complexity perspective.

More details, including a link to my thesis, can be found here.

Sensemaking and Complexity in Large-Scale Lean-Agile Transformation

This is the abstract from a paper I wrote about my experiences using sensemaking in large-scale transformation efforts. I presented this at the 49th Hawaii International Conference on System Sciences (HICSS 2016). The final paper is available as part of the HICSS proceedings. A pre-print is available here.

Abstract

For organizations undergoing agile and lean transformation, it can be difficult to get meaningful, actionable insights into progress and impediments. Teams and organizations are best understood as complex adaptive human systems. Understanding what is happening in such systems requires approaches grounded in the complexity sciences and social sciences. This paper describes an approach using complexity science and sensemaking that helps an organization understand its culture, how it is progressing with its strategic initiatives, and the types of impediments that are holding it back. It provides a means of qualitative and quantitative analysis that helps teams and organizations improve. This paper also correlates the experiences of the people in the organization to its goals of being a more agile organization.

Organization and Business Agility: Managing the Portfolio Backlog in Large Organizations

This is the abstract and summary of lessons learned from an experience report I wrote and presented at the Agile 2015 conference in Washington DC. The full paper is available here. Among other things, the paper talks about using A3 problem solving, Cynefin, and the Containers, Differences, Exchanges model from Human Systems Dynamics in the context of portfolio management in large organizations.

Abstract

Working in a multi-team, multi-program, multi-product environment brings several challenges. One of those is providing a smooth flow of work to teams, and incorporating their feedback, while staying responsive to the needs of the business in a changing environment. Managing the portfolio backlog is a critical piece of the solution. This Experience Report documents several years’ experience working in such environments. The focus of this Experience Report is specifically on managing the portfolio backlog, not the full scope of what could be considered under a portfolio management strategy and implementation. We have found that getting the portfolio backlog management strategy right is a key element in the success of the overall portfolio management approach.

Summary of Lessons Learned

This section summarizes some of the key lessons learned in managing portfolio backlogs. Some general lessons related to solving problems in organizations include:

  • Understanding the nature of the problem helps us to take appropriate action to solve the problem. The Cynefin framework helps with this.
  • Make sure you are solving actual problems and causes, not just symptoms. A3 problem solving helps with this.
  • Understand how to create a balance between agility, self-organization and coherence. HSD and the CDE model helps with this.
  • Focus on the end-to-end flow of value through your organization, and on actively removing anything that impedes the flow of work. Lean thinking helps with this.
  • Understand what success and failure could look like before running your experiments. This will help you pay beselective about the patterns you pay attention to.

Some specific lessons related to managing portfolio backlogs in large organizations include:

  • Define the focus of your portfolio. In general, it is good practice to base the portfolio structure on your product line rather than organization structure. The former is what your customers care about; the latter more temporal.
  • Understand what content goes on the portfolio backlog. Define different types of items, e.g., features, initiatives, architecture items, etc.
  • Focus on the flow of work from portfolio to teams. The portfolio backlog management approach is an enabler of flow. Define policies for centralized portfolio-level decisions and localized program- and team-level decisions.
  • Set up a portfolio backlog management meeting at a regular cadence with the right participants. Create a Definition of Ready for portfolio items. Focus the meeting on feedback from the development teams, and on moving portfolio backlog items to a ‘ready’ state. Do not let it become a status or strategy planning meeting.
  • Create conditions that encourage a strong relationship between product managers, engineering leaders and architects. Together they bring multiple important perspectives to creating the portfolio backlog items. Consider also adding user experience design leaders to this mix, depending on the nature of your products.

Finally, this is a process of continuous experimentation and improvement. While some things can ultimately be moved to the obvious domain of best practices, or the complicated domain of good practices, we still operate within an ever-changing and complex environment that requires continuous awareness, experimentation, learning and adaptation. We continue to experiment and make improvements.

A Metric-Based Approach to Managing Architecture-Related Impediments in Product Development Flow

This abstract is from a paper I co-wrote with Kieran Conboy for the 37th International Conference on Software Engineering (ICSE 2015) in Firenze, Italy. The final paper is available in the conference proceedings. A pre-print version is available here.

Abstract

Contemporary lean thinking, especially in knowledge work areas like software engineering, begins with understanding flow. Architecture plays a vital role in enabling the flow of value in software engineering teams and organizations. To date there has been little research in understanding impediments to flow in software engineering organizations. A focus on enabling flow through removing impediments is a useful perspective in creating a more agile, lean thinking software engineering organization. Particularly so when supported by appropriate metrics. This paper presents a case study of how architecture-related impediments impact the flow of work in software engineering teams and organizations. The key contributions of this paper are centered on the concept of flow and impediments in modern software engineering, and its relationship with architecture. We develop an understanding of how a focus on flow and removing impediments, supported by appropriate metrics, is helpful in identifying architecture-related challenges . Drawing on research of one company’s practices the paper presents an example of a scenario where flow analysis using specific metrics reveals architecture-related impediments and shows how addressing these impediments improves effectiveness and productivity in ways that would not otherwise have been revealed.

Metrics for Understanding Flow

This is the abstract and conclusions from a paper I presented at Agile 2014. The full text is here.

Abstract

When adopting agile and lean approaches in our company, one goal for teams and organizations is to achieve a smooth end-to-end flow of work through the system. This paper presents a useful set of metrics that reveal how work is flowing. It describes four metrics we find useful: Cumulative Flow, Throughput Analysis combined with Demand Analysis, Cycle Time and Lead Time.

Conclusions

These metrics help you understand Flow in your teams and organizations. In particular:

  • CFDs give deeper insight into what’s happening in queues or workflow states, and help diagnose problems.
  • Throughput Analysis shows how work is flowing through our system over time. It is even more useful when combined with a Demand Analysis that shows the proportion of work flowing through the systemthat is Value Demand versus Failure Demand.
  • Cycle Time analysis shows how long it takes for work items to pass through one or a subset of workflowstates. This enables teams to make predictions about how long it takes to process planned work items.
  • Lead Time analysis shows how long it takes for work items to pass through the entire organization. This enables the organization to make predictions about how long it will take to process requests. We generally use Lead Time to understand the time it takes work to pass through all states, from the moment there is arequest or idea, to the moment the work is complete and in the hands of customers.
  • All these metrics can be used to indicate the presence of impediments to Flow in your system. The combination of these metrics offers good insight into what’s happening in an organization. They provide insight and visibility on status, and inform forecasting around when specific content might be delivered.

Social Contracts, Simple Rules, and Self-Organization

This is the abstract and conclusions from a short paper I wrote and presented at the 15th International Conference on Agile Software Development (XP 2014) in Rome, Italy. A preprint version of the full paper is available here.

Abstract

Teams and organizations are complex adaptive systems. Self- organization in complex adaptive systems evolves through a set of Simple Rules. Self-organization is a core tenet of agile teams. Self-organization does not mean everyone gets to do whatever they want to do. Team members create contracts with each other. These contracts create boundaries, or containers, within which self-organization can occur. Teams also create contracts with other teams, the wider organization and other stakeholders. The contracts are both implicit and explicit. Social contracts in complex adaptive systems are more effective if they are based on Simple Rules. Social Contract Theory acts as a lens through which we can better understand these social contracts in agile teams. This paper represents ongoing research that examines the role of Simple Rules and Social Contract Theory in fostering self-organization in agile development teams. The paper discusses four examples of social contracts in agile teams: definition of done, definition of ready, working agreements, and retrospectives.

Conclusions

This paper described the connection between Social Contract Theory and agile teams, viewing agile teams as complex adaptive systems. The field of Human Systems Dynamics provides a suitable lens through which to view teams and organizations as complex adaptive social systems, and defines necessary conditions for self- organization using Containers, Differences and Exchanges. The social contracts in agile teams and organizations are based on the Simple Rules that govern emergence and self-organization.

Simple Rules support coherent behaviors in a system. Definition of done, definition of ready, and working agreements are all examples of social contracts, created using Simple Rules, in agile teams and organizations. In addition, there are examples of social contracts to be found in retrospectives, including the prime directive, second directive and ground rules. These Simple Rules and Social Contracts support emergent behaviors and self-organization.

Teams own their own Simple Rules. As teams adapt their Simple Rules, new patterns are formed in the system. These patterns are governed by the social contracts created by the Simple Rules. Violating the Simple Rules creates a tension in the system that can be resolved by the team enforcing the rules or altering the rules (an Exchange intervention), or by the team membership changing (a Container intervention).
Social Contracts exist within agile teams, between agile teams, between agile teams and management, and within management teams.

Software Engineering Research in Product Development Flow

Research

Good research is critical to building the body of knowledge of software engineering, and understanding the principles on which our industry is built. Even more, without the solid foundation of theory that comes from research, it is difficult to scale the practices we use in industry beyond a limited context. Lero, the Irish Software Engineering Research Centre, hosted an Industry Research Day today, to highlight and share some of the great software engineering research work that goes on at the Centre.

There are some great talks from partner companies including IBM, Intel, and St. James’s Hospital, Dublin. There are keynotes by Máire Geoghegan-Quinn, the current European European Commissioner for Research, Innovation and Science, and Seán Sherlock, the current Minister of State for Research and Innovation. It is great to see the richness and variety of software engineering research going on in Ireland, and the support available at both an EU and national government level.

My talk is a short summary of my ongoing PhD research work. I talk about learning and feedback cycles, learning to see impediments to flow, and some examples of how to see impediments in your team and organisation. I also talked about some preliminary research results, including how to tell who is really influencing flow and impediments in your organisation, what reaction time can tell us about threats and opportunities, and how to empower teams and engage management through an impediment removal process.

Slides from my talk are available here:

Portfolio Management and Organization Flow

I’ll be speaking at RallyON Europe this September on the topic of Portfolio Management and Organization Flow.

Complexity of product development increases as we move from a single team or product focus to a cross-organisation portfolio focus. Organisation Flow is about achieving the Lean concept of flow at an organisation level, not just at the level of a single product or product line.

This session will look at an approach to portfolio backlog management, and describe how to manage the flow of work through a portfolio of multiple products delivered by 50 teams in 6 locations across the US, Europe, India and China.

We will include examples of some core metrics that help understand throughput and flow in the organisation. These metrics tell a story about what is happening in the organisation. Lessons from these stories include understanding impediments to flow, and understanding who and what in the organisation is influencing flow.

I did an interview last week with Hannah Shain from Rally. The recording from the interview is here:

There’s a great lineup of content for the conference. If you’re in London I hope to see you there!

Update: Here is the slide deck I used at the conference:

Understanding the Impact of Technical Debt on the Capacity and Velocity of Teams and Organizations

This is the abstract from a short paper I write for the Managing Technical Debt workshop at the International Conference on Software Engineering (ICSE 2013) in San Francisco. A preprint of the paper is available here.

Abstract

Understanding the impact of technical debt is critical to understanding a team’s velocity. For organizations with multiple teams and products, the impact of technical debt combines non-linearly to impact the organization’s velocity. We can think of the capacity of a team as a portfolio. Not all of that capacity can be invested in new features or defect fixing, without incurring negative consequences. A portion of the team’s capacity needs to be invested in the ongoing management and reduction of technical debt. This paper describes a simple technique for visualizing, quantifying and tracking a team’s technical debt as a portion of their overall capacity investment. The knowledge and insights gained through this technique help with better capacity planning, improved forecasting, and helps to justify the business case for investing in managing and reducing technical debt.

Conclusions

This paper described a technique for considering the capacity of your team as an investment portfolio. Investing in technical debt management and reduction needs to be a part of a healthy portfolio. If neglected, a team’s Technical debt will mount over time and impact their feature velocity. Consider the different ways a team could invest its time as Real Options. Make investments in debt reduction explicit and visible, and track actual investments at regular periods. Taken to an organization level, the organization needs to be ware of the amount of technical debt it has, and the overall strategy for investing in managing and reducing that debt.

Slide Deck

Lean Startup in Large Organizations

I gave a talk today at a Lean Startup event organized by Enterprise Ireland and ITAG.

The topic of my talk was Lean Startup in large organizations, and specifically talking about lessons learned from applying Lean Product Development and Lean Startup principles at Cisco.

The three specific lessons I talked about are:

  1. Learning to manage batch sizes and limit Work in Process (WIP)
  2. Customer Development
  3. Learning to see and manage waste

The slide deck is available via Slideshare:

Lean Systems Society

Lean Systems Society

As of May 2012, the Lean Software and Systems Society has officially re-branded as the Lean Systems Society. As part of the launch, a number of founding Fellows have been named. I am honored and delighted to have been invited to be a founding Fellow of the Lean Systems Society.

Purpose

The purpose of the Lean Systems Society is:

to improve the world by improving its systems. The Society organization will be modeled on the United Kingdom’s Royal Society and its “Fellowship of the world’s most eminent scientists.” The Royal Society was created to actively encourage thought leadership in the sciences by honoring original thinkers as Fellows, and encouraging their collaboration and debate. It has succeeded in this mission for over 300 years, and is an ideal model to emulate.

The Lean Systems Society Credo

From the Lean Systems Society Web site:

The Lean Systems Society believes that excellence in managing complexity requires accepting that complexity and uncertainty are natural to social systems and knowledge work. Effective systems must produce both better economic and sociological outcomes. Their development requires a holistic approach that incorporates the human condition. The Society is committed to exploring valuable ideas from all disciplines, and fostering a community that derives solutions from a common set of values and principles, while embracing specific context and avoiding dogma.

Fellowship of the Lean Systems Society

You can see the full list of current LSS Fellows at the LSS site. As of May 2012, the founding fellows are:

David J. Anderson Jeff Anderson Markus Andrezak
Jim Benson Barry Boehm Bjarte Bognes
Bob Charette Alan Chedalawada Steve Denning
Israel Gat Hillel Glazer Siddharta Govindaraj
Russell Healy Chris Hefley Richard Hensley
Curtis Hibbs Kenji Hiranabe Greg Howell
David Joyce Michael Kennedy Liz Keogh
Corey Ladas Janice Linden-Reed Hal Macomber
Ryan Martens Peter Middleton Benjamin Mitchell
Frode Odegard Greg Parnell Ken Power ( me!! 🙂 )
Don Reinertsen Chet Richards Karl Scotland
Alan Shalloway Sarah Sheard Chris Shinkle
David Snowden James Sutton Jean Tabaka
Richard Turner Alisson Vale Yuval Yeret
Greg Yezersky Jason Yip

The Fellowship was officially launched at the LSSC 2012 conference in Boston.

Press Releases

The official Lean Systems Society press release can be found here. There are additional press releases on Yahoo News, InfoQ and others.

Looking to the Future

I’m looking forward to continuing to contribute in whatever way I can to the Lean community, and to helping the Lean Systems Society to grow and flourish. The Society’s purpose of “improving the world by improving its systems” is a stirring and timely call to action for all of us.

Enjoy a Lean Coffee

What is Lean Coffee?

Jim Benson and Jeremy Lightsmith founded the Lean Coffee movement in Seattle in 2009. Since then, Lean Coffee events have sprung up around the world. The basic idea is for a group of people to get together to discuss topics around which they share a common interest, specifically around agile, lean, kanban, lean startup, etc. There is also an OpenCoffee movement, founded by Saul Klein in 2007. The intent behind OpenCoffee is to provide an open forum for investors, entrepreneurs and developers to come together, meet, discuss ideas, and find opportunities to work together.

The Lean Coffee format is essentially an approach to facilitating learning and collaboration through group discussions. The ‘Lean’ part of the name has its roots in Lean Thinking, and related areas of Lean Production, Lean Software, Lean Startup, etc. The ‘Coffee’ part of the name obviously comes from that nice drink that some of us are partial to. Meetups typically take place in the morning, at a local coffee house, at the same time and place each week.

Lean Coffee events are increasingly becoming a fixture at many conferences, in a similar way that Open Space has. We had a great Lean Coffee event at LESS2011 in Stockholm last year.

How it works

The Lean Coffee format has a lot in common with Open Space, particularly in the sense that you are asking people to move away from an agenda-driven gathering to a more open, collaborative, dynamic, emergent type of gathering.

The protocol, borrowed and modified from the Sydney Lean Coffee group and Limited WIP Society, is as follows:

  1. Everyone offers topics they are interested in discussing by writing them on index cards (or sticky notes).
  2. Everyone presents his or her topic as an Elevator Pitch (max 1 minute per topic).
  3. Use dot voting to vote on each of the topics.  Each person gets two votes. You can only vote once per topic.
  4. Prepare three columns on a table or wall. Call them “Planned”, “In Progress” and “Done”. Add all topics to the “Planned” column, with those that received the highest votes at the top.
  5. Discuss each topic in turn. Move the index card for the topic into the “In Progress” column. Initially, ask the proposer to explain the topic, then go round the table to give an opportunity for everyone to provide an initial comment, then open discussion.
  6. When the topic is done, move on to the next one.  The topic proposer decides when the topic is done, and moves the index card to the “Done” column.  If someone disagrees, then s/he can raise a new topic.  Expect to discuss 3-4 topics over the space of an hour or so.
  7. Consider time boxing each topic to 15 minutes max.
  8. At the end of the overall Lean Coffee session, run a quick retrospective.  What did you like? What didn’t you like? What are ideas for improvement?

As a variation, particularly if you have a large group, consider splitting into sub-groups if people are particularly passionate about specific topics. Then get back together after the topic discussion to present highlights to, and get feedback from, the wider group.

Lean Coffee at work

The idea and format for Lean Coffee is very simple and effective. It can be used in work too. For example, consider hosting a Lean Coffee event every week in your office. It can be a great way to share experiences and challenges across teams and gather interested people who don’t normally get to discuss these topics together.

If you find your retrospectives are becoming routine, then this is a good way to break out of the rut. There is no leader or facilitator required. The team can self-organize a Lean Coffee style event without any preparation. The team decides which topics to discuss, and how long to spend on each topic.

The only prerequisites are a set of index cards or sticky notes, a set of Sharpies, and some interested and willing people.

References

Some sites for Lean Coffee Meetups around the world:

Writings about Lean Coffee

Happy Memories of the ALE2011 Spouse and Kids Program

I was having lunch with Jurgen, Olaf and others at XP2011 in Madrid earlier this year. The details for what would become the first ALE conference would start to be worked out later that week. Jurgen asked me if I had any thoughts about what we could do that would be a little different. I thought it would be good to find a way to include spouses and children in the conference program – not just bring them to wherever city the conference was going to be in, but actually integrate them into the conference.

The Spouses and Kids Program

Monika KoniecznyOlga Woronowicz and Christiane Lewitz took on the job of leading the Spouse and Kids Program and did a great job organizing the program. Mornings were filled with games and other activities in the conference hotel. There was a trip organized for each day after lunch. On Wednesday, there was a visit to Berlin Zoo. On Thursday, it was the Berlin Communications Museum. On Friday they had a dinosaur tour at the Natural History Museum.

Post-It Art

Last week I wrote about Post-It Wars, and how we tried it out at work. I had the chance to hang out with families of other conference attendees (and my own family) at ALE2011, so I got them all to play too. We started off in the room that was reserved for families. The kids had a great time. After some negotiation, they quickly agreed on the music, picking out the Beatles and Bob Marley. Music blaring, they got to work. It was amazing to watch as a group of kids who had never met until a few hours earlier came together to create pictures using Post It Notes.

ALE2011 Kids Making Post It Art
ALE2011 Kids Making Post It Art

While the other conference attendees were in one of the sessions, we broke out into the coffee break area (bringing music with us) and used the windows there too (top left). The parents got in on the action too, and had fun with it. I got some pictures of the work-in-progress from outside the hotel (top right), and their work attracted the attention of some passers by (bottom center).

ALE2011 Post-It Art Collage 1
ALE2011 Kids Make Post-It Art
ALE2011 Kids Making Spongebob
ALE2011 Kids Making Spongebob
ALE2011 Kids Making Spongebob
ALE2011 Kids Making Spongebob
ALE2011 Kids Making Apple Logo
ALE2011 Kids Making Apple Logo

The hotel windows provided a great canvas to work from, and fortunately the hotel staff were very understanding 🙂 Here is what their work looked like from outside the hotel:

ALE2011 Kids Make Post-It Art

Afterwards, we went outside to admire their great art work. Never one to pass up on some fun, Mike came too 🙂

The ALE2011 Post-It Wars Team
The ALE2011 Post-It Wars Team

Some of the kids put their new skills to good use at Thursday night’s dinner.

Marshmallow Challenge

The Marshmallow Challenge is a fun game that I often play with teams. You can play it with friends and family too. At ALE2011 I played it with the ALE families. This time they picked Red Hot Chilli Peppers, U2, Bon Jovi and the Beatles. Rock’n’Roll!

ALE2011 Families Play the Marshmallow Challenge
ALE2011 Families Play the Marshmallow Challenge
ALE2011 Families Play the Marshmallow Challenge
ALE2011 Families Play the Marshmallow Challenge
ALE2011 Families Play the Marshmallow Challenge
ALE2011 Families Play the Marshmallow Challenge
ALE2011 Families Play the Marshmallow Challenge
ALE2011 Families Play the Marshmallow Challenge

Other Games and Activities

Oana Jancu, whose kids were also there, taught everyone ‘Where Are Your Keys?“, an amazing game for learning new skills, particularly new languages. The kids used the game to learn some Portuguese, French, and Irish. Monika played lots of games, arts and crafts activities.  Christiane spent all day Wednesday and Friday with the families. She taught them origami and brought them to the Zoo and Natural History Museum.

ALE2011 Spouse and Kids: Zoo Tour -The Elephants at Berlin Zoo
Learning About Elephants at Berlin Zoo

That’s an elephant’s tooth the tour guide is holding.

ALE2011 Spouse and Kids: Zoo Tour - Watching the Monkeys at Berlin Zoo
Watching the Monkeys at Berlin Zoo
ALE2011 Spouse and Kids: Zoo Tour - Feeding the Monkeys at Berlin Zoo
Feeding the Monkeys at Berlin Zoo

Why Include Spouse and Children in a Conference?

There are at least three big reasons why I think its important to include a Spouse and Kids Program in the conference:

  1. Some of us attend a lot of conferences. That’s a lot of time away from home and family. Being able to bring them with us and hang out during and around the conference is a good thing. Even if you go to only one conference, it’s still nice to be able to bring your spouse and kids. Of course you can bring your family on any trip; the difference with ALE2011 is they were an integrated part of the conference. I like that my wife and children could meet some of the people I have come to know and consider friends. It’s fantastic that my kids can have the opportunity to make friends with other kids from around the world. Vasco tweeted that it made his quality of life better; I concur.
  2. It gives our families a chance to see what we do at conferences. It can be hard sometimes to explain to our families what we do for a living. This gives them some insights.
  3. It is an opportunity to inspire kids to consider a career in our industry. Many countries are struggling to find people with the right skills to fill job vacancies, and there is a growing shortage of children (particularly girls) taking science, maths and engineering courses in school and university. This is a real crisis for our profession. Attending a fun conference can leave them with positive feelings and memories. If they can see that what we do can be a fun and rewarding path, and spread the word to their friends, that can only be a good thing for the future of our industry.
ALE2011 Kids Post-It Art Team with Ice Cream
ALE2011 Kids Post-It Art Team with Ice Cream

Looking Ahead

It was a great pleasure to meet and spend time with the families of Oana, Vasco, Kurt, Andrea and others. I hope this is a tradition we can continue at ALE conferences, and maybe even extend to some other conferences. Based on feedback so far, including the retrospective output, it seems to have been a positive experience overall. Let’s see how we can make it even better for next time.

The Marshmallow Challenge

The Marshmallow Challenge is a game for learning about innovation, creativity, teams, collaboration, as well as the value of early prototyping and incremental delivery. Part of the real power of the game is in helping people to identify the hidden assumptions that every project has, and to recognize the value in diversity of team membership.

I came across the Marshmallow Challenge last year, but I didn’t get a chance to play it until I attended the Play4Agile Conference in Germany earlier this year, where Michael Sahota facilitated a great session one night in the hotel bar (which was full of conference attendees, all taking part). Since then I’ve run the Marshmallow Challenge several times.

Running the Marshmallow Challenge Game

Materials

For each team, you need

  • 20 sticks of spaghetti
  • 1 meter of tape
  • 1 meter of string
  • 1 marshmallow
  • 1 large envelope (optional)

You will also need one measuring tape.

I use my iPod and speakers to provide a soundtrack while the game is in play.

Preparation

Just to add to the mystery I like to prepare in advance the envelopes containing the spaghetti sticks and string, and hand out the envelopes before explaining what the game is.

Playing the Game

  • Hand out the envelopes to each team. I ask them to wait until everyone has one before opening them.
  • Explain the objective of building a tower.
  • Explain the rules.
  • I often hold back the marshmallow until this point. Up until now they know they have to build a tower. Adding a light, fluffy marshmallow is no big deal, right?
  • Everybody starts building their towers at the same time.
  • I like to play music during the game play, something upbeat to add to the atmosphere. I have a few playlists created that are approximately 18 minutes long.
  • Repeat the rules out loud a few times during the session. People will ask for clarification anyway.
  • Draw attention to teams that are doing particularly well (or poorly) – create a little friendly competition.
  • The winner is the team that has the tallest free-standing structure at the end of the 18 minutes. So, if, for example, a team decides to stop building after 10 minutes, their tower must still be standing at the end of the game.

There are more detailed instructions over on the Marshmallow Challenge home page.

Review and Wrap up

The review is where the reflection happens. Think of it as a retrospective of sorts.

Where to use it

I’ve used this at project kick-offs, at the start of release planning sessions, in retrospectives. You can use it in just about any situation where you have a group of people who want to gain insights into working together.

In this picture, I am running a Marshmallow Challenge with 50+ people at the kick-off for a new project.

The Marshmallow Challenge with 50+ People

The winner that day was an impressive 34.5 inches.

The Winning Marshmallow Tower

Here is a TED Talk video by Tim Wujec describing the Marshmallow Challenge:

Bringing Your Work Home With You

I’ve played the Marshmallow Challenge at home too. My kids were with me when I was shopping for supplies, so of course they wanted to know that the marshmallows were for. When I told them they were for a game, they wanted to play too. We had a full house that night, as their cousins were visiting too, so we had enough for three teams, slightly bending the rules on numbers. They were quick to catch on to the value of early prototyping and working as a team. It was a lot of fun – one of the better ways to bring your work home with you.

References

Using Silent Grouping to Size User Stories

Introduction

User stories are used to describe the functionality delivered in a product or system. Planning Poker is a common technique for sizing user stories, but it can sometimes be challenging. It can be time consuming and teams can get bogged down in unnecessary discussion. There is a technique called Silent Grouping that can be used to compliment Planning Poker, allowing large sets of user stories to be sized in minutes. Silent Grouping has several advantages. It is fast, which in turn leads to significant time and cost savings.

The Silent Grouping Technique

Background

Silent Grouping is a facilitation technique for getting people to group related items without talking. Jean Tabaka has a summary of the technique in her book ‘Collaboration Explained’ as part of a set of techniques used to help teams process large amounts of information. Jean’s variation of the technique is described in the context of conducting a retrospective, but it is equally applicable to grouping user stories.

Overview

There are variations in how this technique is applied. I usually apply the technique in four parts: preparation, individual placement, group placement, and, finally, discussion and reflection. Each part serves a specific purpose, as shown in the table:

Part

Goals

Preparation

Lay the ground rules; set expectations

Round 1: Individual Placement

Quickly get an initial size estimate for all of the user stories

Round 2: Group Placement

Give everyone an opportunity to (silently) provide input to all user stories

Discussion and Reflection

Resolve any disputes; reflect on experience; gain consensus before moving on; discuss insights

Preparation

The facilitator prepares the board. The columns represent the groups referred to in the name of the technique. The team needs to decide on a scale to use for user story point sizes. Many agile teams now use the Fibonacci sequence for user story point sizes. The user stories should be placed somewhere visible and easily accessible so a smooth flow can be established. Pinning or sticking them to an adjacent wall space or laying them out on a table works well. The board should look like this before the team begins:

Blank Sizing Wall for Silent Grouping

It is a good idea to prepare a Parking Lot for any user stories whose grouping cannot be agreed. I usually put this just beside the Grouping board.

Choose and agree a mid-size user story for starting off. This is the bench mark against which the first few user stories will be compared. After that, triangulation will take over and people will size the current user story against all currently sized user stories.

If the team is new to Silent Grouping, the facilitator explains the technique as part of the preparation, and answers any questions.

Round 1: Individual Placement

Team members take turns, one at a time, to place one user story on the board. The goal in this round is to get all the user stories on the board, and hence get an initial size estimate for all user stories.

I find that simply forming a line is the easiest way to run this part of the exercise. As each person takes their turn, they rejoin the back of the line.

Round 2: Group Placement

The team stands around the board. At this point all user stories are on the board. Team members take turns stepping forward and moving one user story at a time. The goal in this round is to get to team consensus on the size of all the user stories.

There can be contention in this round. A user story can get moved repeatedly, e.g., one team member can move a user story, e.g., from a 5 to an 8, and another team member can move it back to a 5. The team has been instructed to consider why the user story might have been moved. Very often, this act of observation and conscious consideration is enough to resolve the disagreement, and the parties will agree on a size without any verbal discussion.

It can happen that two or more people will move a user story back and forth between two (or more) columns, and nobody is prepared to compromise. This is generally a signal that more discussion is required for this specific user story. As the facilitator, when you observe this interaction just remove the user story form the board and place it in the Parking Lot that you prepared earlier. In practice I have found that this tends to occur relatively rarely.

Risks to watch out for in this round include people not participating. This can take a number of forms. They can stand back and just observe, and not size anything after Round 1. They can become disengaged and not observe the proceedings at all. Both of these can be signs of underlying issues. This is where the skill and experience of the facilitator is important, first in recognizing the symptoms, and then dealing with it.

Discussion and Reflection

The facilitator facilitates a short discussion between the team to gauge the level of confidence in the sizes. The Fist of Five is a good technique to use here. It quickly gives a sense for how confident the team is in the sizing that they just performed.

Full Sizing Wall for Silent Grouping of User Stories

Variations

I used to use a ‘?’ column to group user stories that people felt could not be sized because there were too many unknowns. Planning Poker has a ‘?’ card too. However, I found that this provided too easy a way out. I want to provide a situation where teams are forced to either make a decision or openly disagree with each other and question the size of the user story. Decide what’s appropriate for you, but these days I prefer to not use the ‘?’ column.

Summary of Benefits

I have observed the following benefits from using the Silent Grouping technique:

  • It is very fast. You can size large sets of user stories in minutes.
  • It is scalable. I have used this technique with up to 8 Scrum Teams (55 people) in parallel, to size 677 user stories in 28 minutes.
  • It very quickly surfaces any unknowns or areas of disagreement within the team.
  • It is inclusive. Everyone gets the opportunity to comment on all user stories.
  • It works well as a compliment to Planning Poker. You can size initial benchmark user stories using Planning Poker. For any user stories that don’t gain consensus during Silent Grouping, you can size those with Planning Poker.
  • Because the Silent Grouping technique explicitly disallows talking, it is easier for more introverted team members to exert their influence. Conversely, it is harder for more dominant team members to exert their influence just by force of argument or discussion – something that can happen in Planning Poker.
  • If there are language barriers in your team, e.g., if you work with global teams who do not share a common first language ( a very common scenario these days), then Silent Grouping is a good leveler.
  • You can sometimes observe a noticeable delay among Planning Poker players as they wait for others to show their hand first. With Silent Grouping, particularly in Round 1, people must make a decision themselves without influence from others.
  • Silent Grouping applies the wisdom of the entire team to quickly size large sets of user stories. Just like in James Surowiecki’s book, the team will be familiar with the problem domain already. E.g., in one of the early examples in Surowiecki’s book, the people guessing the weight of the cow were all experienced farmers. If it is a truly new problem domain for the team then they need to spend some time before sizing just getting familiar with the problem domain.

Playing Silent Grouping at the XP2011 Conference

I had prepared some slides for my session at the XP2011 Conference, but as it turned out, I did not use the slides. Instead, I decided to run an actual Silent Grouping session. I asked for seven volunteers to pretend to be a Scrum team, and one other volunteer to be a time keeper.

XP 2011 Participants Playing Silent Grouping

When teaching this technique it’s useful to have a backlog of user stories already prepared. Rather than try to come up with a contrived product example, I like to use animals. Most people are familiar with most types of animals, so it makes for a good problem domain. To simulate reality, add in a couple of unfamiliar animals, or some that might appear to be ambiguous. For the XP Conference I used 42 sticky notes with stickers of animals. Some animals were represented more than once.

The team sized all 42 user stories in about six minutes.

Animal User Stories After Silent Grouping

Several people who came to my session at the XP Conference tried it out when they got back to work, including @ruby_gem.

Slide Deck

The slide deck is here:

Research Paper

My talk at XP2011 was based on a research paper that I submitted to the conference, and was published as part of the conference proceedings. I was delighted to be named in the final four at the conference banquet for the award for Best Research Paper.

The paper draws on experiences of seven Scrum teams as examples. The paper shows how to apply the technique with co-located teams, and includes an example of how it was used with distributed teams. The paper is 15 pages long and contains some data, charts and more detail on the technique and its application. The proceedings are available from Springer.

Let me know how you get on

I keep records every time I run this, and I also keep records of other ScrumMasters and coaches that use it. I would love to hear how Silent Grouping works out for you. Get in touch and let me know the following. I’ll be happy to credit you in any future papers.

  • Team size
  • Number of user stories
  • Time to size the user stories
  • Number of user stories that needed discussion afterwards
  • Number of user stories sized with Planning Poker
  • Any comments, experiences or insights from you or your team

Definition of Ready

Introduction

Many agile teams are familiar with Definition of Done as a set of agreements that let everyone know when a user story (or a sprint or a release) is really done, and all necessary activities are complete. Definition of Ready is a set of agreements that lets everyone know when something is ready to begin, e.g., when a user story is ready to be taken into a sprint, or when all necessary conditions are right for a team to start a sprint.

Life of a User Story

The typical life of a User Story is shown in the following diagram:

Life of a User Story from Concept to Happy User

At some point in time someone will have an idea or concept for a new feature. The concept will be expressed as one or more user stories, and get added to a product backlog. The team, working together, will figure out how to turn this concept, expressed as one or more user stories, into a real product feature that delights end users. That’s the abridged version; all sorts of interesting things happen along the way.

Viewed another way, we can consider the level of focus that a user story gets at different times.

The life of a User Story in a typical Scrum project

The horizontal axis represents time. The vertical axis examines the level of focus on the user story from the perspective of the Product Owner and the Delivery Team. Of course there are other stakeholders in the user story, but these are the two perspectives I want to consider right now.

Let’s assume we’re talking about a typical Scrum team, although the details are similar for any other agile process. At some point before the Sprint starts (represented by Sstart) the Product Owner has a high degree of focus on the user story. They are trying to figure out what the value is for the user, and how to express that as a user story. As we approach the start of the Sprint, the rest of the team increases their focus on the user story. As part of their Backlog Grooming and look-ahead planning activities the team will start to consider the user story’s general feasibility, acceptance criteria, dependencies and related details. The team will size the user story, and maybe even start to think about the tasks.

Between Sstart and Send the team works on delivering the user story. The team gets into more detail than the Product Owner during this period, as they figure out the software design, test cases, user experience details, implementation details, and generally work towards getting the user story Done (according to the team’s own Definition of Done) and Accepted by the Product Owner. The Product Owner is involved every step of the way – the intention of the diagram is to convey that the team is bringing a higher degree of focus during this time.

After the user story has been accepted the team’s focus changes to the next user story.

At some point after the Sprint ends (represented by Send) the team is considering the product as a whole, and preparing to ship it. By this time the user story has been combined with many others to form a complete product.

Synchronization points

The Product Owner and Delivery Team work at different cadences. They focus on different things at different times. Time-boxed iterations (or Sprints) are one way to synchronize their different areas of focus. Having a Definition of Ready that serves as a set of mutual agreements between Product Owner and the rest of the team brings a focus to upcoming Sprint synchronization points.

Why Have a Definition of Ready?

A Definition of Ready lets everyone know when a User Story is really ready to be taken into a Sprint. It does not need to be “100% defined” with all acceptance criteria, etc. but it should be “ready enough” so that the team is confident they can successfully deliver the user story.

It will save a lot of time if each user story meets Definition of Ready before the Sprint Planning meeting, but it is also OK to work on the user story during the Sprint Planning meeting to bring it to Ready.

Sample Definition of Ready

This section shows a sample Definition of Ready for a user story, and a sample Definition of Ready for a Sprint. I generally use these as baselines or starting points, and work with teams at the start of a project or release to customize the Definition of Ready for their product and environment.

Definition of Ready for a User Story

  • User Story defined
  • User Story Acceptance Criteria defined
  • User Story dependencies identified
  • User Story sized by Delivery Team
  • Scrum Team accepts User Experience artefacts
  • Performance criteria identified, where appropriate
  • Person who will accept the User Story is identified
  • Team has a good idea what it will mean to Demo the User Story
Most of these bullet points are targeting specific problems I have encountered on projects over the years. A little preparation can go a long way towards helping the team delivery user stories. When I presented this at XP 2011, one of the participants suggested adding that last bullet point. I like that suggestion.
I advocate that teams do not commit to taking a user story into a Sprint unless there is sufficient clarity and evidence of commitment from Product Owners. Remember the “3 Cs” of a user story (Card, Confirmation, Conversation). There’s a balance here, and judgement and common sense need to be applied. We don’t want to replace the Conversation aspect. I am not suggesting to turn user stories into specifications. I am suggesting that Product Owners and teams give themselves a greater chance at successful delivery of user stories by considering some issues ahead of the Sprint.

Definition of Ready for a Sprint

  • The Sprint Backlog is prioritized
  • The Spring Backlog contains all defects, User Stories and other work that the team is committing to
  • No hidden work
  • All team members have calculated their capacity for the Sprint
    • Fulltime on project = X hours per day
  • All User Stories meet Definition of Ready

Examples of ‘other work’ might include lab setup, build environment maintenance, creating a test application.

Scrum Masters, working with Product Owners and the rest of team, can use this to prepare for upcoming Sprints.

Slides

These are the slides from my talk at XP 2011 in Madrid:

Conclusion

Try using Definition of Ready to bring a focus to Backlog Grooming meetings and Look-Ahead planning activities. Product Owners can use it as a guide when preparing user stories for upcoming Sprints. Teams can use it as a checklist to make sure that they have an increased chance of success in delivering the completed user story, and that there is enough thought gone into the user story before they start to deliver it.

Refactoring the Organization Design – LESS2010

I was invited to speak at the First International Conference on Lean Enterprise Software and Systems, 2010, in Helsinki last week. I presented on the topic of organization change in engineering organisations, as part of the Scaling Agile to Lead track.

The main theme of my talk was in support of applying concepts from Stakeholder Management to support agile and lean adoption. I used the concept of refactoring to talk about some of the changes that can be made to organizations, and showed some examples of how Martin Fowler’s classic Refactorings can be re-purposed to talk about organization design rather than software design.

The main topics of my talk were:

  • Using Dan Pink’s Motivation 3.0 Type-I toolkit for intrinsic motivation as a guide for what we should be refactoring towards
  • Refactoring applied to Organization Design
  • Agile transition journeys
  • Designing a process: core framework versus toolbox
  • Refactoring toolshed
  • Stakeholder Management
  • Stakeholder Mapping applied to Scrum teams
  • Stakeholder Management and the challenges of Product Ownership for large organizations
  • Stakeholder Management and the role of manager
  • Stakeholder engagement
  • The power of metaphors for organizational learning
  • Jazz improvisation as a metaphor for organizational learning and stakeholder engagement
  • Artful Making as a metaphor for software development and stakeholder engagement
  • Organization Patterns

Paper Abstract

The following is from the abstract of my paper that was published in the conference proceedings:

Every organization has a design. As an organization grows, that design evolves. A decision to embrace agile and lean methods can expose weaknesses in the design. The concept of refactoring as applied to software design helps to improve the overall structure of the product or system. Principles of refactoring can also be applied to organization design. As with software design, the design of our organization can benefit from deliberate improvement efforts, but those efforts must have a purpose, and must serve the broad community of stakeholders that affect, or are affected by, the organization. Refactoring to agile and lean organizations demands that we have a shared vision of what the refactoring needs to achieve, and that we optimize the organization around the people doing the work.

The full conference proceedings are available form Springer.

Presentation slides

My presentation slides are here: