Three Pillars of App Quality Excellence

148 VIEWS

To build a culture of quality excellence in your organization, every member must be accountable for the quality of the product from the intake stage, to delivery of the end-product; i.e., there must be a quality platform supporting the end-to-end process.  The purpose of the quality platform is to ensure that you build software that customers love as the result of an organizational culture that emphasizes quality over quantity, works smarter, and sets the right expectations. Let’s explore these behaviors and see why they are so important.

Quality over quantity

To change the culture of your organization, you must begin with the right mindset.  If you want to shift your focus toward quality rather than quantity, start by shifting your testing strategy and taking the time to plan a well-balanced automated testing portfolio.  Figure out which areas will be impacted the most by this change, and analyze the risk of not validating the lower impacted areas. This shift will also require that you move away from traditional manual testing and embrace a new philosophy by automating the right things and filling in the gaps with exploratory testing charters.

There is no value in simply writing a large quantity of tests; the value lies in writing tests that provide validation for an area that is critical to the viability of the application.  As an extension of the development team, quality ambassadors evangelize the importance of testing the right things; but not everything.

  • They help all members of the development team learn to think from an end user’s perspective, and they help them think through different scenarios that would affect the overall customer experience.
  • They can integrate transparent strategies for greater responsibility and accountability in the development lifecycle.
  • They encourage a focus on quality from the beginning of the process.
  • They provide opinionated guides for best practices and standards.
  • They ensure that all documentation is clear and concise.
  • They provide mentoring and coaching.

Without quality ambassadors, you are at risk of over-testing the application, or not focusing on the right areas of the application.

Work smarter not harder

To achieve quality excellence, you need to implement a platform that enables the organization to accelerate software development, release quality software, and deploy to production frequently and with confidence.  In order for this to happen, you will need to work smarter and think outside the box to find effective alternatives for achieving your quality goals. You might consider the following suggestions:

  • Create or hire a dedicated developer solutions team that focuses on building self-service solutions for testing.
    • This team will focus on building extendable and maintainable testing solutions for development teams.
    • It will serve as the foundation for an automated testing platform.
    • It will focus on building for the future.
    • As an extension of the development team, it will provide testing support.
    • The solutions that it creates will result in more developer buy-in.
  • Use data insight solutions that aggregate many sources of data to a centralized location in order to visualize how the company is performing from an application health standpoint.  This would provide a window into the quality of the application, accelerate analysis, and yield actionable insights.
  • Make testing better and easier for everyone with test generation methodologies.  Speeding up the authoring of software testing with auto-generated tests will enable code to reach the testing stage faster while also improving coverage.
  • By using turnkey solutions like Sauce Labs, you will no longer have to dedicate time and resources to maintaining the grid or updating browsers and operating systems.

Set the right quality expectations with the development team

Are you setting the right quality expectations with your development team?  You need to be upfront and transparent about what can be accomplished through your resources, the scope of your tasks, and your time limitations.  If you don’t, you’re setting yourself up for failure. Unfortunately, these things are often overlooked during the planning phase of the project. If you explain the parameters of the task at the outset and emphasize your expectations for quality early and often, your clear communication will facilitate teamwork, which will drive quality products from the very beginning.

When the organization changes philosophies, there can be confusion about who is responsible for the quality and performance of the end product.

Consider this scenario, from the perspective of the developer:  Your only responsibility has been to write feature code and unit tests.  Suddenly, the organization wants developers to take responsibility for the overall quality of the software.  The expectation is that you will start thinking like QA, which clashes with the way you have had to think up until now. This will be a difficult transition for you, since QA considerations and requirements were not factors when writing code.

If the organization communicates a clear plan for transitioning to the new philosophy, the roles and responsibilities can be clearly defined and the transition will be much smoother.

Conclusion

Getting organizational buy-in requires more than sharing a philosophy. You have to build a culture of quality excellence by emphasizing quality over quantity, working smarter, and setting the right expectations. As an extension of the development team that understands the mission of quality excellence, QA teams can serve as ambassadors of quality excellence to the rest of the company.


Greg is a Fixate IO Contributor and a Senior Engineer at Gannett | USA Today, responsible for test automation solutions, test coverage (from unit to end-to-end), and continuous integration across all Gannett | USA Today Network products.


Discussion

Click on a tab to select how you'd like to leave your comment

Leave a Comment

Your email address will not be published. Required fields are marked *

Menu