project - etsmtl.caprofs.etsmtl.ca/claporte/english/enseignement/cmu_sqa... · web viewcollege of...

8
1 Chiang Mai University College of Arts, Media and Technology November-December 2009 Software Quality Assurance Course Team Project – Development of the Rice Cooker Software This project will be performed in teams of 4 students. The team will manage and execute a small development project and apply different software quality assurance practices. The project is divided in three phases: an estimation phase, an execution phase and a learning phase. All templates are available on the course web site. The Deployment Packages (DPs) developed to support the ISO/IEC 29110 standard can be used for this project 1 . Description of the 3 Phases of the Project Phase 1- Estimate and allocate the effort to perform the project Prepare an estimate of the effort (in staff-hours) and allocate tasks to team members to: 1. Document the needs and expectations of the Customer using the Software Requirement Specification (SRS) template. Perform a review of the SRS and correct the defects of the SRS. 2. Install and set up a Version Control tool (e.g. CVS, SVN) All version of all deliverables will be stored in the repository of the version control tool 3. Install and setup a defect tracking tool (e.g. Bugzilla) 4. Develop and update a traceability matrix (i.e. between the specifications, design, code, tests) 5. Design the product required by the customer 6. Code the product required by the customer 7. Review the code and correct the defects 1 http://profs.logti.etsmtl.ca/claporte/English/VSE/VSE-packages.html 2022-04-12

Upload: others

Post on 29-Feb-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Project - etsmtl.caprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA... · Web viewCollege of Arts, Media and Technology November-December 2009 Software Quality Assurance Course

1

Chiang Mai University College of Arts, Media and Technology November-December 2009

Software Quality Assurance Course

Team Project – Development of the Rice Cooker Software

This project will be performed in teams of 4 students. The team will manage and execute a small development project and apply different software quality assurance practices. The project is divided in three phases: an estimation phase, an execution phase and a learning phase. All templates are available on the course web site. The Deployment Packages (DPs) developed to support the ISO/IEC 29110 standard can be used for this project1.

Description of the 3 Phases of the Project

Phase 1- Estimate and allocate the effort to perform the project

Prepare an estimate of the effort (in staff-hours) and allocate tasks to team members to:1. Document the needs and expectations of the Customer using the Software Requirement

Specification (SRS) template. Perform a review of the SRS and correct the defects of the SRS.

2. Install and set up a Version Control tool (e.g. CVS, SVN) All version of all deliverables will be stored in the repository of the version control

tool3. Install and setup a defect tracking tool (e.g. Bugzilla)4. Develop and update a traceability matrix (i.e. between the specifications, design, code, tests)5. Design the product required by the customer6. Code the product required by the customer7. Review the code and correct the defects8. Develop the set of tests9. Execute the tests of the code and correct the defects10. Collect the effort (measured in staff-hour) of each team member, on a spreadsheet, and

compute the Cost of Quality of the following task categories: Initial Development of Work Products (D) (e.g. write SRS, document the design,

develop the code) P revention Activities (P) (e.g. installation of tools) E valuation of work products (E) (e.g. develop the set of tests and perform reviews) Product Rework (R) (e.g. effort required to make corrections to documents, i.e.

rework)11. Document lessons learned and recommendations.

1 http://profs.logti.etsmtl.ca/claporte/English/VSE/VSE-packages.html

2023-05-17

Page 2: Project - etsmtl.caprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA... · Web viewCollege of Arts, Media and Technology November-December 2009 Software Quality Assurance Course

2

Phase 2 - Execute the tasks of the project and collect the effort of each team member

1. Document the needs and expectations of the Customer using a Software Requirement Specification (SRS) template

See the ‘Requirement Analysis Deployment Package’ Perform a review of the SRS and correct the defects of the SRS. Update the effort spreadsheet and store in repository

2. Install and set up a Version Control tool (e.g. CVS, SVN) See the ‘Version Control Deployment Package’ All version of all deliverables will be stored in the repository of the tool Store SRS in Version Control repository Update the effort spreadsheet and store in repository

3. Install and setup a defect tracking tool (e.g. Bugzilla) Update the effort spreadsheet and store in repository

4. Develop and update a traceability matrix Store traceability matrix in repository When defects are found, they are logged in the issue tracking tool Update the effort spreadsheet and store in repository

5. Design the product required by the customer See the ‘Architecture and Detailed Design Deployment Package’ Update traceability matrix Store design in repository When defects are found, they are logged in the issue tracking tool Update the effort spreadsheet and store in repository

6. Code the product required by the customer See the ‘Construction and Unit Testing Deployment Package’ Update traceability matrix Store code in repository When defects are found, they are logged in the issue tracking tool Update the effort spreadsheet and store in repository

7. Review the code by performing an inspection and correct the defects Log issues in Issue tracking tool Store corrected code in repository When defects are found, they are logged in the issue tracking tool Update the effort spreadsheet and store in repository

8. Develop the set of tests See the ‘Software Testing Deployment Package’ Update traceability matrix Store set of tests in repository (test cases) When defects are found, they are logged in the issue tracking tool Update the effort spreadsheet and store in repository

2023-05-17

Page 3: Project - etsmtl.caprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA... · Web viewCollege of Arts, Media and Technology November-December 2009 Software Quality Assurance Course

3

9. Execute the tests of the code and correct the defects Log issues in Issue Tracking Tool Update traceability matrix Store in repository (updated code and test cases) When defects are found, they are logged in the issue tracking tool Update the effort spreadsheet and store in repository

10. Collect the effort (measured in staff-hour) of each team member, on a spreadsheet, and compute the Cost of Quality task categories (see below).

2023-05-17

Page 4: Project - etsmtl.caprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA... · Web viewCollege of Arts, Media and Technology November-December 2009 Software Quality Assurance Course

4

Phase 3 – Document Lessons Learned and recommendations of the project performed

Perform a Lessons Learned Review (using template on web site):1. Analyze the actual effort versus estimated effort

Explain the differences between actual and estimated2. Discuss the data from the Cost of Quality measurements3. Discuss what has been learned

What could be done the same way the next time? What should not be done the next time? What could be done differently or improved?

4. Develop recommendations to improve the team project and the quality assurance course5. Prepare a 6-slide presentation (template on web site)6. Write a 1,000-word report: lessons learned and recommendations (template on web site)7. Update the effort spreadsheet8. Store in repository

Report, effort spreadsheet, presentation.

DeliverablesDocuments are sent to teaching assistant via e-mail before 22:00 hours the day of deadline given in class. A penalty of 10% per day will be applied for late delivery.

1. Spreadsheet of the estimation of the effort and the allocation of tasks to team members Store in repository

2. Traceability matrix spreadsheet Store in repository

3. Software Requirement specification (SRS) Store in repository

4. Design of Product Store in repository

5. Walk-through forms completed: Walk-through form and Walk-through Issues logged in issue tracking tool

6. Code of product Store in repository

7. Inspection form completed and Issue log forms Issues stored in issue tracking tool

8. Test cases Store in repository

9. Traceability matrix spreadsheet Store in repository

10. Traceability matrix spreadsheet (completed) Store in repository

11. Spreadsheet of Total effort Store in repository

12. Lessons learned report 3-5 slide presentation (PPT) Lessons learned Report (Word) Store in repository

2023-05-17

Page 5: Project - etsmtl.caprofs.etsmtl.ca/claporte/English/Enseignement/CMU_SQA... · Web viewCollege of Arts, Media and Technology November-December 2009 Software Quality Assurance Course

5

Tasks categories with regards to Cost of Quality2

The following chart indicates what types of categories with regard to quality costs may be used for each activity. For example, in Requirements Development, initial development of a requirements document would be D and reworking a requirements document would be R. Validation of requirements with a customer would be E (evaluation).

D Initial Development of Work ProductsP Prevention ActivitiesR Product ReworkE Evaluation of work products

D P R EA01 Project Management Planning A02 Requirements Development A03 Product Concept Development A04 Requirements Analysis A05 Functional Concept Development A06 Define Architecture A07 Test Plan Development A08 Software Configuration Planning (SCM) A09 Detailed Functional Specification A10 Detailed Design, Code, Debug A11 Unit Testing A12 Integration Testing A13 System Test Scripts A14 System Test Specification A15 User Manual Development A16 Software Quality Assurance (SQA) Planning A17 System Test A18 Acceptance Test A19 Project Tracking and Metrics A20 SQA activities A21 Subcontract Management Planning A22 SCM Builds A23 Other SCM Functions A24 Requirements & Change Management A25 Establish Development Environment (e.g. tools) A26 Desk Check (Review) A27 Walk-through (Review) A28 Inspection (Review)

2 Adapted from: Houston, D., Cost of Software Quality: Selling Software Process Improvement to Managers, in Fundamental Concepts for the Software Quality Engineer, Edited by Daughtrey, T., ASQ Quality press, 2002

2023-05-17