Recently I just got an email from a QA manager who wishes to send his team members to Scrum.org Professional Scrum Master course:
I’m so interested in Professional Scrum Master course. I’m working as a QA Manager on Scrum projects. Therefore, I intend to join the Professional Scrum Master course which will be conducted in Las Vegas. However, after reviewing the Scrum Guide, I found that QA role isn’t mentioned. What is the QA role in Scrum? Is Professional Scrum Master course a suitable course for me and my QA team members to join?
Since I get this question a lot, this article is to clear up the confusion about the term “developer” and “development team” in Scrum.
There is much confusion about the term “developer” and “development team” from Scrum in the software development industry. Scrum has been around for 20 years yet many people still think that the Scrum Developer == Programmer. I think we need to work harder to fix this misperception in the software development industry and community and help those who still do not understand it.
When organisations are transitioning to Scrum, often times they will try to map roles they currently have in their organisations to roles in Scrum. Scrum only recognizes three roles, that is: Product Owner, Scrum Master and Development Team. In Scrum, the term developer equates to a Development team member. So from this point forward we will refer the developer as the development team member.
Development Team is a Team of Experts
Scrum Guide, the bible of Scrum, simply defines the Development eam as such:
The Development Team consists of professionals who do the work of delivering a potentially releasable Increment of “Done” product at the end of each Sprint.
And the Scrum Glossary by Scrum.org defines Development Team as:
The role within a Scrum Team accountable for managing, organizing and doing all development work required to create a releasable Increment of product every Sprint.
Scrum does not recognize any specific roles like Analyst, QA, Architect or Designer, etc. Not that these roles do not exist in Scrum, but Scrum just recognizes all of these roles just as developers, they work together to develop the product that the Product Owner requested. The silos are torn down. Scrum never defines more specific roles than Development Team as the product being developed by any Development Team are never the same. Scrum only tells you that everyone who is involved in developing the software is within the Development team. And bear in mind that software development includes design, documentation and QA — NOT only coding/programming.
To make things easier to understand, the term Development Team refers to a team of experts who are responsible to deliver a potentially shippable software.
As everyone who is involved in developing the software should be in the Development Team, everyone in the development team develop something:
- Architects develops models, database schema and architecture.
- Designers develops user interface and user experience.
- Analysts develops business analysis, requirements, documentation and user manuals.
- Programmers develops the code itself.
- Test Engineer develops test cases, acceptance tests and the tests itself.
Scrum Developer is a T-Shaped Person
A T-Shaped person have two kinds of charecteristics, hence the use of the letter “T” to describe them. The vertical stroke of the letter “T” describes the deep skill on a specific field that they have while the horizontal stroke describes the disposition for collaboration across many disciplines. It is composed of two things, empathy and enthusiasm about other people’s disciplines, to the point that they may actually start to practice them. People who are only skilled in one specific field are called the I-Shaped people. The figure below explain the differences between I-Shaped person and T-Shaped person.
T-Shaped Scrum Developer
From the figure above we can see that test engineers in Scrum Development Team are expected to have skills beyond just “click-testing”, they are expected to have some programming, analysis, design, devops, skills, etc. Analysts are expected to have skills beyond “analysis”, they are expected to have some programming, test engineering, design, marketing, skills, etc. Designers are expected to have skills beyong “design”, there are expected to have some programming, testing and analysis skills. Well you get the point. And because of this, we do not see analyst to be a higher position than programmer and programmer to be a higher position than test engineer.
In a creative industry like software development, having a T-Shaped Person in the development team is very important. James Shanteau, did a researchand found that expert’s (I-Shaped people) judgment are neither consistent with the judgments of ther experts in the field nor internally consistent. Having many T-Shaped Person in the Development Team provides broad insights that is much needed in the creative industry.
Tim Brown, the CEO of IDEO — a well known design company, said that having a T-Shaped Person are important as they are able to build on other people’s ideas and won’t immediately throw out your own competing idea. T-Shaped people imagine the problem from another perspective — to stand in somebody else’s shoes. T-Shaped people are also very enthusiastic about other people’s disciplines, to the point that they may actually start to practice them.
T-Shaped Person is not a really new concept, in the Renaissance era there are quite many T-Shaped Persons, to name a few of them who are famous:
- Leonardo da Vinci — painter, sculptor, architect, musician, mathematician, engineer, inventor, anatomist, geologist, cartographer, botanist, and writer.
- Galileo Galilei — physicist, mathematician, engineer, astronomer, and philosopher.
- Nicolaus Copernicus — mathematician, astronomer, physician, classics scholar, translator, governor, diplomat and economist.
T-Shaped person are NOT a generalist, they have in-depth skill in one field but also have other skills that can help them collaborate with other development team members. For example, Galileo and Copernicus are well known as an astronomer.
Whoaa you may think that is too much skills for a developer to have, do these kind of developers exists? Yes they exists, BUT unfortunately most of them are already happy working with a good company. And becausesoftware is eating the world and the role of software is increasingly becoming more important, we need to raise the bar of the game.
Wait, how about Unicorn Developers
As software developers are the new kingmakers, the bar that has been set by the software development industry just keeps getting higher from year to year. If you think that T-Shaped person are rare, wait until you see what the world is looking for: Unicorn Developers. Most (if not all) startup founders are Unicorns.
To put it in perspective, here are the comparison of availability between I-Shaped, T-Shaped and Unicorns in the job market in forms of pyramid. Unicorns exist but very rare hence sit at the top of the pyramid. The majority of developers in the market are I-Shaped person.
Pyramid of Developer Type availability in the job market
The value of each increases exponentially, with Unicorns having the highest value in the job market.
The value of each type of developers in the market
Unicorn companies are looking for Unicorn developers and Unicorn developers usually only want to work with other Unicorns. Although not mandatory, having Unicorn developers in the Scrum Development Team are very valuable.
So who is the Professional Scrum Developer?
Let’s wrap things up. So who is the Scrum Developer?
- They are NOT just the people who write codes.
- They are technical and skilled in one specific field.
- They have other skills that enable them to collaborate with other team members.
- They are collaborative and enthusiastic, have a high curiosity (in other field of work) and empathy (for other people’s field of work).
- They are “professional software craftsman”.
Thank You Jim McCarthy for what you have said that have inspired me a lot to be a Unicorn:
And to thank Key Won for the inspiration about being a Unicorn.
I hope this article helps you in putting who the Scrum Developer is into perspective. But if you still find the term Developer in Scrum is difficult to understand, feel free to ping me.