The Certified Software Quality Engineer Handbook
From ASQ Quality Press
This handbook contains information and guidance that supports all of the topics of the 2016 version of the CSQE Body of Knowledge (BoK) upon which ASQ's Certified Software Quality Engineer (CSQE) exam is based. Armed with the knowledge presented in this handbook to complement the required years of actual work experience, qualified software quality practitioners may feel confident they have taken appropriate steps in preparation for the ASQ CSQE exam. However, the goals for this handbook go well beyond it being a CSQE exam preparation guide...Buy Now!
Much More Than an Exam Prep Guide
Its author designed this handbook not only to help the software quality engineers, but as a resource for software development practitioners, project managers, organizational managers, other quality practitioners, and other professionals who need to understand the aspects of software quality that impact their work. It can also be used to benchmark their (or their organization s) understanding and application of software quality principles and practices against what is considered a cross-industry good practice baseline. After all, taking stock of strengths and weaknesses, software engineers can develop proactive strategies to leverage software quality as a competitive advantage. New software quality engineers can use this handbook to gain an understanding of their chosen profession. Experienced software quality engineers can use this handbook as a reference source when performing their daily work. It is also hoped that trainers and educators will use this handbook to help propagate software quality engineering knowledge to future software practitioners and managers. Finally, this handbook strives to establish a common vocabulary that software quality engineers, and others in their organizations can use to communicate about software and quality. Thus increasing the professionalism of the industry and eliminating the wastes that can result from ambiguity and misunderstandings.
Continuous improvement is a mantra implicit to the quality profession. So as software quality engineers, we should not be surprised our own discipline has continued to evolve and change. By 'practicing what we preach' in our own field, adopting 'lessons learned' from implementing software quality principles and practices, and proactively staying involved in managerial, procedural, and technological advances in software engineering and the quality arena, software quality engineers have learned to increase the value they add to the end software products. One of the primary roles of a software quality engineer is to act as a management information source that keeps software quality as visible to software management as cost and schedule are when business plans and decisions need to be made. In order to fulfill this role, software quality engineers must continuously improve their skill and knowledge sets. The software quality profession has moved beyond the limits of using only testing or auditing as the primary tools of our trade.
Software quality has emerged into a multifaceted discipline that requires us, as software quality engineers, to be able to understand and apply knowledge that encompasses:
- Software quality management. The processes and activities involved in setting the organization's strategic quality goals and objectives, establishing organizational, project, and product quality planning, and providing the oversight necessary to ensure the effectiveness and efficiency of the organization's quality management system. Software quality management provides leadership and establishes an integrated, cross-functional culture where producing high-quality software is "just the way we do things around here."
- Software quality engineering. The processes and activities needed to define, plan, and implement the quality management system for software-related processes, projects, and products. This includes defining, establishing, and continuously improving software-related systems, policies, processes, and work instructions that help prevent defects and build quality into the software.
- Software quality assurance. The planned and systematic set of all actions and activities needed to provide adequate confidence that the:
- Software work products conform to their standards of workmanship and that quality is being built into the products
- Organization's quality management system (or each individual process) is adequate to meet the organization's quality goals and objectives, is appropriately planned, documented, and improved, is being followed, and is effective and efficient.
- Software quality control. The planned and systematic set of all actions and activities needed to monitor and measure software projects, processes, and products to ensure that special causes have not introduced unwanted variation into those projects, processes, and products.
- Software verification and validation. The processes and activities used to ensure that software products meet their specified requirements and intended use. Verification and validation help ensure that the "software was built right" and the "right software was built."
- Soft skills. A software quality engineer also needs what are referred to as the "soft skills" to be effective in influencing others toward quality. Examples of "soft skills" include leadership, team building, facilitation, communication, motivation, conflict resolution, negotiation, and more.
The ASQ Certified Software Quality Engineer (CSQE) Body of Knowledge (BoK) is a comprehensive guide to the "common knowledge" software quality engineers should possess about these knowledge areas. To keep the CSQE BoK current with industry and practitioner needs, a modernized version of the CSQE BoK is released on a periodic basis.
For me, personally, obtaining my CSQE certification, participating in the development of the ASQ CSQE program, and even the writing of this book were more about the journey then the destination. I have learned many lessons from my colleagues, clients, and students since I first became involved with the ASQ CSQE effort in 1992, as well as during my 40-plus-year career in software. I hope that you will find value in these 'lessons learned' as they are embodied in this handbook.