Shifting Quality Assurance Culture For Better Software Maturity Through Automated Testing
Although Spirit Airlines had a fully-functioning mobile app on both iOS and Android, new features were taking long cycles to enter the market. Their engineers were using Waterfall methodology in their software development process, resulting in nearly 2 month gaps between deployments, or longer with ever-changing project priorities. Spirit also knew that their code base needed improvement, but didn’t know where to start. We identified three key challenges:
- Lacking Agile mindset in their development, delivery, and QA processes
- A slow feedback loop between discovering software defects and fixes, exacerbated by zero test coverage
- No testing or deployment automation in place, preventing faster deployments
Transformed the cultural mindset around automated testing
Increased number of unit tests in the codebase
Reduced time-to-market for new features
Familiar with our Transformation services, Spirit Airlines recruited TribalScale to improve both their app architecture and development process moving forward. For 6 months, a team of TribalScale engineers were embedded within the Spirit Airlines Mobile App team. They assessed the existing code base, and produced an itemized list of pain points for each platform. From there, the team was able to organize efforts to mitigate those issues – reporting weekly to Spirit's technical leadership team.
Q A A N D D E V E L O P M E N T
Arguably the largest transformation TribalScale sparked, was the implementation of automated testing by developers. Prior to our partnership, the only testing with the Spirit Airlines Mobile App team involved manually performing smoke-test, exploratory, and regression tests. While this satisfied minimum standards of software reliability, any software defects took a significant amount of time to cycle back to the developer team.
We shifted the culture and mindset towards testing – our embedded engineers demonstrated the value of automated unit tests and test-driven-development (TDD). Having provided training and awareness of best practices around developer-side automated testing, software errors were detected and fixed much earlier than previously possible. This resulted in reduced time-to-market for new features.
- MVVM Architecture
As a result of our partnership with Spirit Airlines, we enabled the detection of software errors early in their development cycle through the unit tests that were established in their codebase – in combination with a continuous integration and continuous deployment (CI/CD) build process that can be executed automatically each time code is submitted. Their team also experienced reduced time-to-market for new features, through early detection of regression errors from automated testing.
Our team’s learnings from the project led us to formalize code assessment as a key TribalScale service offering. Our engineers created a software maturity model, to reflect the various stages towards reliable, repeatable software success. We use this software maturity model when evaluating other organizations' existing software codebases and software development processes.