The most cost effective way to measure software development productivity !
While I was in sales, a while back, I remember constantly looking for productivity tools and software to make my interactions with clients better. This was a time when technology was starting to bloom with Palm Pilots, the internet, and boxes of software filled the shelfs of office supply stores. All my answers were there somewhere in all that tech, or so I thought.
After a while I realized I was really fooling myself and what I was really doing was looking for ways to avoid making cold calls and handling rejection. Sometimes communication with other people is not fun and sometimes we just don’t understand our problems and need help.
In my case, it was just a matter of being proactive with prospecting, meeting people, and having conversations to find out what their needs were. Over time, it worked, I realized I did not need any of the trending software solutions. All I needed was to continue having meaningful conversations with people. At the time, if I would have had a guide or mentor, I would have realized this much sooner.
This is true with your organization and your software team. I have been in too many meetings where “burn down charts”, “commit ratios”, “lines of code”, and other buzzy words start floating around. Often there is a large budget set aside for tools to ensure the software team is not being “productive” and “pumping out code”.
Never have I seen any of these tools actually lead to more “productivity”, in fact, most often the managers are jumping from tool to tool in a desperate grasp for some kind of satisfaction.
Occasionally those tools did lead to better metrics (as measured by the tools!) but to the sacrifice of the product and their clients. I remember one team that had the best metrics you could ask for in terms of “productivity” yet built the wrong product for the client. This is not an exaggeration, they built the wrong product, they built it highly efficiently, but the wrong product nonetheless. The whole time the leadership team stared into sexy dashboards giving them a false sense of “productivity”.
What is the solution then? Good question! Good news is you don’t need to waste any more money on productivity measurement tools and software, bad news is this will take some time to work itself out. Bottom line: You need to engage with your team, understand them, and develop trust.
Having a low to no understanding of how software development works or who your people are will lead to trust issues. Trust issues will lead to turn over in staff and very poor productivity. Losing even one junior software developer is quite expensive to your organization. Thus it is vital to have engagement with the people who power your organization.
The best tools are your ears and patience. Effective communication varies person to person, thus takes time. It requires mentors not managers to be head of software teams.
Mentors train and grow people like coaches. Think more along the lines of Jedi with Padawans, less like Darth Vader with a choking grip. Mentors are engaging and focused on making each developer better, not forcing them into submission with metrics and demands from UI dashboards.
As most things do, this starts from the top. The entire leadership hierarchy should embrace a philosophy of mentoring and coaching. Take some time, ask the hard questions, and really see if your organization is one that fosters growth or demands it, then go have quality conversations with your team.
A farmer can yell at the crops all they want, it does no good. Plants grow best with the right attention. Start an organization of mentors, not managers, and grow your success.