We were glad to attend J.B. Rainsberger recently, where he presented several working methods from so called micro techniques to more general approaches to improve and enhance everybody’s daily business as well as the whole team performance.
Although JB lectured most of his knowledge in the context of software development we want to focus on the aspects which are also very helpful for people with a different background.
Micro techniques
The Micro techniques are helpful tricks to make the daily business easier, to get more value from meetings and to reduce stress in general when it comes to team interactions.
- Fist of Five:
The Fist of Five is a very direct and clear way to communicate your opinion towards a specific topic. It can be used in a meeting or in every discussion among people. When it comes to the point that the topic is sufficiently discussed and and a decision has to be made the Fist of Five works like a voting system. Everybody shows up one to five fingers at the same time to express his opinion, reaching from “I totally agree” (five fingers) to “You will only implement this post over my dead body” (one finger). In this way you can get a quick and clear overview of the mode towards the solution. - Suddenly low the budget of time:
How often did you experience the situation that you had endless discussions during the meeting and you finally realize that you only have five more minutes left. Once people realize this they tend to find a quick decision within this remaining time frame. We can “trick” people into making faster decision by creating this situation artificially. During the discussion just state that only 5 more minutes will be invested in this topic. You will be surprised how fast things will settle. - Learn by teaching:
This one is pretty self-explanatory. By explaining something to somebody and answering the upcoming questions you will strengthen your knowledge and maybe even get new insights. - Decider protocol:
The Decider protocol is a method to move minor discussions out of meetings. Once a solution to a problem is formulated everybody uses the Fist of Five or thumbs-up/thumbs-sideways/thumbs-down to show his opinion. If only on or two people object, the following discussion can be moved out of the meeting because the majority agrees. - Define the type of meeting:
To define the type and desired output of a meeting helps incredibly to focus people. In the invitation the organizer should make clear if the purpose is to make a decision, to distribute information or to do a woking session. With people knowing this before everybody can adjust his mindset accordingly and contribute in a more efficient way. - Make it ok to leave a meeting:
By creating and environment where it is ok to leave a meeting when somebody has the feeling that he can’t contribute anything and also sees no chance of gaining something we make sure not to waste time.
Value Stream Mapping
One of JB’s main topics in these two days was Value Stream Mapping. The core idea comes pretty much from the thinking which you apply for optimizing big production lines like you can find in the automotive industry or similar fields. To apply this method it is necessary to perform the following steps.
- Divide development into small units:
It all starts with seeing a development process as a group of sub tasks which follow each other to deliver a desired outcome at the end. Together these micro steps define a system with a known input and output. Where we draw the boundary of this system depends on our personal scope. - Define input and output of each unit:
Once the system is divided into granular units, the next step is to think about the input and output of each unit among each other. - Define dependencies & constraints:
By knowing the units and their I/O we have to think about their interaction. How do they need each other to function? Which one can not work without the other? It is very important to have a clear idea how the steps are connected and interact. - Visualize whole workflow:
To get a overview over all tasks it is often very helpful to sketch them. - Measure work- and waiting time:
To estimate the throughput of every task it is necessary to track the work and waiting time of every single task.
Theory of constraints and how to get rid of the bottleneck
Closely connected to Value Stream Mapping there is the Theory of constraints. A constraint is anything that prevents the system from achieving its goal. One unit always has the lowest throughput coefficient (working time / overall time) which makes it a bottleneck. Only by increasing flow through the constraint, the overall throughput can be increased. Most of the time the bottlenecks are caused by either waiting time or rework loops.
JB proposed several steps to eliminate the bottlenecks. The first one is to parallelize non dependent tasks. If possible you should also look for unnecessary work and remove it. To focus on the reduction of rework loops is also essential to reduce waiting time. Last but not least is to add resources to the bottleneck.
No Estimates
No Estimates is a theory JB introduced besides Value Stream Mapping. It basically says that most of the time making estimations about time and costs is not target focused. The main reason of that is that if only one variable is not known it is impossible to make a good estimation. This results in estimating the estimates which doesn’t result in anything useful at all. Additionally estimating consumes a lot of time and at the end they are mostly wrong. To solve this JB proposed to split all tasks in very granular subtasks. The estimations about these small work packages are generally way more accurate. Another approach is to no guess the time until a task is finished but the resources which are necessary.
Conclusion
Starting with the Micro techniques we were provided a set of helpful and effective methods and tricks to make our daily work life easier and more efficient. This set of ideas can be adopted by everybody also in a non-technical environment. JB’s main focus was Value stream mapping the Theory of constraints and No Estimates. Although he taught it from a software development point of view it can be applied to other settings and situations, too. To put it in a nutshell this workshop was very helpful and the insights we got from there will help us to be more productive and relaxed.