In a team environment, collaboration works best when everyone has at least a basic level of skill in all competencies needed by the team. We call these team members generalizing specialists--people who have focused their skill development in certain areas, but have also developed other skills enough that they will be able to contribute to what their colleagues are doing. In the absence of a broadening skill set, people tend to specialize, and may become isolated, bottlenecks, or points of failure for the continued development/support of the software. As a result, the Agile Skills Project stresses the cooperative, relational nature of skill levels--and discourages any attempt to use them for ranking or comparison. Instead we offer these following levels as a map for individuals looking for mentors for a particular skill, and encourage teams to raise their overall proficiency together across a broad set of skills.We suggest the following progression of skill levels. Note that these labels are all action words (technically, gerunds--a verb + "ing") because we believe that a person cannot reach any level and stay there without continued effort (especially since contributors are constantly changing the state of the art). So rather than working with someone who is "Perfect" at a particular skill, we would prefer to work with people that are perfecting their skills.
The levels we provide here apply to fine-grained skills, and cannot be summed in any way to define an overall, objective level for a person. Instead we encourage clients or employers or students to consider people holistically, including but not limited to their demonstrated efforts in improving their Agile Skills and the outcome of their work. We also recognize that individuals will differ in the ways and sequence in which they best learn new ideas and skills. Though the Agile Skills Project is agnostic about certifications, the Inventory naturally leads one to assume that an individual who has developed skills in all the pillars would be a valuable team member.
Before one decides to invest in learning a new skill, it is natural to be skeptical, to evaluate the potential benefits before investigating. Someone who is questioning change should be engaged with respect and an attempt to understand, for they surely have valid cognitive, emotional, or behavioral reasons that, once resolved, could improve the team's understanding of the subject.
Individuals who have been exposed to a skill, but do not yet have first-hand experience with it, are Learning. They may continue learning through reading or conversation, through a formal class or casual presentation at a local user's group.
At this level, one has advanced beyond abstract learning and is now practicing the skill in a ‘safe’ environment. They may be taking a course with hands-on exercises, recreating examples from a book, or doing work under the supervision of a more skilled team member. Practicing represents the first big step from abstract to concrete. A wise organization will not let someone Practice on their own. Someone who is Practicing does not yet know what they do not know, and therefore cannot judge the limits of safely applying their skills. Further improvement comes as individuals seek advice and feedback from mentors in the Agile community.
An individual who is experimenting with the application of a particular skill in various contexts is Journeying. This person has already practiced the skill in at least two different environments (two clients, two employers, or work and class), and peers would consider this person as competent and knowledgeable in the specific skill. They can work on their own, or to increase the competence of a team. A Team member of a lower skill level will learn from them, a team member of a higher skill level will recognize their expertise and practical knowledge.
One cannot be taught the spirit of Journeying--one must simply thirst for improvement. Regardless of the skill category, one must constantly practice current techniques, seek out new and better ones, and share the skill with team mates, to keep Journeying.
This is not all. One who is Journeying supports developments in the skill, by trying and validating new ideas that could potentially improve the state of the art--that is, they welcome people who are Contributing, whether these ideas come from people have become experts at the craft or not.
Someone who is Mastering a skill continues Journeying, Practicing, and Learning--but this person also possesses unquestioned competence in the particular skill. They know it cold; it is second nature to them. The person can intuit the limits of applying the skill, and can foresee new applications in new environments.
But, it does not stop there. Mastering includes bringing up the skill level of one's team mates. They do this in several ways.
They serve as an example of proper practice. If you want to know how it is done, observe this expert.
They partner with other team members and actively share their knowledge and experience.
They seek out teachable moments. When asked a question, they prefer to engage in a dialog that will lead the questioner to an answer, rather than making a pronouncement.
Contributing is adding to our community’s understanding of how to practice our craft. Contributing brings new ideas to light. It is the development and evaluation of new techniques. These ideas come from silver-backs and young upstarts, who advance the state of the art. They may be seen as today’s heretics, but they are encouraged to speak their truth, to refine their arguments, and to find new applications of their ideas.