by Jeffrey Coleman –
I am a huge fan of going out on a Friday night to my favorite restaurant and enjoy the new dinner specials and my favorite beverage. How could you not enjoy walking into a restaurant that has an inviting mood, you’re smelling the food, and seeing others enjoying themselves around you. It is the perfect time to have a relaxing and enjoyable evening and enjoy your time away from the hustle and bustle of everyday life.
As you’re sitting down, you have all of these expectations set in your mind, but you start to notice different pieces are missing: you are seated without a menu, there is no silverware, and you would prefer to sit outside on this beautiful night. So, your initial reaction is to ask the hostess for another table. Simple, problem fixed!
As you’re moved to your next table, it’s the one that you would’ve preferred from the beginning. So again, the problem is easily solved! At this point you notice additional components that have not met your expectations, the table was not cleaned, glassware is dirty, so your initial assumption is that maybe it was not the right night to come here. Is it perhaps time to find a new spot?
As a consumer, we want reliable products and services that we use daily and notice if the consistency of the quality and preparedness meet our normal standards. Isn’t it hard to ignore unusual changes and issues in our normal routines? There are certain expectations that are almost impossible to ignore because those small differences and inconsistencies stand out when we are at our favorite restaurants, at the grocery store, or even going through a drive-through for our morning coffee. We as consumers are accustomed to consistency when it comes to our products and services.
Like this scenario, in software development and DevOps, customers have expectations of good quality products and services.
As a customer or organization signs up or purchases a product or service, they immediately expect a solution that:
- Should meet the needs or ask (requirements met)
- Should be reusable (solution-based)
- Should not cause the user harm (safety/limited exposure)
- Should be maintainable (logic is can be updated)
- Should have a reasonable cost
- Should be delivered in a reasonable timeline
When these expectations exist, how can we ensure that they are met? This is when a strong Quality Assurance test should be established to meet those expectations.
The need for strong Quality Assurance
Quality Assurance (QA) is an extremely important component, but why?
Quality Assurance (QA) is the component that is required to safeguard any company, product or service against potential risk. It is the process of verifying whether a product or service meets the required specifications and customer expectations. This is a process-driven approach that facilitates and defines goals regarding product design, development, and production.
Imagine every service or product we as customers purchase had a perfect QA process before being sold? It would eliminate most issues for the consumers that they would face after purchasing. Conversely, what if the chef at your favorite restaurant had no process for confirming that the vegetables served to you aren’t rotten or the bread isn’t moldy or the meat isn’t rank?
Within my 20 plus years as a professional Quality Assurance practitioner, I’ve been confronted by a number of companies who consider eliminating or limiting the use of the QA processes. This is a vital part of any development life cycle. In addition to being a vital part, it’s the main ingredient needed to ensure that your product and services concerns on usability, risk mitigation, maintainability and cost efficiency are addressed.
So why would a company’s view of Quality Assurance be less than favorable? In my experience, QA is often times seen as an expense with no measurable value. However, the value of QA is frequently demonstrated through sustained or improved customer satisfaction with software in production.
A New Term: Quality Assurance Placemat (QAP)
Backtrack to my earlier reference of the restaurant, when using that example you will understand the significance of Quality Assurance Placemat is when it comes to any company/organization.
This is a unique system that deals with three major components: Tools, Processes, and Personnel. These components are prominent for the success of all aspects of the development of products/services as well as the various stages of Quality Assurance. The Quality Assurance Placemat will be used to cover every part of a development lifecycle which includes:
- The inception of the project
- Business case development
- Technical requirement development
- User stories creation
- Design document drafting
- Coding and unit validation
- Establish production like environment
- Code versioning
With all the different variables within the development lifecycle, the QAP is the foundation for setting the table when it comes to product/service development. This really pushes you to think about:
- “How” can this QAP improve Quality in product/services?
- “Where” should a QAP be implemented?
- “When” is the right time to use a QAP?
- “Why” a company should invest in a QAP?
So, at the end of this article, you will have some of the answers to those questions. If we start with the fact that it is true that not every organization level structure will be able to afford the same degrees of QAP, but even so it is still significant that the basic elements should be in recognized and implemented
QAP would be considered all of the elements that need to be aligned to guarantee success, so when it comes to quality assurance those elements are specifically the tools, processes, and personnel that are within every product/service delivering company.
Quality Assurance Placemat enabling Tools
Within the Tools component of a QAP, it is important to remember that to have a successful implementation of quality in any organization, you must identify the toolset that is needed to execute, track, store, and report on test artifacts. Within the marketplace, there are many variations of tests tools that can be implemented, a great point of reference that you could use is Guru99.com.
The Test Management Tool is the cornerstone tool of a QAP, which allows the user to do the following:
- Create and maintain pertinent release/project information
- Create and maintain test artifacts for release and cycles
- Traceability to requirements to test cases
- Establishing test execution cadence
- Metric collection and report generation
- Defect management
Here are some examples of the Test Management tools and descriptions from the reference point that I mentioned previously, Guru99.com:
- QTest– is one of the #1 test management tools among Agile and QA teams. It provides software testing and development teams with easy to learn, easy to use, scalable test management that integrates with JIRA, other ALMs and automation tools. In addition, QTest manages requirements, the test case repository, test execution, defect tracking reporting and integration.
- PractiTest– is an entirely SaaS end to end QA and Agile Friendly Test Management tool. Using customizable filters to help efficiently organize your requirements, create and run tests, track bugs and generate reports.
- Zephyr –provides the world’s most widely used software test management solutions, is a leader in the global transformation toward continuous testing agility through widely adopted quality management, automation, and analysis tools.
Processes and Procedures for the Quality Assurance Placemat
Then, the next key area of a QAP is Processes and Procedures. Bring to mind that in order to effect change within an organization that delivers products/services, there must be repeatable, defined methods for achieving a task within the software development lifecycle.
Processes will include the following:
- Standard Quality Assurance activities
- Standard deliverables
- Standard checklist
- Standard timetable for activities
- Ranking and prioritization processes
- Proper control processes
- Standard assessment processes
- Review processes and gate transactions processes
If we think about the restaurant example stated earlier, if the standard deliverables and checklists were repeated and defined throughout all standards of the place, the expectations would have been met. The QAP is here to set the placemat correctly- which allows companies to complete the same repetitive activities with more precision, help refine and eliminate errors, minimize waste, and implement efficiencies.
Within the Quality Assurance Placemat testing, there is also a methodology that should be followed when implementing, so in my opinion, Kaizen methodology is the best.
Kaizen methodology follows ten specific principles:
- Improve everything continuously
- Abolish old, traditional concepts
- Accept no excuses and make things happen
- Say no to the status quo of implementing new methods and assuming they will work
- If something is wrong, correct it
- Empower everyone to take part in problem-solving
- Get information and opinions from multiple people
- Before making decisions, ask “why” five times to get to the root cause (5 Why Method)
- Be economical, save money through small improvements and spend the saved money on further improvements
- Remember that improvement has no limits, never stop trying to improve
These are the meaningful metrics that should be followed or be the guidelines to ensure that all metrics are obtainable during the lifecycle of the project.
The Right People for the Quality Assurance Placemat
Last but not least, the third key area of a QAP is Personnel.
Companies must invest in the right personnel to implement quality standards. Testers are uniquely skilled resources with a passion for identifying defects and ensuring requirements are being met. Honestly, a tester is truly a vital part of a company that delivers product/services because they simply catch the most problems before they end up in production which in the long run contributes to the company brand as well as market share.
Having a Quality Assurance Placemat ensures that all different segments within an organization are properly put into place which guarantees the success within the organization. If the placemat it set correctly, then the people, processes, and tools are all on the same page when implementing quality standards to achieve the intended outcomes. When implementing the QAP, it is important to have a clear direction from the Business owner, CTO or CIO and have a commitment to making the changes towards quality.
Once support from the upper management is attained, a clear assessment needs to be performed on the IT organization where the relevant inputs/outputs, key players, processes and change management processes are identified. After the assessment it is time for the easy part, it provides a clear plan for implementing Quality Assurance Placemat can be drafted and that includes tool identification, processes, and personnel selection.
The beneficial impact of testing not only provides a sense of relief and confidence but also guarantee quality for the finished product. Making the effort for this change will make quality become a shared responsibility within the products/services that your company offers, change the attitude and mindset towards QAP and be certain that your standards are met.