IEEEsqap
IEEEsqap
IEEEsqap
Items that are intended to stay in as part of your document are in bold; explanatory comments are in italic text. Plain text is used where you might insert wording about your project. The document in this file is an annotated outline for a Software Quality Assurance Plan, following loosely the IEEE Standard for Software Quality Assurance Plans (Std 730-1989). Tailor this to your needs. Where you decide to omit a section, you might keep the header, but insert a comment saying why you omit the element.
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 1 of 30
02/07/03 8:18 AM
Version: (n)
Date: (mm/dd/yyyy)
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 2 of 30
02/07/03 8:18 AM
TABLE OF CONTENTS
1. PURPOSE 1
2. REFERENCE DOCUMENTS, DEFINITIONS, AND ACRONYMS 2.1 Reference Documents 2.2 Glossary of Terms 2.3 Abbreviations and Acronyms
1 1 1 1
3. PROJECT MANAGEMENT 3.1 Project Organization 3.2 Methodology 3.3 Activities and Tasks 3.4 Roles and Responsibilities
2 2 2 2 2
4. DOCUMENTATION 4.1 Project Notebook 4.2 Functional Specifications Document 4.3 Architecture Design Document 4.4 Software Verification and Validation Plan 4.5 Software Verification and Validation Report 4.6 Configuration Management Plan 4.7 User and Operations Documentation
3 3 3 4 4 5 5 6
5. STANDARDS 5.1 Coding Standards 5.2 Data Naming Standards 5.3 User Interface Standards 5.4 Static Report Format Standards 5.5 Development Tool Standards 5.6 Documentation Standards 5.7 Metrics 5.8 IEEE Standards 5.9 IRMC Policies, Standards, Checklists
6 6 6 6 6 6 6 6 6 6
6. REVIEWS AND AUDITS 6.1 Deliverable Reviews 6.2 Management Reviews 6.3 Product Reviews
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc Page 3 of 30 02/07/03 8:18 AM
7 7 8 8
11
9. Tools, Techniques, and Methodology 9.1 Tools 9.2 Techniques 9.3 Methodologies 9.4 Code Control 9.5 Media Control 9.6 Security 9.7 Disaster Recovery 9.8 Supplier Controls 9.9 Records Collection, Maintenance, and Retention
11 11 11 11 11 11 11 11 11 11
10. TRAINING 10.1 User Training 10.2 Development Team Training 10.3 Transition to State Team Training
12 12 12 12
11. RISK MANAGEMENT 11.1 Project Self Assessment 11.2 Project Risk Assessment and Management Plan 11.3 Risk Review and Management Process 11.4 Tools
14 14 14 14
18
18
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 4 of 30
02/07/03 8:18 AM
Software Quality Assurance Plan APPENDIX A - GLOSSARY APPENDIX B - STANDARDS APPENDIX C - SUPPORTING DOCUMENTATION 19 29 30
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 5 of 30
02/07/03 8:18 AM
1. PURPOSE
THE SOFTWARE QUALITY ASSURANCE PLAN (SQAP) DEFINES THE ACTIVITIES PERFORMED TO PROVIDE ASSURANCE THAT THE SOFTWARE-RELATED ITEMS DELIVERED TO THE CUSTOMER CONFORM TO THE ESTABLISHED AND CONTRACTED TECHNICAL REQUIREMENTS. THE SQAP ALSO DESCRIBES HOW THE PROJECT WILL BE AUDITED TO ENSURE THAT THE POLICIES, STANDARDS, PRACTICES, PROCEDURES, AND PROCESSES APPLICABLE TO THE PROJECT ARE FOLLOWED.
Describes the purpose and scope of the project Software Quality Assurance Plan (SQAP). Contains a list of all software items covered by the SQAP and the intended use of the software. It also states the portion of the system software life cycle covered by the SQAP for each software item specified. The following questions should be answered in this section: What is the intended use of the software (business use, criticality, and interfaces)? What is the scope of this SQAP? How will this plan contribute to the success of the project? Name the software development life cycle (SDLC) that applies to the project? What, if any, are the deviations from the software development life cycle? (Refer to IEEE Standard 730 for more information about the Software Quality Assurance Plan.)
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 6 of 30
02/07/03 8:18 AM
3. PROJECT MANAGEMENT
This section describes the project organization, tasks and activities, and responsibilities. Describes the project management approach to be employed on the project. Because much of this information is provided in the Statement of Work and project plan, this section may briefly summarize the approach and refer the reader to referenced documents for more detailed information.
3.2 Methodology
Describes the methodology to be followed during the design and development phases of the project. This section will explain how the Agency system development life cycle approach (SDLC) has been applied.
4. DOCUMENTATION
Describes the documentation that will be created during the project to support management, design, development, and testing activities. This section shall perform the following functions: Identify the documentation governing the development, verification and validation, use, and maintenance of the software, and State how the documents are to be checked for adequacy.
IEEE Standard 730 requires the following documentation as a minimum: Software Requirements Specification (SRS) Software Design Description (SDD) Software Verification and Validation Plan (SVVP) Software Verification and Validation Report (SVVR) User Documentation Software Configuration Management Plan (SCMP)
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 8 of 30
02/07/03 8:18 AM
(Refer to IEEE Standard 1012 for more information about the Verification and Validation plans.) 4.4.1 Purpose 4.4.2 Contents
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc Page 9 of 30 02/07/03 8:18 AM
(Refer to IEEE Standard 1012 for more information about the Verification and Validation plans.) 4.5.1 Purpose 4.5.2 Contents
(Refer to IEEE Standard 828 for more information about the Configuration Management plans.) 4.6.1 Purpose 4.6.2 Contents
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc Page 10 of 30 02/07/03 8:18 AM
(Refer to IEEE Standard 1063 for more information about Software User Documentation.) 4.7.1 Purpose 4.7.2 Contents
5. STANDARDS
Describes the purpose of the standards to be applied in the design and development of the system. Specific standards for coding, data naming, user interfaces, report formats, and development tools will be itemized.
5.1 Coding Standards 5.2 Data Naming Standards 5.3 User Interface Standards 5.4 Static Report Format Standards 5.5 Development Tool Standards 5.6 Documentation Standards 5.7 Metrics 5.8 IEEE Standards (Refer to Appendix B) 5.9 IRMC Policies, Standards, Checklists
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 11 of 30
02/07/03 8:18 AM
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Software Quality Assurance Plan 6.1.7 Post-implementation Maintenance Plan Review This review is held at the conclusion of the project to assess the development activities implemented and to provide recommendations for appropriate action.
6.2.1 Schedule 6.2.2 Third Party Independent Review Reporting Describes the format and process, and identifies who will receive the reports.
7. TEST
This section will describe the verification and validation approach to be used by the project team to ensure that the system meets user requirements, functions as designed, and is free of defects. This section shall identify the tests to be performed (e.g., unit, system, integration, string, interface, regression, user acceptance) and the approach used to
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc Page 13 of 30 02/07/03 8:18 AM
Software Quality Assurance Plan accomplish the test. Describes the purpose and content of the test plan, which will detail the unit, integration, system, and user acceptance testing activities and identify the specific test cases to be performed at each stage of the verification and validation process.
Software Quality Assurance Plan 7.3.1 Approach 7.3.2 Responsible Party 7.3.3 Tools 7.3.4 System Function Testing 7.3.5 Performance Testing 7.3.6 Regression Testing 7.3.7 Problem Reporting, Tracking, and Correction
7.4.1 Approach 7.4.2 Responsible Party 7.4.3 Tools 7.4.4 Problem Reporting, Tracking, and Correction
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 15 of 30
02/07/03 8:18 AM
The purposes of problem reporting and corrective action systems are to: Assure that problems are documented, corrected, and used for process improvement, Assure that problem reports are assessed for their validity, Assume reported problems and their associated corrective actions are implemented in accordance with customer approved solutions, Provide feedback to the developer and the user of problem status, and Provide data for measuring and predicting software quality and reliability.
(For more information about software problems, refer to IEEE Standard 1044, Standard Classification of Software Anomalies.)
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 16 of 30
02/07/03 8:18 AM
10. TRAINING
This section will identify and provide a summary of the training activities to be provided for during system implementation. Details about training are to be provided in the Implementation Plan, another deliverable in this phase. This section will cover the responsible party, audience for the class, format for the class (e.g. classroom, one-on-one, CBTs), types of materials \ tools (e.g. workbooks, handouts, overheads), and the problem reporting, tracking and correction procedures. This section must also identify the training activities necessary to meet the needs of the SQAP.
10.1 User Training 10.2 Development Team Training 10.3 Transition to State Team Training
11.4 Tools
This section will describe the tool(s) used to manage project risks.
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 17 of 30
02/07/03 8:18 AM
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 18 of 30
02/07/03 8:18 AM
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 19 of 30
02/07/03 8:18 AM
H Hardcode An informal term that describes a programming technique where data or procedures are specifically written into the program instructions. Hardware Physical equipment used to process, store, or transmit computer program data.
I Independent Review A formal examination of a project conducted by an organization other than the development organization. Information The meaningful interpretation of data. IRMC Information Resource Management Commission. Integration Describes the work, or device, required to connect two different systems that were not originally designed to work together.
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 22 of 30
02/07/03 8:18 AM
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 23 of 30
02/07/03 8:18 AM
S Scalable A term describing an architecture or software that can handle expansion in the use as the need arises without adversely impacting systems management and operations. Scope - The magnitude of the effort required to complete a project. Server A computer on a network that makes applications, print services, data, and communications available. Slack - see float. Software Computer programs, systems, and the associated documentation that describes them. SDLC - Software Development Life Cycle The period of time that begins with the decision to develop a software product and ends when the software is delivered. Software Development Process The process by which user needs are translated into a software product. Specifications General term for the wide variety of paper-based descriptions of a program or system. Stakeholders - People who have a personal or agency interest in the end results of a project. Standalone Describes a computer workstation where the computer is not connected to any other computer on a network. Statement of Work (SOW) - An integrated set of task descriptions, goal descriptions, risks, and assumptions that accompany the evolving master project plan during development. Strategic Plan The long range plan where the horizon is usually three to five years time span. Subcontract - Delegating tasks or sub-projects to contractors or other organizations. System A linked collection of programs, or components, that perform a generic business or technical function. System Test The final stage of testing on a completed project (prior to client acceptance test) when all hardware and software components are put together and tested as a whole.
T Tactical Plan Specific improvements, or changes, that will be carried out in a fairly short time span (usually twelve (12) months). Task - A cohesive unit of work on a project (usually 40 to 80 hours of effort). Task Description - A description that defines all the work required to complete a project task or activity including input, output, expected results, and quality specifications. Test Plan A document that describes the scope, approach, resources, and schedule of intended test activities. Testing The set of defect removal tasks that include execution of all, or part, of an application on a computer. Topology The map or plan of a network.
U Unit Test - The testing carried out personally by individual programmers on their own code.
V W
Wide Area Network (WAN) A network where the computers are separated by significant distances and telecommunications links are implemented. Work Breakdown Structure (WBS) A formal analysis of the activities, tasks, and sub-tasks that must be accomplished to build a software project. A product or activity oriented hierarchy tree depicting the elements of work that need to be accomplished in order to deliver a product. Workstation Any machine with all of its installed storage, processing, and communications that can be either standalone or networked. X Y Z
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 27 of 30
02/07/03 8:18 AM
* Definitions were extracted from Assessment and Control of Software Risks by Capers Jones (1994); Managing Software Development Projects (Second edition) by Neal Whitten (1995); IEEE Standards Collection: Software Engineering (1997 Edition); Best Practices in IT Architecture Planning and Implementation by Larry DeBoever; Essential Client/Server Survival Guide by Robert Orfali; and The Complete Idiot's Guide to Project Management by Sunny and Kim Baker.
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 28 of 30
02/07/03 8:18 AM
APPENDIX B - STANDARDS
This appendix gives the complete text of the standards developed for this project.
IEEE Standards IRMC Project Proposal Checklist ETS Project Status Report State of North Carolina SDLC Model (Method/1) IEEE 730, Standard for Software Quality Assurance Plans IEEE 828, Standard for Software Configuration Management Plans IEEE 829, Standard for Software Test Documentation IEEE 830, Recommended Practice for Software Requirement Specification IEEE 1008, Standard for Software Unit Testing IEEE 1012, Standard for Software Verification and Validation Plans IEEE 1016, Guide to Software Design Description IEEE 1028, Standard for Software Review and Audit IEEE 1042, Guide to Software Configuration Management Plans IEEE 1044, Standard Classification for Software Anomalies IEEE 1045, Standard for Software Productivity Metrics IEEE 1058.1, Standard for Software Project Management Plans IEEE 1059, Guide for Software Verification and Validation Plans IEEE 1061, Standard for a Software Quality Metrics Methodology IEEE 1063, Standard for Software User Documentation IEEE 1074, Standard for Developing SDLC Processes IEEE 1219, Standard for Software Maintenance IEEE 1233, Guide to Developing System Requirement Specifications
* *
* *
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 29 of 30
02/07/03 8:18 AM
P:\IRM\Private\QA\QAPLAN\SQAPLAN.doc
Page 30 of 30
02/07/03 8:18 AM