by Jeff Francis, Copper Mobile co-founder and COO
"Quality Assurance" (QA) might be the least sexy concept in mobile. For many development projects, it is merely an afterthought, the perfunctory final stage of testing before you launch your excellent app publicly. It often takes significant amounts of time and can command a healthy percentage of development hours—and the resulting balance sheet—for mobile engagements. But, although QA might be the boring last stage of a standard development cycle, mobile app developers and internal development teams alike need to completely rethink this mission-critical element to mobile app development.
If you were to look at the primary reasons most apps fail to acquire market share, buggy operation would probably rank near the top of that list. There are few things more frustrating than a well-conceived and potentially useful app that simply doesn't work well. Whether the app is missing features, crashes consistently, is difficult or confusing to navigate, or freezes up at inopportune times, glitchy apps will inevitably decimate the app's user base. The unfortunate thing for so many of these apps is that such failure is almost entirely avoidable.
It's no secret being first to market is a massive advantage in achieving app adoption and usage. No one can blame a company for its desire to launch an app as soon as possible (and before the competition). But, as apps speed toward launch, their developers might be shortchanging QA to the point where the market adoption companies crave might become even more elusive because the apps have not been thoroughly tested. If companies gloss over this crucial step, they almost assuredly will run into the type of faulty app operation that doom many apps to obscurity and obsolescence. The only thing worse than being second to launch is if your app doesn't work well once it does.
In the enterprise space, QA takes on an even more central role to an app's success. App adoption isn't as central a concern when building a bespoken software solution for an enterprise because the company can simply mandate usage of said app to its employees. That being said, the stakes are often much higher for these types of engagements. For instance, if a nuclear power plant construction company decides to digitize its testing protocols, as Westinghouse has, there is literally no room for error in the app developed for that purpose. As was reported by CIO magazine, Westinghouse took two years to choose its mobile partner and will take another two years building the app to ensure every last use case is tested and every bug eliminated. For mission-critical functions like this, QA moves directly to the forefront of development.
Not every app requires this level of dedication to QA. Westinghouse made the conscious decision to forego speed in favor of quality. But, the two are not mutually exclusive. It is possible to get to market quickly and still prioritize the quality of your app by simply taking a different approach to QA.
Companies cannot view QA as an obnoxious stage of development that costs money and slows deployment; they should view QA as the opportunity to perfect the app before launching. Few if any apps will ever launch in a state of developmental perfection, but QA is every enterprise's chance to get as close to perfect as will be possible. But, the way to do that is not tacking a testing stage to the end of the development process; it is baking QA into every step along the way.
For the very best mobile solution developers, QA is not just the last step in the app development process; QA is a central concern throughout every stage of development. When developers are coding, it's not enough to let them work away and then you check the code at the end of the development process. Companies need established processes in place to check code all throughout development. All modules and features of an app should be tested rigorously before being assembled into the greater whole.
The best mobile solutions partners will have entire teams dedicated to QA and only QA; and, that team is separate from the team of developers who coded the app. This ensures fresh eyes are looking over the solution from every possible angle.
When attempting to shed costs and reduce time to market, the first line item to go is often QA; that strategy is both shortsighted and detrimental to any potential future success. Quality assurance, when executed correctly and holistically, can make the difference between a great app and a mediocre one—a successful app and a failure. If developers maintain a consistent and constant dedication to QA, the apps they produce will win market share in a way poorly-tested apps simply will not.
Mobile partners that prioritize QA also prioritize quality. Only after an app developer changes their development culture to reflect QA as a top priority can that developer achieve sustained, systemic success for apps they produce.
About the Author
Jeff Francis is the co-founder and COO of Dallas-based Copper Mobile, a leading enterprise-centric mobile development firm that helps companies solve their business challenges with cutting-edge mobile solutions. He has over 10 years of experience in early stage company startups and working with Fortune 500 in the software/technology industry.
Jeff earned a bachelor's degree from the University of North Texas in entrepreneurship and strategic management.