Don't Cut Your Traceability
As development teams look to be more responsive and agile in their processes, one of the key initiatives is to reduce waste. Identifying what waste to reduce is not always easy and sometimes we identify the wrong things to be removed. One of those common areas where we look to cut waste is in the use of decent requirements repository, test management or defect management tools. Sadly, these are the very things that they should actually be looking to hold onto as they are perhaps the biggest clues to efficiency that teams need. And the main reason why is traceability.
What is traceability and why is it so important? Traceability is history and as any historian would teach you, the study if history is not just about the past, but an opportunity to see what you can learn from the past that will improve your future. Similarly, if we do not keep records of our past and where our errors are, we are likely to remake them in the future and not move forward as a development team. And repeating mistakes is the most inefficient way of developing software. Yet, we too easily fall into this trap anyway.
So what traceability are we looking for? Well, it may vary from team to team, but if you cannot recall over the past few release cycle which user stories have caused the most issues, which tests failed the most, what their root cause is and which functionality or type of functionality was affected the most – then you are likely to repeat all those same mistakes. And as cumbersome as management tools might appear, they are the best sources of providing this information.
So, while we need to improve our efficiencies and minimize waste across the board when it comes to clunky processes – we should not use this as an excuse for not following test best practice. If we are not keeping full traceability of our requirements, test, defects and areas they impact, we are probably going to make those same mistakes over and over again. And while you might think you are saving a lot of effort and time, in the end the quality of your product and the satisfaction on our customers suffer.
Never underestimate the value of good process. There are many things we can do to improve the way we work with tools and reduce the efficiencies of the processes we have, but don’t cut this one out entirely.