Retrospectives: A Business Process Improvement Lesson from the Software Development World

In a previous post, we talked about the biweekly continuous improvement meetings that our development team uses.  To ensure these meetings are effective we use a process called a retrospective, which is commonly used in agile software development teams.    

Excellent teams do not simply appear.  They emerge over time and then only by deliberate attention to improvement.  Retrospectives are a key ingredient in that emergence.  Despite sounding like a buzzword, these meetings are a focused way to run a continuous improvement meeting for any type of team.  The retrospective meeting emphasizes on how the team is working—its processes and its culture—by identifying what has been working well, what could be going better, and what the team wants to try doing differently going forward.

Running a retrospective is a lightweight and efficient approach to continuous improvement.  Here’s a quick guide to help you get started.

The Process

A retrospective meeting focuses on three topics: what went well, what could have gone better, and what we want to try to do differently.  Each member of the team comes with ideas for the first two topics, the team discusses each persons’ ideas for those topics, and the team identifies changes it can try before the next meeting.  Here’s some more detail about each topic:

What went well?  Each person identifies ways that the team worked well.  These should be focused on process.  On “how” rather than “what.”  Perhaps the team did a really good job communicating changes to a product.  Maybe the team made good use of a new tracking tool and production went more smoothly than it had in the past.

There are many possibilities and the items that make the list may vary considerably from meeting to meeting, depending on the particular work the team is focused on at the time.  The important thing to remember is to focus on how the team is working as those are the areas in which they can most easily make improvements.

What could have gone better?  While the first topic focuses on how the team worked well, this topic tackles the areas in which the team felt it struggled.  Perhaps they discovered that a shipment was missing components at the last minute before it shipped and someone had to run around trying to fix it last minute.  Alternatively, someone may have struggled to find the information needed to complete their task.  The team should discuss each observation and consider what they might have done differently or what process they would change to help avoid the issue in the future.

What to do differently?  After the team explores what went well and what could have gone better, they should consider what they might do differently before the next meeting.  Ideas for these changes could come from items that went well, allowing the team to build on their past successes.  Alternatively, the items can come from the team’s observations about its struggles.

When selecting items to try differently, the team should choose items that can reasonably progress before the next meeting and should only choose as many items as they can focus on.  We usually find that this is in the 2-4 item range.  What if you have more ideas than you can implement?  We often create our list for the next meeting and add them to the next meeting’s ideas for improvement so that we can consider them again in the future.

Two tips on keeping your team focused on the areas for improvement:

  1. Between meetings, review how the team is doing on the items you chose.  If the team has a daily status meeting, talk about these items twice a week.  If it doesn’t have a status meeting, nominate someone to check on the status and communicate it to the whole team a couple of times a week.
  2. At the start of each retrospective meeting, review how the team did on the items that you chose to focus on at the last retrospective meeting.  In what ways was the team successful?  What still needs more work?  What items or actions weren’t as important as the team thought?  If there are any items that the team wants to keep working on, they can be added as ideas for improvement for the current meeting.

The Logistics

What happens in the room stays in the room.  The contents and discussions in the retrospective are meant to be for the team.  To ensure that the team can have candid and meaningful discussions, the content of the meetings should remain for the team’s eyes only.  Without this confidentiality, the team may not feel comfortable addressing politically charged areas and will not be able to realize their full potential for improvement.

Choose a frequency for the meeting.  At Renaissance Information Systems, we hold retrospectives every two weeks, which is common among development teams.  Much more often than that and the team doesn’t have enough time test changes between the meetings.  Holding them less frequently than every 3-4 weeks makes it difficult for the team to remember what happened so long ago.  Think about the rhythm of your business and pick a frequency that makes sense for your team.

Budget an hour or so.  Retrospectives take about an hour to run through.  The goal is to have an opportunity to discuss each team member’s observations.  This gives the team a chance to think about what each observation means for the team and if there is anything they want to do differently.

Designate a facilitator.  The facilitator guides the team through the meeting, ensuring the team members understand and follow the process. The facilitator could be the same each time or could rotate among team members. Consider what will work best to build an open, honest team spirit, given your organizational culture.

Document the discussion.  Find a way to document the discussion, preferably involving the team members (this helps to keep everyone engaged in the meeting).  The method you use to do this will likely vary depending on how your team is structured.

Our RIS team is composed of remote workers, so we can’t meet in a conference room.  Instead, we use a board on a tool called Trello.  We make a list for each meeting with a section for each category (see below for an example).  Each person is able to enter cards to the list ahead of time and we then all discuss during the meeting.  Entering cards in the items for improvement section as we go.

We have worked with another team in which all the members are located in the same office.  That team uses sticky notes and sticks them on a whiteboard in the conference room.  Each person comes with their ideas and takes turns putting them on the board.  As each person puts their sticky notes on the board they explain it to the team and everyone discusses.

The Result

We found that this process quickly focused us on bite-sized areas that we could improve and we saw huge improvements in our team processes within just a month or two.  We continue using the process, meeting every two weeks and incrementally improving and adjusting our processes.

Just like each team needs to continuously focus on how it can work better and improve, so too should your software.  To find out more about how continuous improvement can benefit your team and your software, contact us below.

Alex's Business Bits and Bytes

Every other week I like to share a collection of links that I think are interesting or insightful in the realms of business and technology.  Hopefully they spark a new insight for you!

Let us know what you think of these links using the contact us form below!

Business Process Improvement from a Software Development Perspective

Every business should be doing some form of continuous improvement.

It’s a core business best practice based on the notion that businesses can optimize efficiency, thereby achieving greater success through the cumulative effects of small incremental changes.  Yet, Continuous Improvement systems such as Lean, Six-Sigma, Kaizen, and Kanban that have come out of large companies can be intimidating.  The buzzwords alone can be enough to make your head spin.  Regardless, we all know that if you stand still in business you will eventually lose.  So, how do you get started with continuous improvement without getting stymied by the buzzwords?

In our business world, we have found it best to start small.

The Lean manufacturing approach and Six-Sigma evolved from large enterprise improvement efforts that take months or years to implement and produce rewards.  They involve intense involvement throughout complex organizations and a significant focus and executive support to be successful.  No doubt, this is the right way to roll out an enterprise-wide program across a large organization.  However, principles of continuous improvement, the essence of all of these systems, can be applied on a much smaller scale and grown from there.

Start with a small group.

For a small or medium business, this could be at the department or team level spearheaded by a manager or director.  It’s important to have active participation and ownership by everyone on the team.  If you are a micro-business, this might be your whole team.  If you are an individual entrepreneur, form a committee of advisors who are not your direct competitors and can act as a knowledgeable sounding board.

At our company, our software development team implemented bi-weekly continuous improvement meetings that last no more than an hour.  This has improved the team’s communication and understanding of shared goals.

Find the things you and your team wish would work better.

Develop and/or review team goals.  Envision your ideal operational state.  Celebrate what is working well and identify how it could be even better.  Find your current pain points, asking questions like:

  • What takes longer than it should?
  • What seems more complicated than it needs to be?
  • What gets in the way of completing competing priorities? 

Through their continuous improvement meetings, our development team identified a time-wasting disconnect between our work timer and billing system that was increasing our overhead cost and not providing timely information for workload and revenue management.  

Problem Solve, Prioritize, and Act.

Decide where to start.  What might be easiest to accomplish?  What would have the most positive impact?  What is most important?  What is most urgent?  What is affordable?  What expertise can be drawn on internally or externally?

As much as we wanted to replace the timer with an integrated system that would give us real-time views into our project time, the truth was that such a system was not, at that point, a high enough priority to incur the expense of buying and implementing a new, more complex system.  Instead, we identified the root of the issue: with our system, we had to adjust each time record manually before billing and this was too time-consuming to be done regularly.  We figured out we could solve that small piece of our challenge by writing a script to edit the exported time records and round them to quarter-hour increments before we imported them for invoicing.

Review results.

Did you achieve what you set out to do?  How did the process go?  What did you learn?  What do you want to try next?

In our example, we are now able to quickly import time records any time we want and have improved our ability to track our expected revenue during the month.  We were able to accomplish this quickly, with a small change in our processes.

In a future post, we’ll introduce you to a lightweight framework for managing this process and reflecting on how to improve it and manage other items for improvement.

The key to our successful change was looking closely to find our core need and finding a simple way to make it work a bit better.  In this case, it was automating just one step in the larger process that proved to be the major bottleneck.

There are times when process changes alone can achieve improvements.  In the case of the RIS timer problem, a simple custom software solution was the key.  Today, in the age of information systems and data-driven decision-making, business process improvement is often made possible through information system improvements.

RIS specializes in information systems that support business operations across industry types and company size.  We work closely with our clients to help them achieve their continuous improvement goals through incremental information systems development.  We call it IISD.  No, just kidding.  No intimidating buzzwords here.  RIS works the way you need us to work and in a way you can understand.  To learn more about what we can do for you, contact us below!

Hello World - Custom Software Developers Supporting Business

Welcome to our first post on our brand new blog!  We've been building and maintaining custom business software for 25 years. Our experience covers business software solutions for small to medium-sized businesses from a broad range of industries. Through our blog, we'll share our stories and give you tips that will contribute to your business's success. Our posts will focus on typical business challenges, how software can help solve those challenges, and how companies can effectively use and integrate software into their business processes. To get started, we're focusing on simple but powerful continuous improvement practices that are used extensively in the agile software development world. Later, we will be writing about a variety of topics like techniques for assessing software needs and generating requirements, strategies for automating manual tasks, how to get the most out of your system's data, building and maintaining software systems, tips and tricks for maintaining legacy systems, and how to run successful software projects.

As software developers with a passion for business, we look forward to sharing our knowledge with you.  We welcome any questions you might have or any suggestions for topics that you'd like to see covered.  Just contact us using the form below!