Pages

Thursday 5 January 2017

The Crystal Clear Tree

A little while back as part of an organisational merger I need to facilitate the coming together of two groups of agile coaches and agile project managers.

One group came from an organisation that was more Scrum focused and the other group from an organisation that seemed to be somewhat anti-Scrum, with scepticism around the defined levels of process and control within the framework. Both organisations however had a strong underlying alignment to agile values and principles and as part of the merger it was important that we identified these commonalities to provide a common ground for moving forwards.

There were also questions around how the teams at each organisation were working in practice. The two groups would need to come together and find a way of working in the new organisation and to do that we needed to explore and develop a shared understanding of each organisation and group’s current ways of working. For this to be an effective exercise we needed to avoid becoming bogged down in philosophical debates of Scrum, vs Kanban or any variation thereof and remain focused on exploring and understanding our practical commonalities and differences.

To provide a framework for that exploration I looked towards Alastair Cockburn’s Crystal Clear methodology and the properties contained within. For those unfamiliar with this approach Crystal Clear is part of the wider Crystal family of methodologies based on Alastair’s research of successful teams at IBM. Crystal methodologies are characterised by being human-powered, ultralight and stretch-to-fit (http://alistair.cockburn.us/Crystal+methodologies). That’s to say that they work to enhance the work of the people involved, to reduce overhead and bureaucracy and to start with something just smaller than you think you need and then grow it just enough according to context.

Crystal Clear is described as a human-powered methodology for small teams. It provides a highly optimised way to use a small, collocated team, prioritising for safety in delivering a satisfactory outcome, efficiency in development and habitability of the working conventions (http://alistair.cockburn.us/Crystal+Clear+distilled).

As such, Crystal Clear is a process agnostic approach to work which outlines the properties that characterise successful projects rather than prescribing a particular process or tool. This seemed like an ideal foundation on which to base our discussions, removing the potentially distracting topic of processes and tools from the equation and providing a neutral and focused container to explore how the software teams in each organisation strive to successfully deliver.

As part of using Crystal Clear in this context I gradually developed a way of illustrating the methodology in a concise and easy to understand format. In the spirit of agile growth and evolution I developed a Crystal Clear tree metaphor which is quick and easy to both deliver and understand. You can run through the metaphor with a team in just a few minutes and deliver a concise and powerful message. I thought it would be useful to outline here as an approach for outlining this lesser-mentioned approach or as inspiration for developing your own learning metaphor. I also happen to be a big fan of Crystal Clear and the thinking contained within and keen to support new ways of sharing that thinking.



*Apologies for the crudeness of the drawing

Roots

The roots of the tree represent the priorities of Crystal Clear. The priorities are essentially the outcomes that Crystal Clear seeks to deliver and they form the roots of the tree as everything else stems from them. Each priority is represented by a person symbol to emphasise the human-driven and people-centric nature of the approach. Crystal Cleat isn’t driven by process or tools, rather success is achieved though enhancing the work of the people involved. Each person represents a single priority; safety of outcome, efficiency of development and habitability of working conventions (whatever the ways of working, the development team needs to be able to live with them).

The Tree

With strong human-focus roots in place a strong a sturdy tree can grow.

Branches

The branches of the tree represent the Crystal Clear properties. There are two sets of properties in Crystal Clear, three properties that should be found on all projects (core) and four properties that are optional, although still important. It’s the branches that give the tree its shape just as it’s the properties that shape the success of a project.

The core properties are represented by the sturdiest, thickest branches whilst the optional properties are represented by branches that are thinner although still integral to the shape and balance of the tree.

The branches also provide a good way for the teams to measure their situation by gauging their alignment to each property. Teams can shade the branches according to where they think are with each one and use as a visual tool to focus and adjust their efforts.

Core properties:
1. Frequent delivery – The most important property of any project is to deliver working software frequently. Crystal Clear doesn’t dictate how frequently although greater frequency delivers higher project safety.
2. Reflective improvement – The team should regularly take time to reflect and improve on how it’s working. There’s always a better state to find.
3. Osmotic communication – This takes close communication to the next level. Team members are located so closely that they pick free-flowing information as though by osmosis.

Optional properties:
4. Personal safety – In order to truly improve a team needs to be able to speak out and address it weaknesses. In order to do this team members need to be able to speak out without fear of reprisal.
5. Focus – knowing what to work on and being able to work on it is essential to making progress. Teams should have clear goals and work items with minimal distractions.
6. Easy access to expert users – Rapid feedback is essential to gauge whether we’re heading in the right direction.  Expert users can be a valuable source of expert feedback.
7. Technical environment with automated tests, configuration management and frequent integration – Surprisingly still not embraced by all teams but all-important for safe and efficient software development.

Canopy

The canopy of the tree is made up from the smaller branches and leaves which represent the special eighth property in Crystal Clear; collaboration across organisational boundaries. This is property has special status because it’s a property in its own right providing additional project safety but also offers partial evidence that some of the other seven safety properties are being achieved.

It doesn't magically appear but comes from a strong sense of personal safety and working with a sense of honesty, amicability and integrity within and outside of the team. It can therefore be seen as a sign of a healthy ecosystem with the canopy being connected to and dependent on the branches of the tree.

Although clearly not an artistic masterpiece I find the simple tree metaphor works well to communicate the core messages at the heart of Crystal Clear. Hopefully it can be of use more widely and help spread the thinking further. In the meantime I’ll work on my drawing skills.

No comments:

Post a Comment