Recently I just got an email from a QA manager who wishes to send his team members to Scrum.orgProfessional 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?
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.
Scrum Guide, the bible of Scrum, simply defines the Development eam as such:
And the Scrum Glossary by Scrum.org defines Development Team as:
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.
- 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.
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.
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 someprogramming, 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.
- 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.
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.
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.
- 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.