If you have been in the IT profession for any length of time, you have undoubtedly experienced the impact of application failures. The general public is also painfully aware of how software issues can lead to potentially catastrophic problems.
I recently read four articles that highlight the impact of several highly publicized application failures. In each article, the root cause of the problem was a software issue.
CNN Business – Is Anyone Really Surprised Iowa’s Caucus App Failed?
COMPUTERWORLD – Top Software Failures in Recent History
CNN – A New Year’s Glitch Caused New York’s Parking Meters to Temporarily Stop Accepting Credit Cards
Application Testing and Increasingly Complex Technologies
The impact of these application failures ranged from embarrassment to horrific tragedies. We continue to see how tightly intertwined our daily lives are with increasingly complex technologies. For those of us in the IT profession, application failures reinforce how important testing is to the software development life cycle. The more complex the environment, the more thorough the testing processes must be.
RadixBay’s Testing Improvement Project
In 2019, RadixBay started an internal initiative to define what high-quality software testing should encompass. The project would evaluate the entire testing life cycle, from product selection and initial strategies to test execution and quality measurement. We formed a focus group led by our Advisory Services Director, R.J. Fabian. The focus group was composed of people with diverse IT skills and experiences.
The goal was to ensure that we were properly testing the software we build or support for our clients. In addition, we also wanted to refine our testing processes to help our customers shorten application time-to-market and more efficiently deploy quality software products. One of the project’s deliverables was to create a Testing Maturity Assessment Model to evaluate the quality of our, and our clients’ application testing environments.
Throughout the project, we discussed and analyzed an exhaustive list of testing platforms, products, frameworks and industry best practices. The products ranged from open source offerings to enterprise packages from leading vendors.
What We Found
The analysis reaffirmed our opinion that to achieve high-quality applications, there is a vital need to integrate testing throughout the software development process. Although testing and development are activities that require very different skill sets, they need to be thought of as a single, procedural entity with each discipline receiving equal importance.
Software testing is not just an activity, it is a mindset that needs to be promoted throughout the organization. From software developers to testers, business users and senior managers, everyone plays an equally important role. Organizations need to constantly measure the quality of their testing outcomes and evaluate new testing products and best practices. The testing tool market is highly competitive. A wide range of offerings are available and new products, versions and features are unveiled on a regular basis.
Project Impact on RadixBay
The outcomes from our focus group sessions led to significant procedural and cultural changes at RadixBay. Our developers are significantly better at identifying and correcting potential issues that our testing team would identify as problems. Our support teams are more accurately identifying and reporting software bugs. In general, we are identifying issues earlier in the development life cycle and correcting them more quickly.
It also changed how I manage RadixBay’s application development and testing service delivery teams. In the past, a junior or mid-level developer most likely had little to no real-world testing experience. Now all new developers are initially assigned to our testing and support teams. The goal is to educate the developer on our testing processes and reaffirm the importance of high-quality testing. The developers also get to personally experience the impact of end user frustration and learn how to quickly analyze application issues.
The time they spend on our testing and support teams also provides them with a set of mental clues into potential mistakes that even more senior developers can make. After a very short amount of time, our new developers are quite fluent at software testing and identifying issues. In addition, they start gaining important development experience by writing test automation scripts. Now, when we assign them to their first project as a developer, application testing is a part of their developer DNA.
All IT organizations should consider these two questions:
- Are we keeping up with the latest advancements in testing tools, technologies and techniques?
- Are we placing the appropriate level of priority on our testing initiatives?
To learn more about RadixBay, please visit our home page.
RadixBay Vice President of Managed Services and Application Development
I’m currently responsible for leading RadixBay’s managed services and application development practices. I have also held technology leadership roles at Ameriprise Financials, Bank of America, Baytree Associates and the US Air Force.