2006 Csqa Cbok
2006 Csqa Cbok
Dear CSQA Candidate: Thank you for your interest in the Certified Software Quality Analyst (CSQA) Program. I am sure you already know the CSQA designation is quickly becoming the standard for IT software quality professionals around the world. Many companies are requiring certification for hiring or advancement. There have been over 27,000 IT professionals worldwide that have sought our professional certifications. The CSQA Certification Board updates the CSQA Common Body of Knowledge (CBOK) approximately every three years. You can be assured that if you become competent in this material, you will be well prepared for todays software quality challenges. If you have extensive experience in software quality within IT, the examination should not be difficult for you. If your experience is minimal, or is limited to only certain areas of quality management, you should seek additional study material beyond those recommended in this guide. The CSQA certification examination is based upon the skill categories identified in the 2006 CSQA CBOK Outline. As such, this guide to the CBOK was designed for you to use as material in preparation for the CSQA exam. The examination presumes that you have had broad exposure to quality practices. It is expected that you have reviewed and read current literature available on software quality and testing. I urge you to read this guide carefully. The guide to the 2006 CSQA Common Body of Knowledge has been released after careful review by software quality professionals and editors. As an organization based upon quality principals and theories, we welcome any feedback from you regarding content and structure. Please feel free to email your comments and suggestions to [email protected]. Best wishes in preparing for, and taking, the examination. For additional information regarding the 2006 CSQA CBOK, the CSQA Designation, or this program, please visit our Web site at www.softwarecertifications.org. We also encourage you to become a part of the IT Quality community by visiting the Quality Assurance Institute Web site at www.qaiworldwide.org. Sincerely,
Table of Contents
Introduction to the CSQA Program
Software Certification Overview Program History Why Become Certified? Benefits of Becoming a CSQA Meeting the CSQA Qualifications Prerequisites for Candidacy Code of Ethics Submitting the Initial Application
..............................................................
.............................................................................. ...................................................................... ...................................................................... ...................................................................... .............................................................................. ...................................................................... ...................................................................... ......................................................................
1
2 3 3 3 7 7 9 12 13 14 15 16 16 16 16 17 17
Application-Examination Eligibility Requirements ............................................................ Arranging to Sit and Take the Examination ............................................................................ Scheduling to Take the Examination Receiving the Admission Ticket Checking Examination Arrangements Arriving at the Examination Site Continuing Professional Education Advanced CSQA Designations ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ......................................................................
..............................................................
21
21 22 24 25 25 26 26
Assess Your CSQA 2006 CBOK Competency ...................................................................... Complete the CSQA Skill Assessment Worksheet ......................................................... Calculate Your CSQA CBOK Competency Rating ......................................................... Understand the Key Principles Incorporated Into the Examination ....................................... Review the List of References Initiate a Self-Study Program Take the Sample Examination .............................................................................. .............................................................................. ..............................................................................
29
G U I D E
T O
C S Q A
2 0 0 6
C B O K
..............................................................
............................................................................. ............................................................................. ..................................................................... ............................................................................. ..................................................................... ..................................................................... ..................................................................... ..................................................................... ..................................................................... ............................................................................. ..................................................................... ..................................................................... ............................................................................. ..................................................................... ..................................................................... ..................................................................... .....................................................................
41
41 43 44 45 46 48 49 54 54 55 55 55 56 57 58 59 59 62 65 66
Understanding and Using the Just-In-Time (JIT) Technique ......................................... Differentiating Between Quality Control and Quality Assurance ...................................
...........................................................
............................................................................. ..................................................................... ..................................................................... .................................................................. ..................................................................... ............................................................................. ..................................................................... ..................................................................... ..................................................................... ..................................................................... ............................................................................. ..................................................................... ..................................................................... .....................................................................
69
69 69 72 73 81 81 83 83 84 94 95 95 105 106 106
ii
T A B L E
O F
C O N T E N T S
Implementing a Mission, Vision, Goals, Values, and a Quality Policy ........................... Monitoring Compliance to Organizational Policies and Procedures .............................. Enforcement of Organizational Policies and Procedures ...............................................
...........................................................
........................................................................... ...................................................................... ...................................................................... ...................................................................... ........................................................................... ......................................................................
125
125 125 126 126 130 130 131 133 136 136 136 137 137 138 139 140 143 148 152 156 164
Benchmarking to Establish a Baseline Goal ................................................................... Assessments against Management Established Criteria ............................................... Assessments against Industry Models Model and Assessment Fundamentals Purpose of a Model Model Selection Process Industry Quality Models ...................................................................... ........................................................................... ...................................................................... ...................................................................... ..............................................................................
Types of Models (Staged and Continuous) ...................................................................... Using Models for Assessment and Baselines ................................................................. Software Engineering Institute Capability Maturity Model Integration (CMMI) ........... Malcolm Baldrige National Quality Award (MBNQA) ...................................................... ISO 9001:2000 ISO/IEC 15504: Process Assessment Post-Implementation Audits ...................................................................... ...................................................................... ...................................................................... ISO/IEC 12207: Information Technology Software Life Cycle Processes ..................
..............................................................
...................................................
165
165 167 168 172 173 185 186 197 209 212
The Challenges of Implementing a Quality Function ...................................................... How the Quality Function Matures Over Time ................................................................ Support in Corporate Quality Management Environment ............................................... Implementing an IT Quality Function Quality Tools Management Tools Statistical Tools Presentation Tools Process Deployment ................................................................... .............................................................................. ...................................................................... ...................................................................... ...................................................................... ...........................................................................
iii
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Getting Buy-In for Change through Marketing ................................................................ The Formula for Effective Behavior Change .................................................................. The Deployment Process Critical Success Factors for Deployment Internal Auditing and Quality Assurance Types of Internal Audits Differences in Responsibilities .................................................................. .................................................................. .......................................................................... ..................................................................... .....................................................................
..............................................................
............................................................................. ..................................................................... .....................................................................
227
227 228 229 231 231 232 233 234 234 236 238 240 242 270
Integrating Business and Quality Planning ............................................................................ The Fallacy of Having Two Separate Planning Processes ........................................... Planning Should be a Single IT Activity Prerequisites to Quality Planning The Planning Process Planning Process Overview The Six Basic Planning Questions Planning to Mature IT Work Processes ..................................................................... ............................................................................. ............................................................................. ..................................................................... ..................................................................... .............................................................................
The Common Activities in the Planning Process ........................................................... QAI Model and Approach to Mature IT Work Processes .............................................. How to Plan the Sequence for Implementing Process Maturity ....................................
Skill Category 6 Define, Build, Implement and Improve Work Processes .................................
Process Management Concepts Definition of a Process Why Processes are Needed Process Workbench and Components Process Categories The Process Maturity Continuum How Processes are Managed Process Template Process Management Processes Planning Processes Do Processes Check Processes Act Processes ............................................................................. ..................................................................... ..................................................................... ..................................................................... ..................................................................... ..................................................................... ..................................................................... ..................................................................... ............................................................................. ..................................................................... ..................................................................... ..................................................................... .....................................................................
281
281 281 282 283 285 286 288 289 289 291 294 297 302
iv
T A B L E
O F
C O N T E N T S
..............................................................
.............................................................................. ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... .............................................................................. ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... ...................................................................... .............................................................................. ...................................................................... ...................................................................... ...................................................................... .............................................................................. ...................................................................... ...................................................................... .............................................................................. ...................................................................... ...................................................................... ...................................................................... ......................................................................
309
309 309 310 311 312 312 316 316 317 320 320 321 321 323 324 324 325 325 325 325 326 327 331 332 332 333 333 333 334 335 337
Determine the Type of Development Project .................................................................. Determine the Type of Software System Determine the Project Scope Identify the Tactical Risks Determine When Testing Should Occur Build the System Test Plan Build the Unit Test Plans Verification and Validation Methods Verification Techniques Validation Techniques Structural and Function Testing Software Change Control Software Configuration Management Change Control Procedures Defect Management Defect Management Process Defect Reporting Severity versus Priority Using Defects for Process Improvement
..............................................................
.............................................................................. ...................................................................... ...................................................................... ......................................................................
339
339 339 340 340
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Types of Measurement Data Measures of Central Tendency Attributes of Good Measurement Key Indicators Measurement in Software Product Measurement Process Measurement Variation and Process Capability The Measurement Program Installing the Measurement Program Variation and Process Improvement Process Capability Risk Management Defining Risk Characterizing Risk Managing Risk Software Risk Management Risks of Integrating New Technology Implementing a Measurement Program The Need for Measurement Prerequisites
..................................................................... ..................................................................... .................................................................. ..................................................................... ............................................................................. ..................................................................... ..................................................................... ............................................................................. ..................................................................... ..................................................................... ..................................................................... ..................................................................... ............................................................................. ..................................................................... ..................................................................... ..................................................................... ..................................................................... ..................................................................... ............................................................................. ..................................................................... .....................................................................
341 342 342 343 344 344 345 348 348 349 350 353 355 356 357 357 358 358 365 366 367 367 368
..............................................................
371
371 372 377 386 387 389 392 392 392 395 396 400 411 418
Principles and Concepts of Internal Control .......................................................................... Internal Control and Security Vocabulary and Concepts ............................................... Preventive, Detective, and Corrective Controls .............................................................. Risk and Internal Control Models ............................................................................. COSO Enterprise Risk Management (ERM) Model ...................................................... COSO Internal Control Framework Model ..................................................................... CobiT Model Building Internal Control Perform Risk Assessment Building Adequate Security Establishing a Security Baseline Security Awareness Training Security Practices Where Vulnerabilities in Security Occur ..................................................................... ............................................................................. ..................................................................... ............................................................................. ..................................................................... ..................................................................... ..................................................................... .....................................................................
vi
T A B L E
O F
C O N T E N T S
421
421 422 422 425 425 426 427 429 430 432 432 432 432 438 439 439 444 444
Assure Completeness of Needs Requirements .............................................................. Determine Compatibility with Hardware, Operating System, and Assure the Software can be Integrated into Your Business System Work Flow ...........
Contracting for Software Developed by Outside Organizations ............................................ Operating for Software Developed by Outside Organizations ...............................................
..............................................................
.............................................................................. .............................................................................. ..............................................................................
451
451 452 455
..............................................................
479
..............................................................
495
vii
Software Certification Overview Meeting the CSQA Qualifications Arranging to Sit and Take the Examination How to Maintain Competency and Improve Value
2 7 14 16
Be sure to check the Software Certifications web site for up-to-date information on the CSQA program and examination sites and schedules, and Whats New: www.softwarecertifications.org
Using this product does not constitute, nor imply, the successful passing of the CSQA certification examination.
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Software Testers Certified Software Tester (CSTE) Advanced Software Tester (ASTE) Master Software Tester (MSTE)
I N T R O D U C T I O N
T O
T H E
C S Q A
P R O G R A M
One or more of these certifications is frequently a prerequisite for promotion or acquiring a new position. See www.qaiworldwide.org and www.softwarecertifications.org for detailed information on all software certifications available including: Preparation Courses Examination Schedules Conferences and Seminars In-house Training Courses
Contact Us Software Certifications Phone: (407)-472-8100 Fax: (407)- 398-6817 CSQA questions? E-mail: [email protected]
Program History
QAI was established in 1980 as a professional association formed to represent the software quality assurance industry. The first certification began development in 1985 and the first formal examination process was launched in 1990. Today, Software Certifications, administered by QAI, is global. Since its inception, Software Certifications has certified over 20,000 IT professionals in Australia, Barbados, Belgium, Bermuda, Brazil, Canada, China, Egypt, Hong Kong, India, Israel, Korea, Mexico, New Zealand, Puerto Rico, Saudi Arabia, Singapore, South Africa, United Kingdom, United Arab Emirates, and the United States.
G U I D E
T O
C S Q A
2 0 0 6
C B O K
in the IT industry a real testimonial to the benefits and reasons to make the effort to become a CSQA. Value Provided to the Profession Software quality assurance is often viewed as a software project task, even though many individuals are full-time quality assurance professionals. The CSQA program was designed to recognize software quality assurance professionals by providing: Common Body of Knowledge (CBOK) The Certification Board defines the skills upon which the software quality assurance certification is based. The current CBOK includes 10 skill categories fully described in this preparation guide see Skill Category 1 through Skill Category 10. Examination Process to Evaluate Competency The successful candidate must pass a four-part examination that is based on the CBOK. You must receive a grade of 75%, or greater on each part. Only 31% of the prequalified applicants pass the examination the first time, making this a prestigious certification to obtain. See How to Take the CSQA Examination for a sample examination and answers to help you prepare for the actual examination. Code of Ethics The successful candidate must agree to abide by a professional Code of Ethics as specified by the Certification Board. See Code of Ethics on page 9 for an explanation of the ethical behaviors expected of all certified professionals. Value Provided to the Individual The individual obtaining the CSQA certification receives the following values: Recognition by Peers of Personal Desire to Improve Approximately, eighty percent (80%) of all CSQAs stated that a personal desire for selfimprovement and peer recognition was the main reason for obtaining the CSQA certification. Fifteen percent (15%) were required by their employer to sit for the examination, and 10% were preparing themselves for an improved quality-related position. Many CSQAs indicated that while their employer did not require CSQA certification, it was strongly encouraged. Increased Confidence in Personal Capabilities Eighty-five percent (85%) of the CSQAs stated that passing the examination increased their confidence to perform their job more effectively. Much of that confidence came from studying for the examination.
I N T R O D U C T I O N
T O
T H E
C S Q A
P R O G R A M
Recognition by IT Management for Professional Achievement Most CSQAs stated that their management greatly respects those who put forth the personal effort needed for self-improvement. IT organizations recognize and reward individuals in the following ways: Thirteen percent (13%) received an immediate average one-time bonus of $610, with a range of $250 to $2,500. Twelve percent (12%) received an immediate average salary increase of 10%, with a range of 2% to 50%.
Non-monetary recognitions were: Thirty-six percent (36%) were recognized in staff meetings. Twenty percent (20%) in newsletters or email. Many received rewards, management visits or calls, and lunch with the boss.
Within the first 18 months after receipt of the CSQA certification, of the successful candidates: Twenty-seven percent (27%) received an average salary increase of 23%, with a range of 2% to 100%. Twenty-three percent (23%) were promoted, 25% received a better assignment and 13% a new assignment.
Value Provided to the Employer With the need for increased software quality and reliability, employing CSQAs provides value in these ways: Increased Confidence by IT Users and Customers IT users and customers expressed confidence in IT to effectively build or acquire software when certified quality assurance practitioners were involved. Improved Processes to Build/Acquire/Maintain, Operate and Measure Software CSQAs use their knowledge and skills to continuously improve the IT work processes. CSQAs know what to measure, how to measure it, and then prepare an analysis to aid in the decision-making process. Independent Assessment of Quality Assurance Competencies The CSQA program is directed by a Certification Board of independent quality assurance experts. Through examination and recertification, they provide an independent assessment of the CSQAs quality assurance competencies, based on a continuously strengthening Common Body of Knowledge for quality assurance practitioners. Quality Assurance Competencies Maintained Through Recertification Yesterdays quality assurance competencies are inadequate for todays challenges. CSQA recertification is a process that helps assure the CSQAs skills remain current. The
G U I D E
T O
C S Q A
2 0 0 6
C B O K
recertification process requires CSQAs to obtain 40 hours of quality assurance related training per year in topics specified by the Certification Board. From an IT directors perspective, this is employee-initiated quality assurance training. Most, if not all CSQAs, do this training during their personal time. IT organizations gain three benefits from CSQA recertification: 1) employees initiate improvement; 2) quality assurance practitioners obtain competencies in quality assurance methods and techniques; and 3) employees train during personal time. Value Provided to Co-Workers The drive for self-improvement is a special trait that manifests itself in providing these values to co-workers: Mentoring the Testing Staff Forty-five percent (45%) of the CSQAs mentor their testing colleagues by conducting training classes; encouraging staff to become certified; and acting as a resource to the staff on sources of IT quality related information. Testing Resource to IT Staff CSQAs are recognized as experts in quality assurance and are used heavily for advice, counseling, and for recommendations on software construction and testing. Role Model for Quality Assurance Practitioners CSQAs are the IT role models for individuals with quality responsibilities to become more effective in performing their job responsibilities. How to Improve Quality Assurance Effectiveness Through CSQA Certification A driver for improved IT effectiveness is the integration of the CSQA certification program in your IT career development plan. This can be accomplished by: Creating an awareness of the CSQA Program and its benefits to your quality assurance practitioners. Requiring or encouraging your quality assurance practitioners to become certified. Recognizing and rewarding successful candidates. Supporting recertification as a means of maintaining quality assurance competency.
QAI, as CSQA program administrators, will assist you in this effort. See www.qaiworldwide.org for detailed information.
I N T R O D U C T I O N
T O
T H E
C S Q A
P R O G R A M
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Successful candidates must be able to execute suitable quality assurance principles and practices in an array of diverse assignments and clearly communicate appropriate conclusions and recommendations.
Note: When submitting academic qualifications, the candidate must ensure that the materials are in sufficient detail so that the Software Certifications Board can determine equivalency. The Board is the final judge of acceptability of any alternative educational or experience-based criteria submitted by any applicant. Expectations of the CSQA Knowledge within a profession doesn't stand still. Having passed the CSQA examination, a certificant has demonstrated knowledge of the designation's CBOK at the point in time of the examination. In order to stay current in the field as knowledge and techniques mature, the certificant must be actively engaged in professional practice, and seek opportunities to stay aware of, and learn, emerging practices. The CSQA is required to submit 120 credit hours of Continuing Professional Education (CPE) every three years to maintain certification or take an examination for recertification. Any special exceptions to the CPE requirements are to be directed to the Certification Director. Certified professionals are generally expected to: Attend professional conferences to stay aware of activities and trends in the profession. Take education and training courses to continually update skills and competencies. Develop and offer training to share knowledge and skills with other professionals and the public. Publish information in order to disseminate personal, project, and research experiences. Participate in the profession through active committee memberships and formal special interest groups.
The CSQA is expected not only to possess the skills required to pass the CSQA examination but also to be a change agent: someone who can change the culture and work habits of individuals (or someone who can act in an advisory position to upper management) to make quality in software quality assurance happen. Professional Skill Proficiency Responsibilities In preparing yourself for the profession of IT software quality assurance and to become more effective in your current job, you need to become aware of the three Cs of today's workplace: Change The speed of change in technology and in the way work is performed is accelerating. Without continuous skill improvement, you will become obsolete in the marketplace. Complexity Information technology is becoming more complex, not less complex. Thus, achieving quality, with regard to software quality assurance in the information technology environment, will become more complex. You must update your skill proficiency in order to deal with this increased complexity. 8
I N T R O D U C T I O N
T O
T H E
C S Q A
P R O G R A M
Competition The ability to demonstrate mastery of multiple skills makes you a more desirable candidate for any professional position. While hard work does not guarantee you success, few, if any, achieve success without hard work. CSQA certification is one form of achievement. CSQA certification is proof that youve mastered a basic skill set recognized worldwide in the information technology arena.
Develop a Lifetime Learning Habit Become a lifelong learner in order to perform your current job effectively and remain marketable in an era of the three Cs. You cannot rely on your current knowledge to meet tomorrow's job demands. The responsibility for success lies within your own control. Perhaps the most important single thing you can do to improve yourself professionally and personally is to develop a lifetime learning habit. REMEMBER: If it is going to beits up to me.
Code of Ethics
An applicant for certification must subscribe to the following Code of Ethics that outlines the ethical behaviors expected of all certified professionals. Software Certifications includes processes and procedures for monitoring certificants adherence to these policies. Failure to adhere to the requirements of the Code is grounds for decertification of the individual by the Software Certifications Board. Purpose A distinguishing mark of a profession is acceptance by its members of responsibility to the interests of those it serves. Those certified must maintain high standards of conduct in order to effectively discharge their responsibility. Responsibility This Code of Ethics is applicable to all certified by Software Certifications. Acceptance of any certification designation is a voluntary action. By acceptance, those certified assume an obligation of self-discipline beyond the requirements of laws and regulations. The standards of conduct set forth in this Code of Ethics provide basic principles in the practice of information services quality assurance. Those certified should realize that their individual judgment is required in the application of these principles. Those certified shall use their respective designations with discretion and in a dignified manner, fully aware of what the designation denotes. The designation shall also be used in a manner consistent with all statutory requirements. Those certified who are judged by the Software Certifications Board to be in violation of the standards of conduct of the Code of Ethics shall be subject to forfeiture of their designation.
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Professional Code of Conduct Software Certifications certificate holders shall: 1. Exercise honesty, objectivity, and diligence in the performance of their duties and responsibilities. 2. Exhibit loyalty in all matters pertaining to the affairs of their organization or to whomever they may be rendering a service. However, they shall not knowingly be party to any illegal or improper activity. 3. Not engage in acts or activities that are discreditable to the profession of information services quality assurance or their organization. 4. Refrain from entering any activity that may be in conflict with the interest of their organization or would prejudice their ability to carry out objectively their duties and responsibilities. 5. Not accept anything of value from an employee, client, customer, supplier, or business associate of their organization that would impair, or be presumed to impair, their professional judgment and integrity. 6. Undertake only those services that they can reasonably expect to complete with professional competence. 7. Be prudent in the use of information acquired in the course of their duties. They shall not use confidential information for any personal gain nor in any manner that would be contrary to law or detrimental to the welfare of their organization. 8. Reveal all material facts known to them that, if not revealed, could either distort reports of operation under review or conceal unlawful practices. 9. Continually strive for improvement in their proficiency, and in the effectiveness and quality of their service. 10. In the practice of their profession, shall be ever mindful of their obligation to maintain the high standards of competence, morality, and dignity promulgated by this Code of Ethics. 11. Maintain and improve their professional competency through continuing education. 12. Cooperate in the development and interchange of knowledge for mutual professional benefit. 13. Maintain high personal standards of moral responsibility, character, and business integrity.
10
I N T R O D U C T I O N
T O
T H E
C S Q A
P R O G R A M
Grounds for Decertification Revocation of a certification, or decertification, results from a certificant failing to reasonably adhere to the policies and procedures of Software Certifications as defined by the Software Certifications Board. The Board may revoke certification for the following reasons: Falsifying information on the initial application and/or a CPE reporting form, Failure to abide by and support the Software Certifications Code of Ethics, Failure to submit the required continuing education credits toward recertification as required, or Failure to submit the required recertification fees as required.
Upon revocation, the certificant is requested to return their current certification credentials. A certificant may appeal a revocation at any time by communicating, in writing, directly with the Board.
The entire CBOK is provided in Skill Category 1 through Skill Category 10. A comprehensive list of related references is listed in Appendix B. Current experience in the field covered by the certification designation. Significant experience and breadth to have mastered the basics of the entire CBOK. Prepared to take the required examination and therefore ready to schedule and take the examination.
It should not be submitted by individuals who: Have not met all of the requirements stated above. Are not yet working in the field but who have an interest in obtaining employment in the field. Are working in limited areas of the field but would like to expand their work roles to include broader responsibilities. Are working in IT but have only marginal involvement or duties related to the certification.
11
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Candidates for certification who rely on only limited experience, or upon too few or specific study materials, typically do not successfully obtain certification. Many drop out without ever taking the examination. Fees in this program are nonrefundable. Do not apply unless you feel confident that your work activities and past experience have prepared you for the examination process. Applicants already holding a certification from Software Certifications must still submit a new application when deciding to pursue an additional certification. For example, an applicant already holding a CSTE or CSPM certification must still complete the application process if pursuing the CSQA certification. All application forms and required fees must be filed with the Director of Certification at least 60 calendar days prior to any examination date selected. The candidate must sign the application form agreeing to support and abide by the Software Certifications Code of Ethics. Applications will not be processed if they are incomplete, incorrectly completed, or fees have not been paid. See www.softwarecertifications.org for application fee information. The candidate has sole responsibility to ensure that materials are submitted in a timely and orderly manner. When sending an application, please allow two weeks for processing. There is no need to contact the administrative office during this period to check on the status of the application. In fact, to protect the integrity of the examination and certification processes, all correspondence related to certification policies and procedures must be in writing, using e-mail, fax, or first-class postal service. Information and status obtained through telephone conversations with the administering body shall be considered unofficial and off-the-record. Correcting Application Errors The accuracy and correctness of applications, documentation, or payments are the responsibility of the applicant. Incomplete or erroneous paperwork is returned to the applicant for correction and resubmission. Common defects requiring paperwork to be returned to the applicant include: Required information is missing. Incorrect form was used. Payment is missing or invalid. Unable to read required portions of application. Required signature is not present. Application received too late to be processed for selected examination.
Once corrected, materials can be resubmitted. This correction cycle does not waive the requirement that all processing be completed at Software Certifications at least 60 days before any scheduled examination. Applicants are strongly advised to not delay submission of materials until close to that deadline.
12
I N T R O D U C T I O N
T O
T H E
C S Q A
P R O G R A M
Submitting Application Changes It is critical that candidates submit changes to their candidacy application and keep their program records up to date. Many candidates change their residence or job situations during their certification candidacy. Others change their name as a result of marriage or divorce. If any such changes occur, it is the candidate's responsibility to notify the certification administrator using the Change of Records Form.
13
G U I D E
T O
C S Q A
2 0 0 6
C B O K
of Certification at least 60 calendar days before any examination date is selected. See www.softwarecertifications.org for application fee information.
14
I N T R O D U C T I O N
T O
T H E
C S Q A
P R O G R A M
The certification examinations are typically available in Australia, Canada, Hong Kong, India, New Zealand, Saudi Arabia, Singapore, South Africa, United Arab Emirates, and the United States. As the worldwide acceptance of Software Certifications designations continues to grow, more locations will be hosting the exam. Please contact www.softwarecertification.org to inquire about examination locations. Rescheduling the Examination Sitting From time to time, candidates need to reschedule their intended examination date. This is known as a deferral, and is accomplished using the Examination Deferral Form that must be submitted to the certification administrator at least 30 days before the originally scheduled examination. If done in this manner, the Examination Selection Form can be used to schedule the new examination as long as it is received at least 60 days before the new requested date. Deferrals received within 30 days of an examination date cannot be processed because examination materials have already been sent to the field. These candidates are considered "no shows" on the day of the examination and must use the Examination Retake Application in order to schedule a new examination date. As with the initial application, the Examination Retake Application and associated fees must be filed with the Director of Certification at least 60 days before any examination date is selected.
15
G U I D E
T O
C S Q A
2 0 0 6
C B O K
No-shows Candidates who fail to appear for a scheduled examination initial or retake automatically fail the examination and must submit the Examination Retake Application to apply for a new examination date. Candidates who have filed a deferral after the 30-day advance deadline are considered to be no-shows as well.
16
I N T R O D U C T I O N
T O
T H E
C S Q A
P R O G R A M
There are two levels of advanced degrees you will be eligible for once you obtain your CSQA designation: Advanced Software Quality Analyst (ASQA) This advanced designation is designed to demonstrate your knowledge of how to do the quality assurance tasks you may be assigned. The CSQA designation is focused much more on what you must know in order to practice quality assurance. The ASQA designation is designed for those who can demonstrate they know how to perform quality assurance tasks. Master Software Quality Analyst (MSQA) This is the highest designation attainable in the IT quality assurance field. It is reserved for those who can demonstrate quality assurance qualities and professional responsibilities. The drivers for improving performance in IT are the quality assurance and quality control (testing) professionals. Dr. W. Edward Deming recognized this do-check partnership of quality professionals in his 14 points as the primary means for implementing the change needed to mature. Quality control identifies the impediments to quality and quality assurance facilitates the fix. Listed below is the certification level, emphasis of each certification, and how you can demonstrate that competency. What is the Certification Competency Emphasis? CSQA Demonstrate competency in knowing what to do. Study for, and pass, a four-part examination developed by peers to evaluate the candidates knowledge of the principles and concepts incorporated into the CBOK, plus the ability to relate those principles and concepts to the challenges faced by IT organizations.
ASQA Demonstrate competency in knowing how to do it. Candidates must demonstrate their ability to develop real solutions to challenges in their IT organizations, by proposing a solution to a real-world problem. If accepted by the Certification Board, to develop and submit for evaluation the step-by-step solution the candidate developed for that IT challenge. This must be done for five CBOK categories. Each accepted solution will be awarded a certificate of competency for that CBOK category.
MSQA Master Software Quality Analyst Demonstrate competency in knowing how to break through quality and productivity barriers.
17
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Candidates must demonstrate the ability to innovate beyond current practice in solving IT challenges, as well as, demonstrate public service in the IT Quality profession. (Note: this certification available starting in 2006.)
Analytical Skills (How to innovate) Statistical Skills (How to improve performance) Performance Skills (What to do) IT Skills
MSQA, MSTE
ASQA, ASTE
Maturity Level
Figure 1. Maturing Your Professional Competencies For more information on the type of training that is applicable toward your continuing professional education requirements, and information on the advanced quality assurance certifications and how to apply for them, visit www.softwarecertifications.org.
18
I N T R O D U C T I O N
T O
T H E
C S Q A
P R O G R A M
Analytical Skills (How to innovate) Statistical Skills (How to improve performance) Performance Skills (What to do) IT Skills
MSQA, MSTE
ASQA, ASTE
Maturity Level
Figure 1. Maturing Your Professional Competencies For more information on the type of training that is applicable toward your continuing professional education requirements, and information on the advanced quality assurance certifications and how to apply for them, visit www.softwarecertifications.org.
19
21
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Many human resource organizations use the CSQA CBOK as the basis for writing job descriptions for IT quality assurance analysts. To properly prepare yourself to be proficient in the practice of IT quality assurance, you should develop a personal plan of action that would enable you to assess your competency in the 2006 CSQA CBOK. It is recognized that many software quality analysts do not need to be competent in all of the skill categories to fulfill their current job responsibilities. The current CBOK includes 10 skill categories that are fully described in this guide: Skill Category 1 Skill Category 2 Skill Category 3 Skill Category 4 Skill Category 5 Skill Category 6 Skill Category 7 Skill Category 8 Skill Category 9 Quality Principles and Concepts Quality Leadership Quality Baselines (Assessments and Audits) Quality Assurance Quality Planning Define, Build, Implement and Improve Work Processes Quality Control Practices Metrics and Measurements Internal Control and Security
Skill Category 10 Outsourcing, COTS, and Contracting Quality Skill Categories 1-8 should be common to all quality-related assignments and therefore, most of the certification examination focuses on categories 1 through 8. However, you should have a basic knowledge of Skill Categories 9 and 10 to remain current of software quality competencies. Candidates are examined at high levels on categories 9 and 10.
22
P R E P A R I N G
F O R
T H E
C S Q A
E X A M I N A T I O N
Not Competent None Either you do not understand this skill, or if you do understand it you do not know what is required to perform this skill. For example, you may know that an IT quality plan is needed, but you do not know what is included in an IT quality plan. Some Competency Some This assessment means that you know what is needed to accomplish a specific skill. For example, you may know what is to be included within an IT quality plan, but you have never actually prepared an IT quality plan. In other words, you have book knowledge, but not how-to knowledge. Fully Competent Full This assessment means that you not only know what is required to perform a specific skill, but you have actually used that skill in performing day-to-day work tasks. For example, you have written an IT quality plan. Note that Skill Category 1 focuses on the vocabulary of IT quality assurance and the basic concepts on which the quality assurance profession is built. In assessing this category for a quality term such as reliability a not competent response means you could not define the term; a some competency response means you could define the term; and a fully competent response means that you use the term in the performance of your day-to-day work. 2. Study those skills you rated None. After you complete the assessment worksheet, you will have designated some of the skills included in the CBOK as: None, Some, and Full. The objective in preparing for the CSQA examination should be to have some competency in all of the skills within the CBOK. You need not be fully competent in any skill to qualify you to pass the CSQA examination. Note that the CSQA designation focuses on individuals knowing what to do in order to effectively perform IT quality assurance. To provide maximum value to your employer, and to enable you to obtain either an Advanced Software Quality Assurance (ASQA) or Master Software Quality Assurance (MSQA) designation you need to be fully competent in most of the CBOK skills areas. 3. Reassess those skills you studied after a rating of None. If you now believe your rating changes to Some, then change your checkmark for the related skill on that category assessment table. Continue reassessing as you study. Proceed only when you believe you are ready to submit your application for the CSQA certification examination.
23
G U I D E
T O
C S Q A
2 0 0 6
C B O K
24
P R E P A R I N G
F O R
T H E
C S Q A
E X A M I N A T I O N
Using this product does not constitute, nor imply, the successful passing of the CSQA certification examination.
It is each candidate's responsibility to stay current in the field and to be aware of published works and materials available for professional study and development. Software Certifications recommends that candidates for certification continually research and stay aware of current literature and trends in the field. The lists referenced above are suggestions; they are not intended to be all-inclusive.
25
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Use these lists of references in the following ways: Search your library for availability. If you have these books in your reference library, company library, or ready access, set them aside for exam preparation. Use your assessment results (e.g., skills marked Not Competent) from the previous step to determine which books would help you build your skills in those areas. Note that while studying, look for principles as opposed to learning detailed how-to skills. Review the list of references from the perspective of the types of materials that might be included on the examination. The references give you insight into the topics that will be included on the examination.
Self-study becomes more effective if you can work with one or more other candidates for the examination. If no other candidates are available to form a study group, locate a CSQA to become your mentor during your self-study period.
P R E P A R I N G
F O R
T H E
C S Q A
E X A M I N A T I O N
Sample CSQA Examination including multiple-choice questions and essay questions. These give you examples of the types of questions on the examination. Also provided is an answer key to help you study and show you the types of essay responses expected.
27
29
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Skill Category 1 Quality Principles and Concepts Before an organization can begin to assess the quality of its products and services, and identify opportunities for improvement, it first must have a working knowledge of quality principles and basic concepts. This category will test the CSQA candidates ability to understand and apply these principles, which include the quality vocabulary, various ways of defining quality, key concepts, distinguishing between quality control and quality assurance, and the contributions of quality pioneers.
Skill Category 1 Quality Principles and Concepts Skill # 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 Skill Description Vocabulary of Quality Understand the vocabulary of quality. The Different Views of Quality The two quality gaps Quality attributes for an information system Quality Concepts and Practices PDCA Cycle Cost of quality Six sigma quality Baselining and benchmarking Earned value Quality Control and Quality Assurance Understand quality control and quality assurance Understanding and using the Just-in-Time (JIT) Technique Differentiating between Quality Control and Quality Assurance Quality Pioneers Approach to Quality Includes Dr. W. Edwards Deming, Philip Crosby, and Dr. Joseph Juran. Total Quality Management Full Competency Rating Some None
______
______
______
30
2 0 0 6
S K I L L
A S S E S S M E N T
W O R K S H E E T
Skill Category 2 Quality Leadership The most important prerequisites for successful implementation of any major quality initiative are leadership and commitment from executive management. Management must create a work environment supportive of quality initiatives. It is managements responsibility to establish strategic objectives and build an infrastructure that is strategically aligned to those objectives. This category will cover the management processes used to establish the foundation of a qualitymanaged environment, as well as commitment, new behaviors, building the infrastructure, techniques, approaches and communications.
Skill Category 2 Quality Leadership Skill # 2.14 2.15 2.16 Skill Description Leadership Concepts Executive and middle management commitment Quality Champion New Behaviors for Management -- traditional management versus quality management, leadership, the importance of establishing mentoring relationships, and establishing trust Empowerment of employees Quality Management Infrastructure Quality council Management committees Teams and work groups Process improvement teams Quality Environment The six attributes of an effective quality environment Setting the proper tone at the top Code of ethics and conduct Open communication Implementing a mission, a vision, goals, values and a quality policy Monitoring compliance to organizational policies and procedures Enforcement of organizational policies and procedures Full Competency Rating Some None
2.17 2.18 2.19 2.20 2.21 2.22 2.23 2.24 2.25 2.26 2.27 2.28
______
______
______
31
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Skill Category 3 Quality Baselines Organizations need to establish baselines of performance for quality, productivity and customer satisfaction. These baselines are used to document current performance and document improvements by showing changes from a baseline. In order to establish a baseline, a model and/or goal must be established for use in measuring against to determine the baseline.
Skill Category 3 Quality Baselines Skill # 3.29 3.30 3.31 3.32 3.33 3.34 3.35 3.36 3.37 3.38 3.39 3.40 3.41 3.42 3.43 3.44 3.45 Skill Description Quality Baseline Concepts Baselines defined Types of baselines Conducting baseline studies Methods Used for Establishing Baselines Customer surveys Benchmarking to establish a baseline goal Assessments against management established criteria Assessments against industry models Model and Assessment Fundamentals Purpose of a model Types of models (staged and continuous) Model selection process Using models for assessment and baselines Industry Quality Models Software Engineering Institute Capability Maturity Model/CMMI Malcolm Baldrige National Quality Award ISO 9001:2000 ISO/IEC 12207 ISO/IEC TR 15504 Post-implementation audits Full Competency Rating Some None
______
______
______
32
2 0 0 6
S K I L L
A S S E S S M E N T
W O R K S H E E T
Skill Category 4 Quality Assurance Quality Assurance is a professional competency whose focus is directed at the critical processes used to build products and services. The profession is charged with the responsibility for tactical process improvement initiatives that are strategically aligned to the goals of the organization. This category addresses the understanding and application of quality assurance practices in support of the strategic quality direction of the organization. The quality practitioner should understand the importance of a quality function, how to implement a quality function and how it matures over time, as well as how to create a quality plan, the use of quality tools, process deployment, and differentiating between internal auditing and quality assurance.
Skill Category 4 Quality Assurance Skill # 4.46 4.47 4.48 4.49 4.50 4.51 4.52 4.53 4.54 4.55 4.56 4.57 4.58 Skill Description Establishing a Function to Promote and Manage Quality The challenges of implementing a quality function How the quality function matures over time Support in corporate quality management environment Implementing an IT quality function Quality Tools Management tools Statistical tools Presentation tools Process Deployment Getting buy-in for change through marketing The formula for effective behavior change The deployment process Critical success factors for deployment Internal Auditing and Quality Assurance Types of internal audits Differences in responsibilities Full Competency Rating Some None
______
______
______
33
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Skill Category 5 Quality Planning Executive management establishes the vision and strategic goals. Planning is the process that describes how those strategic goals will be accomplished. Quality planning should be integrated into the IT plan so that they become a single plan. In simplistic terms, the IT plan represents the producer and the quality plan represents the customer.
Skill Category 5 Quality Planning Skill # 5.59 5.60 5.61 5.62 5.63 5.64 5.65 5.66 5.67 5.68 Skill Description Planning Concepts The management cycle The planning cycle Integrating Business and Quality Planning The fallacy of having two separate planning processes Planning should be a single IT activity Prerequisites to Quality Planning The Planning Process Planning process overview The six basic planning questions The common activities in the planning process Planning to Mature IT Work Processes QAI model and approach to mature IT work processes How to plan the sequence for implementing process maturity Full Competency Rating Some None
______
______
______
34
2 0 0 6
S K I L L
A S S E S S M E N T
W O R K S H E E T
Skill Category 6 Define, Build, Implement and Improve Work Processes The world is constantly changing. Customers are more knowledgeable and demanding, therefore, quality and speed of delivery are now critical needs. Companies must constantly improve their ability to produce quality products that add value to their customer base. Defining and continuously improving work processes allows the pace of change to be maintained without negatively impacting the quality of products and services. This category addresses process management concepts, including the definition of a process, the workbench concept and components of a process. Additionally, it will address the understanding of definitions and continuous improvement of a process through the process management PDCA cycle.
Skill Category 6 Define, Build, Implement and Improve Work Processes Skill # 6.69 6.70 6.71 6.72 6.73 6.74 6.75 Skill Description Process Management Concepts Definition of a process Why processes are needed Process workbench and components Process categories The process maturity continuum How processes are managed Process template Process Management Processes Planning processes: Process inventory Process mapping Process planning Do processes: Process definition Check processes: Identify control points Process measurement Testing Act processes: Process improvement teams Process improvement process Full Competency Rating Some None
______
______
______
35
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Skill Category 7 Quality Control Practices Quality control practices should occur during product development, product acquisition, product construction at the end of development/acquisition and throughout product change and operation. During development, the quality control process is frequently called verification and at the conclusion of development, it is called validation. This category will address the various types of controls and when they are best used in the process. The quality practitioner should also be familiar with verification and validation techniques, the framework for developing testing tactics, change control and configuration management.
Skill Category 7 Quality Control Practices Skill # 7.85 7.86 7.87 7.88 7.89 7.90 7.91 7.92 7.93 7.94 7.95 7.96 7.97 7.98 7.99 7.100 7.101 7.102 7.103 7.104 7.105 7.106 7.107 7.108 7.109 7.110 Skill Description Testing Concepts The testers workbench Test stages Independent testing Static versus dynamic testing Verification versus validation Stress versus volume versus performance Test objectives Reviews and inspections Developing Testing Methodologies Acquire and study the test strategy Determine the type of development project Determine the type of software system Determine the project scope Identify the tactical risks Determine when testing should occur Build the system test plan Build the unit test plans Verification and Validation Methods Management of verification and validation Verification techniques Validation techniques Structural and functional testing Software Change Control Software configuration management Change control procedures Defect Management Defect management process Defect reporting Severity versus priority Using defects for process improvement Full Competency Rating Some None
______
______
______
36
2 0 0 6
S K I L L
A S S E S S M E N T
W O R K S H E E T
Skill Category 8 Metrics and Measurement A properly established measurement system is used to help achieve missions, visions, goals, and objectives. Measurement data is most reliable when it is generated as a by-product of producing a product or service. The QA analyst must ensure that quantitative data is valued and reliable, and presented to management in a timely and easy-to-use manner. Measurement can be used to gauge the status, effectiveness and efficiency of processes, customer satisfaction, product quality, and as a tool for management to use in their decision-making processes. This category addresses measurement concepts, the use of measurement in a software development environment, variation, process capability, risk management, the ways measurement can be used and how to implement an effective measurement program.
Skill Category 8 Metrics and Measurement Skill # 8.111 8.112 8.113 8.114 8.115 8.116 8.117 8.118 8.119 8.120 8.121 8.122 8.123 8.124 8.125 8.126 8.127 8.128 8.129 8.130 8.131 8.132 Skill Description Measurement Concepts Standard units of measure Metrics Objective and subjective measurement Types of measurement data Measures of central tendency Attributes of good measurement Using quantitative data to manage an IT function Key indicators Measurement in Software Product measurement Process measurement Variation and Process Capability The measurement program Installing the measurement program Common and special causes of variation Variation and process improvement Process capability Risk Management Defining risk Characterizing risk Managing risk Software risk management Risks of integrating new technology Implementing a Measurement Program The need for measurement Prerequisites Full Competency Rating Some None
______
______
______
37
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Skill Category 9 Internal Control and Security Privacy laws and increased accessibility to data have necessitated increased security. Accounting scandals and governmental regulation such as the Sarbanes-Oxley Act have placed increased importance on building and maintaining adequate systems of internal control. The quality assurance function can contribute to meeting those objectives by assuring that IT has adequate processes governing internal control and security.
Skill Category 9 Internal Control and Security Skill # 9.133 9.134 9.135 9.136 9.137 9.138 9.139 9.140 9.141 9.142 Skill Description Principles and Concepts of Internal Control Internal control and security vocabulary and concepts Preventive, detective, and corrective controls Risk and Internal Control Models COSO enterprise risk management (ERM) model COSO internal control framework model CobiT model Building Internal Controls Perform risk assessment Building Adequate Security Where vulnerabilities in security occur Establishing a security baseline Security awareness training Security practices Full Competency Rating Some None
______
______
______
38
2 0 0 6
S K I L L
A S S E S S M E N T
W O R K S H E E T
Skill Category 10 Outsourcing, COTS, and Contracting Quality Organizations can assign software development work responsibilities to outside organizations through purchasing software or contracting services; but they cannot assign the responsibility for quality. Quality of software remains an internal IT responsibility regardless of who builds the software. The quality professionals need to assure that those quality responsibilities are fulfilled through appropriate processes for acquiring purchased software and contracting for software services.
Skill Category 10 Outsourcing, COTS, and Contracting Quality Skill # 10.143 10.144 10.145 10.146 10.147 10.148 10.149 10.150 10.151 10.152 10.153 10.154 10.155 Skill Description Quality and Outside Software Purchased COTS software Outsourced software Selecting COTS Software Assure completeness of needs requirements Define critical success factor Determine compatibility with hardware, operating system, and other COTS software Assure the Software can be Integrated into Your Business System Work Flow Demonstrate the Software in Operation Evaluate People Fit Acceptance Test the Software Process Selecting Software Developed by Outside Organizations Contracting life cycle Developing selection criteria Contracting for Software Developed by Outside Organizations Contract negotiations Operating for Software Developed by Outside Organizations Acceptance testing Full Competency Rating Some None
______
______
______
39
G U I D E
T O
C S Q A
2 0 0 6
C B O K
40
Skill Category
Quality Principles
efore an organization can begin to assess the quality of its products and services, and identify opportunity for improvement, it first must have a working knowledge of quality principles and basic concepts. This category tests the CSQA candidates ability to understand and apply these principles, which include the following: Vocabulary of Quality The Different Views of Quality Quality Concepts and Practices Quality Control and Quality Assurance Quality Pioneers Approach to Quality 41 43 46 55 59
Vocabulary of Quality
The quality language is the way quality professionals describe the principles, concepts, and approaches used for improving quality. Until the vocabulary is learned and its use encouraged in the organization, quality becomes a difficult program to achieve. For example, when the words process or defect are used, there must be a common understanding of what is meant by those terms. Appendix A provides a glossary of definitions for terminology used in the quality language. This terminology is also referred to as the vocabulary of quality. Some of the more widely used terms are: Defect From the producer's viewpoint, a defect is a product requirement that has not been met, or a product attribute possessed by a product or a function performed by a 41
G U I D E
T O
C S Q A
2 0 0 6
C B O K
product that is not in the statement of requirements that define the product. From the customer's viewpoint, a defect is anything that causes customer dissatisfaction, whether in the statement of requirements or not. Policy Managerial desires and intents concerning either processes (intended objectives) or products (desired attributes). Procedure The step-by-step method followed to ensure that standards are met. Process (1) The work effort that produces a product. This includes efforts of people and equipment guided by policies, standards, and procedures. (2) A statement of purpose and an essential set of practices (activities) that address that purpose. A process or set of processes used by an organization or project to plan, manage, execute, monitor, control, and improve its software related activities. Productivity The ratio of the output of a process to the input, usually measured in the same units. It is frequently useful to compare the value added to a product by a process, to the value of the input resources required (using fair market values for both input and output). Quality Operationally, the word quality refers to products. A product is a quality product if it is defect free. To the producer, a product is a quality product if it meets or conforms to the statement of requirements that defines the product. This statement is usually shortened to: quality means meets requirements. To the customer, a product is a quality product if it meets the customers needs, regardless of whether the requirements were met. This is referred to as fit for use. Quality Producer View The producers view of quality has these four characteristics: Doing the right thing, Doing it the right way, Doing it right the first time, and Doing it on time without exceeding cost. Quality Customer View Meeting requirements is a producers view of quality. This is the view of the organization responsible for the project and processes, and the products and services acquired, developed, and maintained by those processes.
42
S K I L L
C A T E G O R Y
Standard A requirement of a product or process. For example: 100 percent of the functionality must be tested.
Being fit for use is the customers definition. The customer is the end user of the products or services. Fit for use means that the product or service meets the customers needs regardless of the product requirements. Of the two definitions of quality, fit for use, is the more important. The customers view of quality has these characteristics: Receiving the right product for their use Being satisfied that their needs have been met Meeting their expectations Being treated with integrity, courtesy and respect
In addition to the producer and customer views of quality, the organizational infrastructure also includes a provider and a supplier view. These views are as follows: Provider view This is the perspective of the organization that delivers the products and services to the customer. Supplier view This is the perspective of the organization (that may be external to the producers company, such as an independent vendor) that provides either the producer and/or the provider with products and services needed to meet the requirements of the customer.
The infrastructure for quality products and services is illustrated in Figure 2. The figure shows the requirements coming from the customer to the producer/provider, who uses them to create the
43
G U I D E
T O
C S Q A
2 0 0 6
C B O K
products and services needed by the customer. This process works because of the two-way measurement process established between the involved parties.
Producer/Provider
Supplier Requirements
Processes Requirements
Customer
Products
Products
Services
Services
Measurement (Feedback)
Measurement (Feedback)
Figure 2. Infrastructure for Software Quality Products and Services This infrastructure has been presented simplistically. In reality, the producer is the customer for the supplier, making the supplier the producer for the intermediate producer, and there may be a long chain of producers/providers and their customers. However, the quality characteristics by which an interim producer evaluates supplier products are really producer quality characteristics and not end user/customer quality characteristics.
44
S K I L L
C A T E G O R Y
Closing the second gap requires the quality function to understand the true needs of the customer. This can be done by customer surveys, Joint Application Development (JAD) sessions, and more user involvement through the process of building information products. The processes can then be changed to close the customer gap, keeping consistency while producing products and services needed by the customer.
45
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Attributes Correctness Reliability Efficiency Integrity Usability Maintainability Testability Flexibility Reusability Interoperability
Definition Extent to which a program satisfies its specifications and fulfills the users mission objectives. Extent to which a program can be expected to perform its intended function with required precision. The amount of computing resources and code required by a program to perform a function. Extent to which access to software or data by unauthorized persons can be controlled. Effort required learning, operating, preparing input, and interpreting output of a program. Effort required locating and fixing an error in an operational program. Effort required testing a program to ensure that it performs its intended function. Effort required modifying an operational program. Extent to which a program can be used in other applications related to the packaging and scope of the functions that programs perform. Effort required to couple one system with another.
Figure 4. Commonly Accepted Quality Attributes (Critical Success Factor) for Information Systems "The Paul Revere Insurance Group believes that if a customer does not perceive quality, the program is not accomplished." Charles E. Soule, Past Executive Vice President Paul Revere Insurance Group
46
S K I L L
C A T E G O R Y
Quality by definition calls for requirements/specifications in enough detail so that the products produced can be quantitatively measured against those specifications. Few organizations are willing to expend the effort to produce requirements/specifications at the level of detail required for quantitative measurement. Many technical personnel believe that standards inhibit their creativity, and thus do not strive for compliance to standards. However, for quality to happen there must be welldefined standards and procedures that are followed.
The contributors to poor quality in many organizations can be categorized as either lack of involvement by management, or lack of knowledge about quality. Following are some of the specific contributors for these two categories: Lack of involvement by management Management's unwillingness to accept full responsibility for all defects Failure to determine the cost associated with defects (i.e., poor quality) Failure to initiate a program to "manage defects" Lack of emphasis on processes and measurement Failure to enforce standards Failure to reward people for following processes
Lack of knowledge about quality Lack of a quality vocabulary, which makes it difficult to communicate quality problems and objectives Lack of knowledge of the principles of quality (i.e., what is necessary to make it happen) No categorization scheme for defects (i.e., naming of defects by type) No information on the occurrence of defects by type, by frequency, and by location Unknown defect expectation rates for new products Defect-prone processes unknown or unidentified Defect-prone products unknown or unidentified An economical means for identifying defects unknown Proven quality solutions are unknown and unused
If achieving quality (i.e., defect-free products and services) were easy, it would have been accomplished years ago. Quality is very difficult to accomplish it requires the close cooperation of management and staff. Achieving quality requires a commitment and the establishment of an environment in which quality can flourish. Skill Category 2 focuses on management commitment and a quality management environment.
47
G U I D E
T O
C S Q A
2 0 0 6
C B O K
The bottom line is that making quality happen is a monumental challenge. Dr. Ishikawa, Japans leading quality expert, best expressed this when he stated that accomplishing quality requires a thought revolution by management. Thought revolutions do not come easy. As a result of his experiences in turning around the Japanese economy, Dr. W. Edwards Deming found that it takes 20 years to change a culture from an emphasis on productivity to an emphasis on quality. Twenty years might be excessive, but management must be prepared to invest 2-5 years before the really large paybacks occur. Quality is a long-term strategy, which must be continually nurtured by the quality function and management. The answer to the question, "Can we afford quality?" is: "You cannot afford to ignore it." Harold S. Geneen, past CEO at ITT, stated that quality "is the most profitable product line we have." What this means is that preventing and/or detecting defects early results in huge savings. Studies by Dr. Barry W. Boehm at GTE, TRW, and IBM in the late 1980s showed geometric escalation in the cost to fix a problem as the software life cycle progressed. Boehm concluded that errors are typically 100 times more expensive to correct in the maintenance phase on large projects than in the requirements phase. Boehm also stated that the total economic impact is actually much larger in operational systems because of the user costs incurred. Recent studies show that with today's more complex systems, Boehm's estimates are conservative.
PDCA Cycle
A major premise of a quality management environment is an emphasis on continuous improvement. The approach to continuous improvement is best illustrated using the PDCA cycle, which was developed in the 1930s by Dr. Shewhart of the Bell System. The cycle comprises the four steps of Plan, Do, Check, and Act as shown in Figure 5. It is also called the Deming Wheel, and is one of the key concepts of quality.
ACT
PLAN
CHECK
DO
Figure 5. PDCA Concept Plan (P): Devise a plan - Define the objective, expressing it numerically, if possible. Clearly describe the goals and policies needed to attain the objective at
48
S K I L L
C A T E G O R Y
this stage. Determine the procedures and conditions for the means and methods that will be used to achieve the objective. Do (D): Execute the plan - Create the conditions and perform the necessary teaching and training to ensure everyone understands the objectives and the plan. Teach workers the procedures and skills they need to fulfill the plan and thoroughly understand the job. Then perform the work according to these procedures. Check (C): Check the results As often as possible, check to determine whether work is progressing according to the plan and whether the expected results are obtained. Check for performance of the procedures, changes in conditions, or abnormalities that may appear. Act (A): Take the necessary action - If the check reveals that the work is not being performed according to plan, or if results are not what were anticipated, devise measures for appropriate action. Look for the cause of the abnormality to prevent its recurrence. Sometimes workers may need to be retrained and procedures revised. The next plan should reflect these changes and define them in more detail.
Figure 6. Ascending Spiral The PDCA procedures ensure that the quality of the products and services meets expectations, and that the anticipated budget and delivery date are fulfilled. Sometimes preoccupation with current concerns limits the ability to achieve optimal results. Repeatedly going around the PDCA circle can improve the quality of the work and work methods, and obtain the desired results. This concept can be seen in the ascending spiral of Figure 6.
Cost of Quality
Quality is an attribute of a product or service. Productivity is an attribute of a process. They have frequently been called two sides of the same coin because one significantly impacts the other. There are two ways that quality can drive productivity. The first, which is an undesirable method, is to lower or not meet quality standards. For example, if testing and rework components of a system development process were eliminated or reduced, productivity as measured in lines of code per hours worked would increase. This is often done under the guise of completing projects 49
G U I D E
T O
C S Q A
2 0 0 6
C B O K
on time. The second and more desirable method to improve productivity through quality is to improve processes so that defects do not occur, thus minimizing the need for testing and rework. Quality improvement should be used to drive productivity. The cost of quality (COQ) is the money spent beyond what it would cost to build a product right the first time. If every worker could produce defect-free products the first time, the COQ would be zero. Since this situation does not occur, there are costs associated with getting a defect-free product produced. There are three COQ categories: Prevention - Money required preventing errors and to do the job right the first time is considered prevention cost. This category includes money spent on establishing methods and procedures, training workers and planning for quality. Prevention money is all spent before the product is actually built. Appraisal Appraisal costs cover money spent to review completed products against requirements. Appraisal includes the cost of inspections, testing and reviews. This money is spent after the product or subcomponents are built but before it is shipped to the user. Failure Failure costs are all costs associated with defective products. Some failure costs involve repairing products to make them meet requirements. Others are costs generated by failures, such as the cost of operating faulty products, damage incurred by using them and the costs incurred because the product is not available. The user or customer of the organization may also experience failure costs.
Figure 7 shows a few examples of the three costs of quality that illustrate the types of activities in each of the categories. Experience has shown that a small group of knowledgeable people can develop estimates for the COQ categories. The estimate does not have to be highly precise because the amounts will be so large that even errors of plus or minus 50% would not affect identifying the actions that need to be taken to reduce the COQ.
50
S K I L L
C A T E G O R Y
Prevention Costs In IT Area In User Area Installing a project selection process Quality audits Installing a planning database Selling top management Installing improved programming Planning quality improvement techniques Quality training Systems assurance consultation Appraisal Costs In IT Area In User Area Preparation for reviews Phase reviews Inspections Preparation for tests Systems assurance reviews Systems test Failure Costs
In User Area Alternative services Lost management time Complaints, rebates, damage claims Lost assets Lost opportunity Unrealized savings
Figure 7. Cost of Quality Sample The cost of building a product is comprised of the cost of production, which is the cost if the product could be built defect free, plus the three COQ categories. Added together, the production cost and COQ become the cost to build a product. The three COQ categories are sometimes called the cost of nonconformance, meaning COQ is the failure to conform to a process that enables defect-free products to be produced. The quality function attempts to reduce the cost of quality. This is usually accomplished by increasing the prevention and/or the appraisal costs in order to reduce the failure costs more than the increase in the prevention and appraisal costs. Figure 8 illustrates this phenomenon. It shows that initiating new appraisal programs such as inspections and reviews in software development, or new preventive programs such as staff training, can reduce the failure costs, which include such things as rework, so there is a net reduction in the cost to build a product.
51
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Cost of Production
Figure 8. Examples of Cost of Quality Studies show that the COQ in IT is approximately 50% of the total cost of building a product. Of the 50% COQ, 40% is failure, 7% is appraisal, and 3% is prevention. Other studies have shown that $1 spent on appraisal costs will reduce failure costs threefold; and each dollar spent on prevention costs will reduce failure costs tenfold. Obviously, the right appraisal and prevention methods must be used to get these benefits. For example, the cost of adding unidentified requirements during system or acceptance testing is much more costly than identifying those requirements during the requirements-gathering phase. Once individuals understand the cost of "overlooking requirements" they might be more willing to use techniques such as requirements reviews, JAD sessions, and improved processes to avoid the overtime, stress, and excessive cost of building those overlooked requirements late in the development process. "Quality is free, but it is not a gift." Philip B. Crosby in Quality is Free The Three Key Principles of Quality Everyone is responsible for quality, but senior management must emphasize and initiate quality improvement, and then move it down through the organization to the individual employees. The following three quality principles must be in place for quality to happen:
52
S K I L L
C A T E G O R Y
1. Management is responsible for quality. Quality cannot be delegated effectively. Management must accept the responsibility for the quality of the products produced in their organization; otherwise, quality will not happen. A quality function is only a catalyst in making quality happen. The quality function assists management in building quality information systems by monitoring quality and making recommendations to management about areas where quality can be improved. As the quality function is a staff function, not management, it cannot dictate quality for the organization. Only management can make quality happen. 2. Producers must use effective quality control. All of the parties and activities involved in producing a product must be involved in controlling the quality of those products. This means that the workers will be actively involved in the establishment of their own standards and procedures. 3. Quality is a journey, not a destination. The objective of the quality program must be continuous improvement. The end objective of the quality process must be satisfied customers. The Quality Solution The action that must be taken by management to make quality happen is as simple as 1-2-3: 1. Define quality 2. Control quality 3. Assure quality After management becomes committed to the quality principles, the most effective method for making these three actions happen is to establish a quality function. While a quality function is not necessary to make quality happen, quality rarely happens without adequate attention devoted to the quality objectives. As stated in the first key principle above, the quality function should be that catalytic group which initiates quality improvement programs in order to make quality happen. Management commitment is covered in Skill Category 2 and Skill Category 4 discusses the quality function. Best Practices A practice is a specific implementation of a work process. For example, a practice would be one organizations process for estimating the amount of resources required for building a system. A Best Practice is one of the most effective practices for performing a specific process. Best Practices are normally identified by benchmarking, or by an independent assessment. Best Practices are also identified through winners of quality competitions such as the Malcolm Baldrige National Quality Award, Deming Prize, etc.
53
G U I D E
T O
C S Q A
2 0 0 6
C B O K
54
S K I L L
C A T E G O R Y
best practices or competitive practices that will help define superior performance of a product, service or support process. Skill Category 3 provides additional details on benchmarking, including types of benchmarking and a four-step process for conducting benchmarking.
Earned Value
It is important that quality professionals be able to demonstrate that their work provides value to their organization. Return-on-investment (ROI) that demonstrates the dollars returned for the dollars invested is one of the more popular means to demonstrate value returned. However, ROI is not designed to measure subjective values such as customer loyalty. There is no generally accepted best way to measure the value earned from quality initiatives. It is recommended that quality professionals use the method(s) recommended by their accounting function for calculating earned value.
Quality Control
Quality Control (QC) is defined as the processes and methods used to compare product quality to requirements and applicable standards, and the action taken when a nonconformance is detected. QC uses reviews and testing to focus on the detection and correction of defects before shipment of products. 55
G U I D E
T O
C S Q A
2 0 0 6
C B O K
Quality Control should be the responsibility of the organizational unit producing the product and should be integrated into the work activities. Ideally the same group that builds the product performs the control function; however, some organizations establish a separate group or department to check the product. Impediments to QC include the following: Quality Control is often viewed as a police action IT is often considered an art Unclear or ineffective standards and processes Lack of process training
56
S K I L L
C A T E G O R Y
system, in which the work is pushed through the operation from beginning to end, is changed to a pull system, in which data is only moved forward when it is needed by the next operation. Toyota considers inventory to be at the root of all evil in a manufacturing plant. Inventory is used as a protection, or buffer, for known trouble levels and schedule changes. It covers up systems inadequacies and costs associated with carrying inventory that are not always apparent. An important part of JIT is a high level of quality. Traditional plants define quality control as only controlling the manufacturing process to ensure the product meets its specifications. Toyotas view of total quality control is much broader. All departments, not just the manufacturing departments, focus their efforts on contributing to customer satisfaction, which is the ultimate measure of success. They believe that only a customer who is 100 percent satisfied with a product will return to buy another and advise his or her friends to do the same. Of the three critical aspects of Toyota quality (war on waste, perfect quality, and employee involvement), the human element, or employee involvement, is the most important. Management in the work force forms a partnership where each party commits to the mutual success. While the system is a revolutionary way to approach manufacturing, and is not just an inventory control system, the implementation of JIT is driven by the goal of inventory reduction. Just-in-time principles can be used in IT in the following ways: Systems development and maintenance tasks become driven when the user of an internal or external product or service needs them. Programs would not be developed before they are needed for test or production. Systems analysts and programmers would not be given information and documents to store until they need them. Internal information processes would be designed so individuals can move from job to job with minimal delay. For example, programmers should be able to stop working on one program and start another within the JIT ten-minute turnover standard.