Customer Journey: CTO
I am a chief technology officer at a midsize software-as-a-service company, overseeing a portfolio of twelve different codebases, and a team of around 40 developers. Our software is several years old. Recently, on a specific system, development costs have risen without a corresponding increase of value-adding features. It seems that new capital is being wasted on ineffective or unfinished projects, and I would like greater insight into exactly where these efforts are being focused. Ideally, I would be able to track the amount of codebase resources going towards feature creation, debugging, downstream issues, and other programming activities. I am open to adopting new development practices but concerned that the cost of switching to a new system would outweigh the benefits of faster development.
One difficulty of creating proprietary software is that it is hard to tell if refactoring the codebase or changing our practices is a worthwhile activity without understanding how our software compares to other systems. I have no way of measuring our success against potential competitors, and am unsure if the slowdown we are experiencing is normal for a codebase of this size and age, or whether it is an issue with my team. This comparison would be instrumental in understanding the strengths and weaknesses of my team and help to predict the longevity and depreciation speed of our codebase.
Our team already uses software development best practices such as a code quality assessment software and test-first programming but we are still seeing significant developmental waste. I have a hunch that if the issue is not with the code quality there must be an issue with the structure of the codebase. Using Silverthread’s CodeMRI® Care I immediately get a report of the current wasted spend in this codebase and how that number compares to other codebases of similar sizes and languages. Our system shows much higher levels of wasted spend than comparable systems - there is clearly a problem here. I dive deeper into the report; recent development has created challenged areas that are hard to work in and prone to developing issues. These areas have been slowing down development by creating dense areas of poor architecture that need to be untangled before further progress can be made.
Finding the source of the codebase issues has been the missing piece that motivated me to adopt more agile practices due to the predicted returns of the proposed changes. Silverthread’s ROI tool, calibrated to our codebase using task tracking and version control data, made it clear that a refactoring effort would result in improved performance that far outweighed the opportunity cost of the effort. We used Silverthread‘s Technical Health Improvement Plan to plan a software improvement initiative and begin refactoring the codebase. We also implemented regular CodeMRI® scans to see the trend of wasted spend over time and ensure we do not reintroduce architecturally unsound practices.