This posting, the latest in our series focused on a disciplined agile approach to continuous improvement, overviews the activities associated with it. The Disciplined Agile (DA) toolkit promotes an adaptive, context-sensitive strategy. The framework does this via its goal-driven approach that indicates the process factors you need to consider, a range of techniques or strategies for you to address each process factor, and the advantages and disadvantages of each technique. In this blog posting we present the goal diagram for the Continuous Improvement process blade and overview its process factors.
The following process goal diagram overviews the potential activities associated with disciplined agile continuous improvement. These activities are performed by, or at least supported by, a process improvement team (sometimes referred to as a Software Engineering Process Group, or SEPG).
The process factors that you need to consider for continuous improvement are:
- Identify improvements. There are several ways that your process improvement group can support the identify of potential improvements within your organization. One of the more effective strategies is to help teams adopt the practice of holding regular retrospectives. Although it is common for disciplined agile delivery teams to hold retrospectives this is often a new concept for enterprise architecture teams, IT governance teams, data management teams, and so on. We also get very good traction with value stream mapping and brainstorming sessions, which invariably proves to be far more effective than the traditional approach of creating current and proposed (business) process models that rarely seem to result in lasting acceptance of the proposed new way of working.
- Share improvements. As you can see there are multiple ways that you can share improvement ideas between teams, many of them being free or at least very inexpensive to implement. We’ve had very good experiences with internal discussion forums such as Jive or ActiveBoard, practitioner presentations (often called lunch and learns) where someone presents their learnings to others, lean coffee sessions where people voluntarily meet at a regular time to share ideas, and communities of practice (sometimes called guilds) who purposely collaborate to educate themselves in a given topic.
- Capture improvements. There are various ways that identified improvements may be captured to retain them over time. Possible strategies include describing each learning in a document and then managing that document in a documentation repository such as Sharepoint or more simply in a shared folder; capturing the learnings in a shared wiki such as Confluence; describing your evolving process using a process repository such as Stages or Rational Method Composer; or via an expert system such as Enterprise Transformation Advisor.
- Support teams. Your process improvement team can help others to adopt process improvement techniques through training, education, and coaching. They can also facilitate team assessments and retrospectives (a great idea is to co-facilitate a few retrospectives with someone on the team to transfer those skills to them). A very effective strategy is to help a team run a process improvement experiment or two, particularly in situations where the team isn’t being supported by a coach. This helps them see that they can safely try new ideas within their environment for a few iterations to determine whether it works for them or not. Many teams, particularly those new to agile, often do not feel empowered to run such experiments and thus need help to do so.
- Organize Communities of Practice (CoPs). A Community of Practice (CoP) is a collection of people who share a craft or profession who have banded together to ‘learn’ from each other to develop themselves and often even the organization. We’ve seen CoPs for testing, architecture, agile/lean, business analysis, technical debt, and many others. CoPs will often perform the activities called out by the Identify Improvements, Share Improvements, Capture Improvements, and Support Teams process factors. A CoP will often start up when one or more practitioners within your organization recognize the need for it, although sometimes it may also start to support the efforts of a corresponding Center of Excellence (CoE). Participation in a CoP is typically voluntary.
- Organize Centers of Excellence (CoEs). A Center of Excellence (CoE) is a group of people with specialized skills and expertise whose job is to provide leadership and purposely disseminate that knowledge within your organization. CoEs are often created by an organization to support the adoption of a new technology or technique, and in fact the creation of an Agile CoE is often a key component of your organization’s overall Agile transformation efforts. Over the years we’ve seen CoEs for object technology (particularly in the 90s when it was new to most companies), solution architecture, testing automation, and of course agile/lean. Participation as a member of a CoE will be part of, or the entire job for someone.
- Govern improvement. It is very common for senior management to want to know whether or not the organization is benefiting from your investment in adopting agile and lean techniques (or other potential improvements for that matter), how much things are improving, and how widespread the adoption is. The implication is that there needs to be some way to monitor and report on, preferably in a lightweight and streamlined manner, the improvement activities.
Future blog postings in this series will explore the workflow between continuous improvement and other process blades as well as the internal workflow of a process improvement team.