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:

The Value Stream Manager (LESS2012)

I gave two talks at this year’s Lean Enterprise Software and Systems (LESS 2012) conference in Tallinn, Estonia. The topic of the first was identifying and managing waste. The topic of this second talk was applying the Value Stream Manager concept to software product development organisations.

For context, this talk first describes some common perspectives of organisations: the hierarchy perspective, the social network perspective, and the information flow perspective. We then talked about Value Stream mapping and Value Network mapping. I prefer the metaphor of a network to that of a stream for several reasons. One reason is the linearity implicit in the metaphor of a stream. Value does not flow smoothly in one direction all the time. Another reason is that networks are a better metaphor for modern knowledge-work organisations.

We went on to talk about the responsibilities of a Value Stream Manager, as described in the Lean literature, and how this translates for software product organisations. I went on to describe how Stakeholder Mapping is a useful technique that helps in identifying and creating Value Streams or Networks.

The summary from the talk is this:

  • Empower people to be Value Stream Managers
  • Develop their skills as Problem Solvers
  • Help them navigate the organization
  • Develop them as enablers of change
  • Use Stakeholder Maps to show who is affected
  • Use Value Stream Maps to show the flow
  • Use CFDs, Cycle Time and Lead Time to show delays (waste) and opportunities for improvement
  • Use A3 Problem Solving and Proposal Writing to enable Lean thinking and to optimize your Value Streams

The slides are available here:

Identifying and Managing Waste (LESS2012)

I gave two talks at this year’s Lean Enterprise Software and Systems (LESS 2012) conference in Tallinn, Estonia. The topic of the first was identifying and managing waste. (The second talk was about a related topic – applying the Value Stream Manager concept to software product development organisations.) Many Lean practitioners and researchers agree that the first step in creating a Lean organisation is learning to see waste.

I like to use a combination of serious games to identify wastes that are holding teams back. A combination of tools such as A3 Problem Solving, Kaizen Circles, and the Waste Matrix are great for managing these wastes.

Deming, among others, notes that 94% of the wastes (or loss) belong to the system, and are the responsibility of management. That leaves an amazing amount of opportunity for improvement if we can step back and see the system. In “The Lean Startup“, Eric Ries talks about the “criminal waste of human creativity and potential“, noting that “For all our vaunted efficiency in the making of things, our economy is still incredibly wasteful. This waste comes not from the inefficient organization of work but rather from working on the wrong things – and on an industrial scale. … It is hard to come by a solid estimate of just how wasteful modern work is.

My talk delved into some ways of categorising and quantifying the waste.

The summary from the talk is this:

  • There is waste in every system.
    • Learn to see it.
    • Eliminate it (or at least get it under control).
  • Develop people to be Problem Solvers.
  • You can have fun finding and eliminating waste by using serious games at work.
  • Use these techniques as part of your Continuous Improvement (Kaizen) efforts.
    • Release or Iteration Retrospectives are a great forum.
    • Dedicated Problem Solving Sessions
    • Continuous Improvement Circles
    • Strategy Sessions
    • Portfolio Management Sessions
    • Whenever you encounter a problem
  • Keep it Visible.

Here are the slides:

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:

Kaizen Games: Identifying and Managing Waste in Agile Teams

Kaizen is a Japanese term that means ‘continuous improvement’. Creating a culture of continuous improvement is one of the cornerstones of becoming an agile, lean-thinking organization.

It is generally accepted that the first step towards creating a truly lean organization is to identify and manage waste. I prefer to say ‘manage’ rather than ‘eliminate’ because you may choose to live with some waste in your organization, because the cost of completely eliminating it would be prohibitive, at least right now. Discussion of waste can be an emotive topic, so we need techniques that allow for a positive and constructive discussion, while also unearthing some of the deep issues that prevent teams and organizations from reaching their potential.

We can use serious games to identify and manage waste in a constructive and positive way. Games also help to engage people as part of an overall continuous improvement effort.

Workshops for Playing Games

I run workshops based on these techniques. I ran a variation of these workshops at the Agile India 2012 conference in Bengaluru, India this weekend (February 2012). Feedback for the session was very positive, and people were very engaged in the session, so thanks again to all who came along. We had over 100 people in the workshop, which felt a bit daunting at first, but turned out great. There was a lot of energy in the room.

The slides from the Agile India 2012 workshop are here:

The workshop generally runs in three parts. In the first part, we talk about some basic concepts and why it is important to look at waste in teams and organizations. In this part, I talk about the eight wastes of product development, influenced largely by the work of the Poppendiecks, Liker, Womack & Jones, etc.

Depending on the number of workshop participants, we usually split into smaller groups of 6-8 people.

The second part is an exercise to identify waste. I like to use the Speedboat Game for this. Although traditionally used as a means of understanding what customers do not like about our products, I have found it to be a very effective tool over the years for understanding what is not working well within a team or an organization.

The third part is an exercise to manage waste. I present a number of tools, including Value Stream Mapping, Value Network Mapping, A3 Problem Solving Reports, and a Waste Matrix. Each has a different purpose and are presented as complimentary tools in a tool set, rather than mutually exclusive options. Participants then choose a tool, and we play a game to take one or more of the wastes from Part 1, and show how the tool can be used to manage the waste(s).

Post-Game analysis is an important part of the session, giving people a chance to reflect and learn from each other.

Summary

Agile development aims to make the process of software development more effective and efficient for teams. However, agile product teams operate within a broad and complex system, and the scope of what the team can control is often limited by constraints imposed by the system, hence adopting a systems perspective is useful. Waste can and does occur in agile teams. Sometimes that waste is within the control of the team to manage; sometimes the broader system of which the team is part causes the waste. Using serious games provides a productive and constructive way of dealing with what can otherwise be an emotive topic. Used alone or with more traditional lean tools such as Value Network Maps, 5 Whys and A3 Reports, the combination of multiple games can engage stakeholders and contribute to a Kaizen effort in the organization. Serious games can be just as effective in creating a continuous improvement culture, and creating a more lean thinking organization, as they have been in product marketing. The Speedboat game in particular is very useful for generating large amounts of practical data about the wastes that are holding back a team. It is critical to follow up on the wastes identified using Speedboat. Turning the creation of A3 reports and Waste Matrices into collaborative activities helps with that.

Try it out with your team. Have fun fighting waste!