Companies love the idea of metrics. They want to be able to quantify everything. Sometimes in their lust for assigning numbers, they prioritize the wrong things. To give you an example, a former director at my husband’s company would praise the developers for writing x lines of code. The larger x was, the happier the director was. Any developer worth his salt knows that more lines of code =/= more productivity. In fact, a good developer is more productive with fewer lines of code.
Software development is a thought discipline. Often, the most productivity comes from what appears to be nothing. Trust me, that “nothing” can become something awesome. Developers spend a lot of their time researching issues and contemplating problems. When they solve the puzzle, they use the least amount of code possible to ensure that their code is easily read by others who look at it later.
So, if lines of code are not a good metric for companies to use, what is? Some companies use “velocity”. Velocity is an arbitrary metric meant to describe the amount of “work done” in an Agile environment. There are a lot of issues here. To begin with, nobody truly knows what velocity is. In every company I’ve been in, studied, or had any dealings with, there is no concrete definition of what velocity is. The arbitrary nature of the term makes it sketchy as a way of tracking anything.
Then we have the central principles of Agile. The scrum master’s job is to protect the team from outside distractions. The concept of metrics in an Agile setting creates a distraction that takes the developers’ focus away from the product. The team becomes more worried about meeting the arbitrary metric than the needs of the product.
Perhaps there is a place for metrics as an afterthought in software development, but the productivity is evident. When the assigned tasks are completed every iteration, it is clear that the developers are producing. When the new releases are deployed, on time, with all the requested features, it is clear that the developers are producing. If the company needs to prove to others that their developers are producing through arbitrary numbers, be sure to keep those numbers in a back room somewhere and let the developers do what they do best…produce.
Comments