Individual Mastery refers to the continuous growth of a person's skills as well as the mechanisms useful in increasing and rewarding mastery.
As we learn more in a field of knowledge such as Software Development, Business Management or any of the various specialisms that those terms overlap with, we are on a journey from novice to mastery. As we learn more, we need to learn new things to keep our skills fresh. We need to learn from a variety of sources, some outside of our specialist field that inform our understanding at a deeper level.
Mastery = (knowledge + talent + practice) * experience
For knowledge workers, Mastery is one of the main ingredients in Motivation. A motivated workforce is a productive workforce so Mastery is important to promote, encourage and reward. Talent is a key enabler for mastery, a basic aptitude or skill is a catalyst in terms of achieving knowledge quickly. However, even without innate skill, mastery can be achieved with enough effort.
As mentioned in Motivation, once basic needs are taken care of, short-term financial rewards can actually reduce motivation, so Mastery is often inhibited by a bonus culture. Knowledge workers (especially those in Software Engineering) tend to be detail orientated people with a natural drive towards mastery. An organization's job is to enable this natural tendency and not get in the way. Having said that, there is a high demand for Mastery in the industry and so an organization should be prepared to pay well for a Master. The cost of using novices is likely to be higher.
An organization can promote mastery by:
- Enabling the acquisition of knowledge - Ranging from providing training, providing in-house or external mentoring to setting up shadowing schemes. An excellent mechanism for knowledge sharing is peer review (code reviews, design reviews, architecture reviews) or mob production (group-based planning, development, design, testing etc).
- Promoting practice - Giving people and teams time to practice their art either through "innovation time" or "self-education" time. Another mechanism is ensuring that senior Analysts, Architects, Managers etc. get involved in practical production to keep their knowledge fresh. Keeping an expert away from their field too long will diminish their expertise.
- Valuing experience - Practical experience is worth more than academic and/or professional accreditation. We recommend hiring based on talent and experience, not certification, and paying for experience. A common mistake large organizations make is promoting people once they've got really good at something (achieved mastery), into a field out of their expertise, and one they may not be best suited to.
Creating a career path for technical staff that allows them to stay technical promotes mastery in the organization. After all, "manager" isn't the goal that expert programmers set themselves. These are differing fields of expertise requiring different skills and alternative career paths. If an organization doesn’t allow for senior Master technicians roles, it soon won’t have any.
When teams form, it is inevitable that they will form with a mix of expertise levels and this can be very healthy in terms of cross-educating individuals. However, a mix of expertise levels can also slow delivery. Intentional team design is useful to deliberately form elites (for short term business critical results) and to deliberately mix skill levels to share knowledge.
Business and Software Processes, including Holistic Software Development, are intended to help accelerate individuals, teams and organizations along this evolution towards mastery by sharing knowledge and experience.