Technical due diligence is an essential part of the investment process. It evaluates a company's software development infrastructure to assess how well things are working and what needs improvement.
While technical due diligence can reveal valuable information and provide reassurance for investors, it can also uncover red flags that signal potential problems.
In this article, we will discuss four red flags we often find during technical due diligence and why they present such a problem. By understanding these warning signs, you can make informed investment decisions and minimize your risk.
No Work Item Management Process
Development teams need a process that defines how project requests are received, broken down and prioritized. That’s what a work item management process is.
When teams don’t have a strong work item management process, they struggle to execute. They have no way to understand what is being asked of them, nor a way to break work down into assignable tasks. The result is requirements get missed and goals aren't met.
Development teams also become opaque without a work item management process, says Joseph Gefroh, VP of engineering at HealthSherpa. No one knows what developers are working on or how long projects will take.
“External teams without insight into the day-to-day of development begin to lose awareness of the status of requests they made — requests that they desperately need completed to move the needle on the company’s objectives,” he writes. Over time, this can lead to distrust of the development team.
Put these processes in place, however, and everyone understands what to do and when to do it.
A strong work item management process provides a roadmap for each project, write Forbes’ Christine Organ and Cassie Bottorff. “Many projects involve different teams moving in tandem, all of which need to coordinate and integrate for project completion,” they write.
“By using a [work breakdown structure], the various individuals and teams can focus on their specific tasks and deliverables while also seeing how their piece fits into the project as a whole.”
A Lack of Versioning
Version control is how teams track and manage changes to code and applications. Versioning is essential if you have multiple team members working together on the same application, writes Chuck Gehman at Perforce.
“A version control system is critical to ensure everyone has access to the latest code and modifications are tracked,” Gehman says. “As development becomes increasingly complex and teams grow, there's a bigger need to manage multiple versions and components of entire products.”
Unfortunately, it’s not uncommon to see development teams that either have an ad hoc version control process or don’t do any form of version control at all. This can lead to significant issues:
- Traceability. A lack of version control often means teams don’t have full traceability from stakeholder requirements through to code production, says Bill Clerici, CEO and partner at Kingsmen Software. That makes it easy for requirements to get missed.
- Software performance. When you have a history of every change that was made, it becomes easy to rectify mistakes or fix bugs. All you have to do is revert to the previous version of the code. Of course, you can’t do that without version control. Instead, teams have to waste hours or days working out what went wrong and how to fix it.
- Backups. If a server failure occurs and work gets deleted, there may be no way to restore the code base.
Poor Defect Tracking and Management
Very few applications go out the door without a bug or error. That’s the nature of software development.
Defects can occur for a number of reasons, like bad design or a requirement mismatch, says Kalpalatha Devi at BrowserStack. Most can be solved, but not always. “Sometimes, it becomes difficult to fix the defect due to the massive code change that it comes with; in such cases, the users might have to use the software with the defect and find a workaround to solve the problem.”
An inability to track and rectify defects means teams can produce software riddled with bugs. If that software gets released to the public, that will mean a lot of support issues, too. And a lot more work if every release needs to be followed up with another release.
When teams have strong test defect tracking processes, bugs actually get fixed, Agile consultant Yvette Francino writes. Teams don’t necessarily write things down if they spot an issue and fix it immediately. But if it gets put on the back burner, there’s every chance it won’t get fixed.
That’s why a rigorous test defect tracking and management process is essential.
“Defect tracking tools not only provide a way to ensure follow-through but also provide valuable metrics,” Francino explains. “Depending on the tool being used, the team can tie defects to changed code, tests, or other data that will allow for traceability or analysis on defect trends. If a certain module is riddled with defects, it may be time to review and rewrite that module.”
Little or No DevOps Automation
Automation is central to DevOps success.
It is “a central principle that reinforces all other DevOps principles,” writes Colin Fernandes, senior director of global market development at Sumo Logic. “It ‘takes the robot out of the human’ and promotes better collaboration and communication by allowing team members to automate repetitive and routine tasks so that they can spend more time working with each other and less time doing tedious manual work.”
In other words, the more software development processes you can automate, the faster you can build software. Yet many development teams have little or no automation in place.
This is a problem, especially at a time when more and more software teams are automating DevOps. In GitLab’s 2022 Global DevSecOps Survey, almost half (47 percent) of teams said they had fully automated their testing.
Continuing to use manual processes in your DevOps strategies can cause a range of problems, says Bill Clerici. The biggest concern is the time it takes to get software out the door. And when software does get delivered, it tends not to be high quality.
Fix These Red Flags With Kingsmen Software
Recognizing red flags in a technical due diligence project is crucial for making informed investment decisions. While the presence of these warning signs can be concerning, they don’t have to mean the end of a deal.
With the right technical team by your side, you can navigate these challenges and make the changes required to build a successful software development shop for the future.
Find out more about how Kingsmen Software’s technical due diligence service can help you understand the technical maturity of a potential investment, or how we can work in partnership to improve your software processes moving forward.
Images by: Christina @ wocintechchat.com, Desola Lanre-Ologun, Maxim Tolchinskiy