Discover more from The Art && Science of Ruby
How I built a high performing software development team
For years, I couldn't get any software developers to work in a way that was acceptable to me. I did have a process to follow, but I never did any of the checkpoints that I've been talking about this week. And I definitely didn't measure progress against those checkpoints or publish that progress on a Key Performance Indicators board.
However, in 2017, I started doing this. And the performance of my team sky-rocketed.
One of the most important stages in our development process was that each piece of work was given a points value. This was a way of estimating how difficult the work would be to complete - a complexity score (from 1 to 3) and a confidence score (from 1 to 3). Multiply these together and we get a points value from 1 to 9.
I wanted each developer to complete as many pieces of work as quickly as possible. But we didn't want hastily written code that just breaks and causes bugs. So to deal with that, any bug reports were immediately given a score of zero.
I then tracked how many points each developer completed during the month. As well as how many hours they had worked, and how much I had paid them. I put them all into a spreadsheet which calculated "points per hour" and "cost per point". I then added a formula that converted these into a score from 1 to 10. Basically if the "points per hour" is greater than a certain value then add X to your score, if the "points per hour" is greater than another value add Y to your score, if "cost per point" is less than a certain cost then add Z to your score.
I cut out the pay information, then published this spreadsheet every month, along with the rules for how the score was published. I then offered a bonus for anyone who got a score of or higher. The developers could see how they were doing each month - and more importantly what they needed to do to improve. And because bugs took up your time without adding to your points tally, there was an inbuilt incentive to write reliable code.
All of which is a long way of saying that delegation is possible. But you need to invest the time in writing out the processes, deciding how to check on progress and how to measure and publish that progress.
Take action: Not sure how to implement this scheme in your business? Drop me an email - firstname.lastname@example.org - I'm happy to help.