Nerd may sound like a negative, it was the truth for two decades ago. Now nerds rule the world and most are proud to be a nerd. Nerds form the development part of a scrum team. You should be cuttled, praised and set free in their own mind boggling space.
Cal Evans wrote a long time ago about nerd herding: "The less that your herd has to worry about management’s infatuation with the latest vendor or technology, the more they can concentrate on actually getting their job done."
The article was written in 1999 and it still is true.
1) Recruit only the best Nerds
While this is true, it's not entirely accurate. We do need only the best, but we also need a mix. The best seniors cannot work all alone, this will isolate knowledge and blocks the free flow of thinking about new things. The best solution is to hire all different kinds of people: senior, medior and junior. And hire them because of different traits. Every nerd has a speciality, an ambition. A few things they excel in. Try to make up a team with different individuals. Difference makes people talk and think and discuss, difference makes the sum of the individuals bigger then the team. They are all individuals!2) Invest in your Nerds
Nerds have more needs then only to program, they have a need for knowledge and skills. If a nerd that hasn't learned anything in the last six months he should be fired, switched or decapitated. If he is not motivated to learn only the last mentioned option remains, however that will almost never be the case.The will to learn might be a bit covered up because an organisation made the nerd numb. This happens in most organisations that see the development team as an expansion of their needs and infringe all the time in the development process. A nerd needs freedom to learn and to write code, to work on brainwaves and improve existing code. He should never be blocked by people thinking that they are more important, *cough* managers *cough*.
Give a nerd time to explore new areas of programming, give them books, send them to seminars, let then expand their nerd network.
For each nerd you should find their ambition, their goals, their wishes and help them improve. Rather hire people that have high ambition and will leave the company within five years to achieve their goals then to hire people that will stick around forever. You know the first one will deliver optimal performance, the latter will probably be less effective.
3) Teach your Nerds
Share knowledge, the hunger for improvement, skills and knowledge will not be stilled in only investing in books. Let the developers share thoughts, mix different projects, let them demo what they made to other developers.Let seniors take time to teach the juniors. The juniors have speed, the seniors quality. You need them both, let them show to each other how the speed and quality can improve.
Try to involve other disciplines as well, teach each other about other programming languages, patterns, communication, processes. Bear in mind that change should be normal, the quest for the most effective development team and development process will never end. There is no holy grail, it depends on your team and your own skills of encouragement.
4) Listen to your Nerds
The hardest skill to master in life is to listen. As a lead, scrum master or nerd herder you can forget about the skills of programming you have learned. You are surpassed by miles if you haven't coded for more then a half year by the first junior you meet. Let alone any mediors or seniors. Of course there are some skills, meta-programming skills for instance that still are use full. Just don't try to keep up with your programmers in working lines of code. You will probably win on the wtf/mins measurement scale.Listen to your nerds, challenge their thoughts and find the team view on subjects. Even if you don't agree. Your team is in the lead, you only facilitate. So listen. To be honest, don't do stuff because you think it's the right way. Do it because your team thinks it is the right way. The only way for a scrum master to go is to do what the team tells him to do. Enforce the team. Of course it's always your head on the block, but that should never be a problem. Because the developers are always right. And good wins in the end, right?
5) Feed your Nerds/Play with your Nerds
The most important thing about a team is that they should have fun, have others in the company join the fun as well. Give them food and games, join and let others join, everybody is welcome. This will make nerds happy, and close up any distances in the company. Don't ever mix work with fun. Have a fun hour or have a session. But never combined. Although sessions are needed where the team comes together for say a retrospective; which should be fun, it is not the same as doing something the team likes. Fun should not be work related. But the work should be fun.I ask the developers from time to time if they are having fun, if they are achieving their ambition. There even have been developers that openly spoke to me about getting another job to come closer to their goals. Fun and ambition are important.
Get more pizza sessions, game events, movies and so on to build up a good team and mutual understanding in the company.
"He also got visited by some of the most powerful men in the company. Not of course the managers. They weren't that important. They were merely at the top. The people who really run organisations are usually found several levels down, where it's still possible to get things done". - Therry Pratchett: Small Gods
No comments:
Post a Comment