Why App Development Requires Continuous Quality
Friday, January 16, 2015
Mobile apps have drastically changed the way users interact with brands. Unfortunately, with the rapid pace of innovation, businesses are struggling to meet user expectations. As organizations approach these challenges, it’s the solutions which have proven to be elusive. In order to ensure application quality in the modern age of mobile, a new approach is required.
The answer can be found in the principles of Continuous Quality. Continuous Quality is a methodology for embedding quality activities into every step of the software development lifecycle from design through build to production, based on supporting processes, tools and a lab infrastructure that are tailored for the intensity of the process.
Successful Continuous Quality optimizes time-to-market, drives faster and more frequent releases and enables minimal escaped defects to production by managing risk in an automated way as early as possible.
By adopting Continuous Quality, mobile app development teams can work quickly and respond to new dynamics without sacrificing quality. Mobile adoption is growing 8 times faster than web adoption rates did in the 1990s and 2000s, and as mobile becomes the main product platform for enterprises it will continue to drive a shift around software development lifecycle requirements.
Time is not on the side of today’s Dev/Test teams – they must adapt to a number new dynamics emerging in real time, including the rapid innovation of new devices, OS enhancements and wearables as well as the increased complexity of the mobile experience.
Mobile app development teams must constantly update their release plans to ensure compatibility with a growing number of variables including battery, memory, CPU / GPU, network connectivity, screen size, sensors and even app style. These external pressures have compressed release schedules to weeks instead of months.
As these new dynamics and mobile requirements increase, Dev/Test teams face greater challenges in the way they code, build, test and deploy end-user applications. These teams are forced to rethink their methodologies, quickly learning that traditional waterfall and pre-agile practices are inadequate in today’s mobile space.
Dev/Test teams must evolve testing to include a variety of real devices that are actively connected to networks in target geographies and overcome obstacles such as insufficient test coverage due to time constraints, inability to enable cross-team collaboration and gaps in retrieving production feedback.
To effectively handle the increased velocity, quality and complexities associated with mobile development, industry leaders are turning to an innovative practice known as Continuous Quality.
The Continuous Quality methodology is built on the notion of a robust test lab capable of supporting the full end-to-end development, continuous integration and delivery cycle.
To ensure the success of Continuous Quality there are four key building blocks that are required:
- Real Devices: One of the greatest challenges for Continuous Quality initiatives is ensuring that tests can be executed on a wide range of device/OS profiles. Not only must a mobile app test lab provide robust device pools, they must also ensure quick access to the newest releases to keep proactive, externally driven release plans on schedule.
- Real Environments: Design/development teams cannot effectively create mobile apps without an understanding of how server-network-device “wind tunnel” factors impact performance. A mobile app test lab that enables Continuous Quality must be able to execute tests on actively connected devices capable of reporting data from different network profiles (3G, LTE, WiFi) as implemented across different geographies around the globe. Emulated results do not provide the level of intelligence and feedback developers need to ensure performance and usability requirements regardless of environment.
- Coverage Across the Software Development Lifecycle (SDLC): The test lab must be able to support all test scenarios from day one to post-production. This includes individual unit tests, functional testing on target devices, load testing for cross-platform verification and proactive monitoring of user experience in live devices. Those evaluating mobile apps must be able to provide both empirical data on all elements as well as visual results that allow testers to see exactly what the user sees on his/her device. With consistent results from an SLA-validated test environment, operations and development groups can more effectively collaborate throughout the SDLC.
- Integration with Existing Tools: Test labs that require users to leave their known environments or learn new skills will not be effective. To embrace Continuous Quality, a lab must provide a seamless and open integration with an organization’s tool eco-system – programming languages, IDEs, CI servers, test frameworks.
As Dev/Test teams face new challenges to meet user expectations and maintain rapid release schedules without compromising quality, it is imperative that they embrace Continuous Quality practices orchestrated with a robust Continuous Quality Lab. A Continuous Quality lab supports the entire team, providing insight and feedback into end-to-end development throughout the SDLC and reducing time-to-market. More importantly, it ensures an organization can meet the quality that is expected from end users.
Read more: http://www.perfectomobile.com/articles/make-shift-...
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.
MEMBERS GET ACCESS TO
- - Exclusive content from leaders in the industry
- - Q&A articles from industry leaders
- - Tips and tricks from the most successful developers weekly
- - Monthly issues, including all 90+ back-issues since 2012
- - Event discounts and early-bird signups
- - Gain insight from top achievers in the app store
- - Learn what tools to use, what SDK's to use, and more