Blog details

How Software Development tracking is broken and how it can be fixed

November 01, 2017

“People make most decisions in under 90 seconds, then spend several hours proving themselves right.”

I’m remembering this quote as I add the final touches to the Waydev launch e-mail. It’s actually a quote I’ve been remembering a lot this past decade, usually while trying to coax some meaning out of various graphs and spreadsheets allegedly showing me how my project is going. I also remember telling myself:

“There has to be a better way to know if development is on track”

I started Waydev because I believe keeping development on track does not need to involve a careful studying of charts and spreadsheets. As a non-techie trying to lead development projects over the past 15 years, I became deeply unsatisfied with the options available to me as a business owner, so I eventually decided to build a tool I could actually enjoy using.

I’m not a fan of micro-management; I actually find the whole exercise of looking over a developer’s shoulder or constantly asking for status updates to be paradoxical. Whenever there is some abstract uncertainty about the state of a project, the reflex is to start investigating, thereby placing additional strain on the development team, which now has to churn out weekly or daily reports in addition to their already taxing task of pushing product increments.

No wonder there’s a communication gap between Management and Development. It’s nobody’s fault, of course. There is always pressure from stakeholders, customers or competitors to be ahead of the game, so a manager is in a position where they constantly need to ask the question:

“Is development on-track?”

There are of course ways to monitor development, but they are far from ideal, usually because they involve developers interrupting their work to update some issue status, mark an item on a checklist or move some Post-it note to a different column. There are a few problems with this approach:

  1. It’s a system that needs constant maintenance — someone usually has to be the bad guy and remind everyone to move the Post-it notes, otherwise progress won’t be clear
  2. It moves focus away from coding — no matter what is said, the perception will be that the team’s success is measured according to the number of tasks completed; this in itself can generate all sorts of anti-patterns ranging from task inflation to gaming the system to squeeze out the +5% of tasks needed to meet some arbitrary quota
  3. In a quest to provide the definitive status update, most dashboards try to squeeze as much information as possible onto the screen, to the point that the details become overwhelming

By contrast, what Waydev is trying to do is provide the minimal amount of information that is required in order to know if development is on track. To do this, it grabs some advanced metrics from source control (not the actual source code, of course), and compiles them into an easy-to-read number we call the Wayrank. This simple number can tell you, at a glance, if your project is on track or if it’s time to start asking questions.

We believe that less reporting helps create better code

Then there’s also the matter of context, which a lot of times is overlooked in the favor of more details. For example, looking at the number of lines of code committed is hardly a way to judge progress. On the other hand, in context, it can reveal a lot of things:

  1. One can gain insights into the relative size and complexity of two different projects by looking at how much actual code is in the repository and how long it took to write it.
  2. If the number of lines of code committed dramatically increases or decreases, that’s usually a sign that there might be an issue — either there is some obstacle that is requiring more thinking than coding (or more so than usual), or there is some obscure issue that can only be found through trial and error.
  3. The size and frequency of the commits or version updates can show the team’s rhythm and whether good practices are being observed.
  4. Finally, a combination of the above can help create realistic expectations regarding how quickly changes in product reliability will occur.

Current tracking solutions overlook such aspects, further widening the gap between expectation and delivery and frustrating both developers and managers. By providing only high-level information, we want to encourage project leaders to pay more attention to context and less attention to arbitrary KPIs.

We also believe that Software Development Management should be accessible regardless of how tech-savvy one is

We hope Waydev will improve development processes everywhere, we certainly believe it has the potential to do that. What we also hope is that it will eliminate an obstacle holding non-technical people back from pushing their ideas into the real world. I feel that, by offering a way for people at all levels of tech-savviness to develop software products, we are opening up the industry to new perspectives.

We’d love to know your thoughts! Try Waydev and tell us what you think.

Leave a comment