Synesthesia

Notes on stuff

Tagged Posts: leanprogrammeshaping

Lean Programme Shaping – Models

How can visual models improve the flow of work during programme shaping?

This is the sixth post in a series about applying the lessons of lean (especially lean software development) to the shaping phase of programme management.

In previous posts I have talked about amplifying learning, the application of the ideas of flow and a value stream to programme shaping, and touched on sources of “waste” in the typical programme environment.

In this post I want to talk a bit about (visual) models.

I’ve found two sorts of model useful when pulling together a programme – models of the shaping process itself, and models of the programme design.

Modelling the Programme Shaping Process

Kanban Board

In previous posts I’ve talked about looking for flow in the programme shaping process. Every organisation, and to some extent every programme, will have a different flow for the shaping process.

For most this will involve some number of iterations of capturing and designing information, creating programme artifacts, and seeking approval from various stakeholders.  I have talked about keeping work-in-progress to a minimum, and the classic tool for managing that is a kanban board.

Modelling the Programme Design

UML Example - Mapping Projects to Capabilities

The other area where models are vital is in describing how the programme will work and what it will deliver – in other words, the design of the programme itself. Programme documentation has always been a way of sharing a model of how things will work and what will be achieved, but I think there are lessons we can learn from other disciplines to make the documentation more useful.

Many traditional programme documents are heavy on words and light on diagrams. Words are vital for providing detail, but they are not the best choice for communicating the relationships between concepts, nor for illustrating causal chains (for example from enabling projects to capabilities to benefits to outcomes).

I’m suggesting that as programme managers we can usefully make more use of visual models to augment our programme documentation, and to model the relationships between different parts of the documentation.

There are specialist tools (e.g. ChangeDirector) which make extensive use of graphical techniques, however not every organisation will have access to these. I have had some success in using general purpose UML modelling tools to support programme shaping work, and it’s an area I am actively exploring further. One background project that I hope to blog more on later is the creation of a UML Profile for Programme Management

I’d like to hear from other programme managers about their experience with visual modelling.

Picture credit: David Larabee

Lean Programme Shaping – Amplifying Learning

This is the fifth post in a series of thought experiments on applying Lean/Agile principles to the early shaping stages of a programme.

In  previous posts I have talked about the application of the ideas of flow and a value stream to programme shaping, and touched on sources of “waste” in the typical programme environment.

Again borrowing heavily from the Poppendiecks for my conceptual structure, I want to think about learning in our context, and how we can make it work better.

Programme Shaping as a Learning Process

What are we learning about during programme shaping? A few thoughts:

  • Stakeholder expectations and perceptions;
  • The shape of the perceived problem, the nature of the programme objectives, the expected benefits and how they relate to each other;
  • The enablers and business changes that will support the benefits;
  • Increasing amounts of detail and quantification around benefits, costs, risks;
  • Alternative solution approaches and trade-offs;
  • The quality criteria that will be imposed at decision gates, and/or that we may determine for ourselves;

As we learn more about these areas we progressively build and refine our product – the design of the programme as a system.

This sort of learning process can be likened to the Deming Plan-Do-Check-Act cycle (PDCA).

PDCA Cycle

So our question becomes “how do we iterate the learning cycle faster during programme shaping?”. Drawing on the agile software approach, I suggest the following themes:

Iterating Faster

If we are going to learn faster about what shape of programme is most likely to be acceptable and successful, we need to increase the speed with which we plan, develop and review our growing programme design. Translating good practice from the agile and lean engineering movements we get the following points:

  • Break the programme design work down into small deliverables;
  • Clarify the stakeholder requirements for each deliverable – “what will good look like?”;
  • Build quality in explicitly;
  • Actively constrain the number of deliverables started at any one time;
  • Frequent feedback from stakeholders. Look at physical proximity (e.g. where the team sits), access to diaries, collaboration technology.

Build Shared Understanding

A central challenge to effective consensus building comes from the intangible nature of the concepts under discussion and the relationships between those concepts. Approaches that offer visual modelling to support rapid understanding of conceptual relationships, supported by the right blend of numerical and textual “backing information”  to support deeper understanding and analysis are helpful here.

In my experience a visual meta-model of the programme shaping artifacts is also a useful tool to clarify the dependencies between different outputs.

Simplify Programme Documentation

Published methodologies such as MSP are often (or are often interpreted as) document heavy. The work to synchronise work products expands exponentially with the number of separate but inter-dependent documents. Following the lead of others (sorry no references to hand) I find it helpful to think of different programme documents as merely different views into the programme model.

In the ideal case this will be literally true, with the model held in a central computerised repository that can create the necessary views. However many programmes will not have that luxury, and are faced with maintaining a set of separate documents. In that situation I have found the following ideas useful:

  • Actively simplify the document set, don’t just produce every document that is listed in your favourite (or mandated) methodology). For each document ask yourself what question that document answers, or what decision it supports. If you can’t answer, then you may well not need it. Adopting this approach successfully may require active engagement with, and influencing of, the”quality police” – PMO, Internal Audit etc.
  • Model the documentation set to clarify dependencies between documents. The systems design principles of high coherence within a document and low coupling between documents are a good guide. If all you have is Visio, then that’s better than nothing, but I’ve found that a UML modelling tool can be very useful in this regard.
  • If possible, automate production of documents from a common source. For example, with the right modelling tool it may be possible to auto-generate some documents, moving a step towards the nirvana of an all-encompassing data repository.
  • Use a version control system to track document history and tag consistent sets of documents. My personal preference is Subversion, as it is free, available on several platforms, well-known, and supported by a number of tools.

Synchronise Work Frequently

In the initial stages of programme shaping there may only be one or two people involved, so keeping the work in sync is often “just” the problem of keeping the document set consistent. Once more than a couple of people are working on the idea then it becomes increasingly possible for the work to diverge, increasing the risk of re-work being needed. Until someone invents automated integration tests for programme documents :-) we are faced with using the design of our shaping process to keep the work on track.

  • Faster iterations, changing relatively small parts of the concept at each pass, are the first step;
  • Keeping documentation as simple as possible, with well-designed and understood inter-dependencies between documents;
  • Taking a set-based approach to solution design. For example if you had a team working on high-level technology decisions for the enabling projects working alongside another team looking at organisational decisions, encourage each to maintain a set of options in their design. As the programme shape firms up, each team can narrow their options.

I’d be interested in dialogue to sharpen these ideas, do please comment below!

(Image credit: Karn G. Bulsuk)

  • Follow Me

  • Subscribe by Email

    Enter your email address:

    Delivered by FeedBurner

  • Conversations Elsewhere

  • Meta

  • Copyright

    • Unless otherwise expressly stated, all original material of whatever nature created by Julian Elve and included in this weblog and any related pages is licensed under a Creative Commons License.
    • Creative Commons License
  • Valid XHTML 1.0 Strict