What is Cranked?
Article archived here from the Cranked Alliance website.
Welcome to Cranked – a framework with an example implementation; a sequence of stages, activities and practices that draws inspiration from many lean and agile sources.
- Reduce Waste
- No Estimates
- Extreme Programming
- Drip Funding / Deploy Continuously
The Cranked framework seeks to dramatically reduce feedback loops by helping teams to quickly create product increments that test business assumptions. The framework includes many activities that are designed to ensure that the fast cycle times can be maintained or even improved over time.
The term cranked evolved from a metaphor that had fallen into use within our team that described the process of creating a product increment as “turning the crank handle one whole time to produce a new version of the product”. Crank mechanisms are used to convert circular motion to reciprocating motion or vice versa.
As we turn the handle on our process, it converts the circular motion of an increment into the reciprocating motion of a release (A) and the feedback and validated learning (B) that the release brings.
We were using Scrum and it wasn’t really working out. We surveyed the whole software delivery organisation and came up with the following problems that were slowing us down or causing problems (we did a qualitative phase followed by a quantitative phase).
We re-designed our process from scratch, influenced by many of the lightweight and lean methods available at the time. Some of the changes were simple “how we do things” adjustments, but others were more fundamental, such as putting the business owner of the product inside the delivery team. We created a process template, where each box represented a required stage whose implementation was an option that could be substituted. For example, we used “specification by example” to discuss and elaborate on a requirement, but we had the option to switch this for some other requirement gathering mechanism.
The process template
We realised that there were slots that needed some form of solution to make a complete software delivery process. Our template has ten slots, which could be substituted for some suitable replacement. There are preparation slots that deal with selecting and sharing options for development, filled with Impact Mapping and Specification By Example in the template. The increment has steps for creating an increment of software for the selected option, filled with creating executable specifications, performing iterations to make the specifications pass, writing the press release (internal or external), releasing the new feature, and retrospection on the work. Each iteration has slots for a dynamic combination of short huddles for the team to plan, and the make and verify steps.
You could, for example, switch the huddle for something else – perhaps mob programming, to suit your own context.
From an implementation perspective, we realised that no matter what the idea was, we had to start locally and gradually win over other people by demonstration. When the team gets a great reputation, people want to know how they are delivering. That’s the best time to widen the adoption towards the full lean enterprise, which includes customers and suppliers.
The process was set up as single-option flow as standard. If you are working on the most valuable option, why would you want to spend time on anything else? Single-option flow results in the most valuable option being delivered as quick as possible.