Tuesday, October 11, 2016

No specialists!




Myth: Everyone should be able to do everything.
Variations:
  • Nobody should be specialized as anything.
  • We're looking for a Developer who is good in Frontend, Backend, Databases, Testing, Architecture, Design, UX, DevOps ....

Category: General Scrum myths
Danger: High


The basis of the myth

The Scrum guide says, "Development Teams are cross-functional, with all of the skills as a team necessary to create a product Increment" - which is misconstrued as "Every developer should be cross-functional".
It's an exaggeration/misunderstanding of the idea of "T-Shaped People"; the concept that people should be able to do everything, but specialize in one field.

Why is it a myth?

While a jack-of-all-trades-master-of-all is every IT manager's fever dream, there are two problems here:
1. There are probably not enough of these people in your network that you could fill a team with them
2. They're probably not going to work at the average rate of a software developer.
So, you're not going to get those people on your team. And since you don't have them - don't expect them to be.

Assumption #1: It's easy enough to know everything relevant.
Well, if it is - why don't you just grab a book and learn the necessary things about Frontend development over the weekend for a start? After you got that, maybe you can look into Software testing. At least that makes you a Frontend developer who can test their own code - no backend, database, UX ... yet. And when you're done, please re-visit those lists, because they might have changed. Keeping up to date in one field is hard enough. Keeping up in all would take so much time that no coding could possibly get done.

Oh, and we haven't talked about domain knowledge in your product yet.


Assumption #2: People can be good at everything
Yes, but not everyone can be good at everything. Everyone can be good at something.
Everybody specializes based on what suits them. Some people just have a knack on turning ideas into running code - while others are naturally gifted at finding the fly in the ointment. Some people can simply "feel" good design, while others are completely oblivious to the impact of their ideas on UX.


Consequences

Wrong team constellation
When you believe you've got the Jacks-of-all-trades, your team members are either coincidentially good at the things others are not good at, or you're missing something potentially important. 

Long staffing times
While waiting for "Mr. Right", you've probably missed a hundred opportunities to find the person who would have been perfectly suitable for your team. The harder you look for a jack-of-all-trades, the more you become blind to good opportunities.

Just asking to be fooled
Given how much knowledge modern development takes, a person who claims that someone can know everything is just asking to be fooled. Buzzword bingo and sly talkers will probably win the interviews in a company where hiring decisions are based on the jaded idea that someone, somewhere has found the Philosopher's stone and is just waiting to peddle it for pennies.


Remedies

Simply accept that people specialize.
Rather than asking people to do everything well, make sure people can do one thing that really contributes to the team - and they're sufficiently flexible to fill in the gaps as needed.

It's good to develop your team members to adopt new skills over time, but remember:
1. Nobody can know everything.
2. Attaining a new skill takes time.

No comments:

Post a Comment