I want to share an idea with you that I believe is a better way to deploy process improvements that I call “Practice Slices and Patterns”. Using practice slices and patterns is a way to engage your software practitioners in their own practice improvement which is a key goal of the SEMAT initiative, the Essence framework and today’s popular agile methods.
You can view a video about practice slices and patterns on YouTube:
First, people trump process. In other words a highly competent team will usually outperform a less competent team regardless of their practices and tools. I don’t mean to bash practices and tools. My point is that ultimately the reason why most companies invest in process improvement is because they want to raise the competency of their people. They know in the long run that is what really counts.
So think about what it would mean to your competitive situation if you could raise the competency of your people faster than your competition. Practice slices and patterns is one way to do this.
An analogy to aid understanding
Let me give an analogy to aid understanding. We’ve known for a long time that the best way to build a complex software system is to break the problem down into small chunks and build and deploy those small chunks incrementally in small slices. This approach works because it gets product into the hands of customers faster where those same customers can provide rapid feedback ensuring the development team is on the right track.
So if it makes sense to build and deploy our software systems incrementally in small slices, why wouldn’t it make sense to build and deploy the practices we want our practitioners to follow incrementally in small slices?
I will explain more about what I mean by practice slices and patterns in a moment, but to help motivate the idea let me first step back and talk about what’s wrong with how many organizations deploy practices today.
Our practices should provide useful information related to how we want our people to operate. But people face all kinds of different situations each day on the job and so our practices can’t possibly tell practitioners what to do in each situation.
In fact, this is the mistake many organizations have made in the past. That is, they try to define in detail what they want their people to do in every possible situation. This has led in some organizations to practices (or processes) that are so heavyweight that they are not usable by human beings. Other organizations have gone to the other extreme making their practices (processes) so light as to become trivial and of minimal or no value.
What practitioners really need falls in between these two extremes. Processes need to be light enough to be usable, but they also need to contain enough value to help practitioners where they need help the most. An example is helping them find the answers to those tough questions that often need to be asked, and helping them with the trade-offs related to how much effort to put into certain tasks once they decide the task needs to be done.
This is where practice slices and patterns can help.
So just what is a “practice slice”?
A practice slice is one or more related scenarios that commonly happen in a particular context.
What is a pattern?
A pattern is an abstraction of a practice slice that removes inessential details to ease recollection, and adds the options and consequences that can help the practitioner with the tradeoffs. Patterns can help your people make better decisions.
Basic Scenario: You and your team are driving toward a deadline, and your requirements are not clear and you can’t get your customer to work with you.
Related Scenario: You are still driving toward that deadline, your requirements are still not clear, but now you also realize your design approach may have a risk and the only alternative design is going to extend the schedule.
Another related Scenario: You are closing in on that deadline, but now you realize you don’t have all the data you need to fully test before release?
A practice slice could be just the basic scenario, or it could be the basic scenario together with one or both related scenarios.
You might discuss these common situations with your team and come up with various options that have proven to work for you in past similar situations.
A pattern is then just a simple way to capture the essentials of these scenarios along with the options and consequences you know have worked in the past and can therefore help you make better decisions in the future when faced with similar situations.
The Best Patterns to Aid Decision-making and Performance
When developing patterns to aid team decision-making what is most important is to not pick just any common scenarios. For many common situations that happen everyday practitioners don’t need extra help. So you want to pick the ones where people most often fall into making poor decisions, so the pattern becomes useful during the actual execution of their daily job.
With a number of my clients we used practice slices and patterns and these ideas really work.
Proven to work
First, we examined the common scenarios their practitioners were facing each day on the job. Then we prioritized them and selected a small set that had a tendency to hurt their performance the most.
We then abstracted out a small set of patterns that included the options and consequences of related decisions. Then we trained the people in the patterns, and we gave them simple checklists they could take back to use as reminders on the job.
Raising the competency of your inexperienced people faster
The experienced people in your organization know how to handle most of these common scenarios, and some falsely believe that we can’t speed up the learning process for the inexperienced people. Let me explain why this is not the case.
First, to help you understand, there are a couple of books I like to recommend related to this subject. One is “How We Decide” by Jonah Lehrer, and the other is “Thinking Fast and Slow” by Dan Kahneman. Both of these books help us understand that we all can get better at decision-making even when we need to make decisions fast under pressure.
Both of these books explain how we can improve our quick thinking by learning to recognize common situations (scenarios) faster, and by keeping aware of our options and consequences and which ones work best under which specific conditions.
What we are talking about with practice slices and patterns is a way to deploy process improvements faster and more effectively ensuring we are focusing on the most important areas where practitioners need help today.
Practice slices and patterns is a proven effective way to share what your experienced people already know with your less experienced people helping you raise the competency of your people faster.
If this idea makes sense to you, you can learn more about the approach and find examples of many patterns in the book, “15 Fundamentals for Higher Performance in Software Development”.
(www.leanpub.com/15fundamentals or http://www.amazon.com/dp/099045083X/ref=cm_sw_su_dp).
You can then use the examples in the book as they are, or use them to help identify your own scenarios that are hurting your team’s performance. Then you can create your own patterns that make the most sense for your team.
I’d love to hear what you think about practice slices and patterns. Please share your feedback by commenting on this blog or through your favorite social media site.
You can also learn more about why I wrote the 15 Fundamentals book at: