+ All Categories
Home > Documents > Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY...

Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY...

Date post: 17-Apr-2018
Category:
Upload: vuongtuong
View: 215 times
Download: 2 times
Share this document with a friend
23
Juha Itkonen SoberIT HELSINKI UNIVERSITY OF TECHNOLOGY T-76.612 Software Project Management Quality Assurance in Software Project Management
Transcript
Page 1: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

Juha ItkonenSoberIT

HELSINKI UNIVERSITY OF TECHNOLOGY

T-76.612 Software Project Management

Quality Assurance in Software Project Management

Page 2: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

2Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Contents

Software quality and setting quality goalsFrom quality goals to QA practicesQuality in project planningTracking software quality information

Page 3: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

3Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Software quality

In general, it is wise to strive for good quality and try to avoid making too many mistakes during the development project

Bad quality leads to rework, bigger costs, delays, and problems in operation

Qualityis meeting the specificationsis meeting the expectations of the customer or useris value to someone

differs depending on who you askis difficult to define and hard to measure

General standards for software qualityE.g. ISO 9126, McCall quality model, …Gives a nice taxonomy, terminology, definitions and conceptual frameworkCannot tell what are the most important quality attributes and how to achieve them in a particular context and situation

Page 4: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

4Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Setting the target - Quality goals

General quality characteristics are not enoughCustomer’s requirements and needsProduct characteristicsApplication domainDevelopment technologies and environmentProject characteristics

Specific quality goals are neededSpecific goals for this project (not wish project)UnambiguousConnected to a concrete project, product, and problems

we need to define precisely what qualities we require of a system

Page 5: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

5Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

From a general to a specific quality goalExample

AdaptabilityAttributes of software that bear on the opportunity for its adaptation to different specified environments without applying other actions or means than those provided for this purpose for the software considered.

AdaptabilityThe client software must work with all advertised compatible browser and e-mail environments, with or without java, without specific configuration.

Page 6: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

6Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Quality goals point out important qualities

What are the most important quality characteristics for this project and productQuality goals show where to focusWith clearly stated goals it is easier to select good practices and methodsQuality goals steer every activity of the project into the right directionGoals reflect the different qualities for different parts of the system

Page 7: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

7Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Measuring quality and achieving the goals

Some quality characteristics can be measured quantitatively

e.g. defect counts, performanceIf the goal can be quantified, do so

What measures are usedWho, how and whenHow the measures are used

Some can be assessed qualitativelye.g. usability, conformance to a standardDefine how the goal is assessed

Who, how and whenHow the results are used

Some cannot be measured at all (in a practical situation)e.g. maintainability, reusabilityDefine how to achieve these goals, anyway

Page 8: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

8Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Quality Practices

Plan which practices are used to achieve and measure each of the quality goals

Select existing practices in useFind good best practices from outsideInvent new practices

The goals give guidance for performing the practicesMany practices strive for better quality

TestingReviews, inspectionsConventions, guidelinesDocumentingDesign and development methods & techniquesProject management practices

Page 9: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

9Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Mapping the goals and practices

1

DB changes break existing clients

RisksQuality goalsPractices

3

Conform-ance to standard X

One developer has no experience in J2EE

Change-ability

UsabilityFunctional correctness

Code reviews

2GUI prototyping

3Functional testing

3 = good practice2 = helps1 = might help

Page 10: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

10Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Mapping the goals and practices

3

1

DB changes break existing clients

RisksQuality goalsPractices

3

Conform-ance to standard X

One developer has no experience in J2EE

Change-ability

UsabilityFunctional correctness

1Regression testing clients

21Code reviews

2GUI prototyping

3Functional testing

Documents how quality goals are to be achieved and risks handledFocuses activities into right issuesReveals and communicates quality risks

explicitly identified risksrisks of quality goals with weak practices

Page 11: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

11Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Planning the projectwith quality goals and practices

Describe quality goals and major risksMake sure that each quality goal is meaningful and described in the context of this projectMake sure that all required quality practices are planned

Effort estimations and schedule

Plan how to track quality practices and measure achieved quality

What measures are usedWho, how and whenHow the measures are used

Quality assurance takes effort and calendar time

Page 12: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

12Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Who is responsible for quality?

Make sure that quality is everybody’s responsibilityand it shows in the project plan

It is good to have a project “QA manager” roleResponsibility to actively track quality and help project manager to make QA activities to happenReports project’s progress from the quality point of view in the project meetings

Tracking quality goalsTries to be less eager sacrificing quality to the new fancy featuresDoes not mean personal responsibility to “create the quality”or to do all quality assurance activities

Keep separate testers tightly in the projectProject meetingsReviewsCollaborating with developers

Page 13: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

13Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Testing and project planning

Test releasesMake clear what and when is released for testingPlan what is the required quality level of test releases – and how to ensure / measure itBuilding and delivering the test release takes time

Do not forget that fixing takes time and effortYou don’t know how many bugs will be foundYou must plan how many bugs will be foundPlan the testing timePlan the fixing timePlan the re-testing time (verifying the fixes)

More bugs means more fixing and slower testingTest schedules are relative

Development will be lateCode will be buggyPlan how to handle slipping dates and underestimated workload

Page 14: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

14Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Making quality visible in project tracking

Keep quality goals visible in project meetingsTrack the planned metricsPublish the metricsReact to deviations

Find out the reasons behind the metricssmall number of found bugs due to ignored testing taskslarge number of found bugs due to changed specifications -> broken test cases

Connect quality metrics in progress trackingWhat does it mean to get a task done?Reviews, unit tests, functional tests, regression tests, demo, …

Do not be over optimistic“lets check it done anyway, we’ll fix it in a minute”

Page 15: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

15Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Test reporting in project management

As a project manager you need test reportsNot bug descriptions, not plain numbers of test cases and bugsTest reports describe what has been tested and assess the current level of achieved quality based on that testing

Important content in test reportsWhat was tested, how thoroughly, what was coverageWhat was found, bugs by severity, issues, metricsAssessment of quality of the systemProgress according to the plan

Report information that is useful for project managerIn a concise and intelligible form

Page 16: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

16Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Reporting with weak metrics:Testing Dashboard

6.6.2003 Build 1.34.52

Functional Area Activity Coverage Quality Comments ☺ PerfectFile management exploring 2 ☺ no bugs found, simple functionality HmmMain hierarchy code review, test cases 2 Some weird behavior, still testing Aargghhh!Formatting test cases 2 Some critical bugs foundDrag and drop exploring 1 Don't work with other applications 3 Its testedImports test cases, exploring 3 ☺ all planned formats tested 2 Features checkedExports sample test data 0 Can't test: no specs for export formats 1 We tried it (once)Overall GUI ad hoc 3 A lot of small bugs 0 NothingEditing area feature testing by spec 2 ☺ Looks goodClipboard 0 Not deliveredProperty tables 0 Not implementedPreferences exploring 1 Nothing serious yet…Help review 2 Mainly spelling and grammatic issues

If you cannot have direct quality measures, use indirectUse of certain quality assurance practices gives indirectly hints of the likely quality of the final systemQualitative assessment and the reasoning behind is much better than plain numbers

Modified from: Kaner et al. 2002. Lessons Learned in Software testing.

Page 17: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

17Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Use quality information

Quality information is used to steer the projectReview resultsTest results, bug countsDevelopment progressMetrics of different qualities (performance, load, …)

Why you need the information?To re-scope an iterationTo focus resources into right areasTo make sure achieving good enough qualityTo find out we are making the right product

WHEN DO YOU NEED THE INFORMATION?

we need to forecast the likely quality of the final system when it is under development

Page 18: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

18Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Quality information and time horizonsRelease time horizon

Not connected to any iterations or milestones – hard to track and manageTypical approach to manage

Informal reviewsSystem testingAcceptance testing

i i i i i i iRelease project

Time

Page 19: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

19Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Quality information and time horizonsIteration time horizon

Quality assurance goals for each iterationActivities that provide information by the end of (each) iteration

Not necessary connected to individual development tasks

Information available at the end of each iteration, at latestReview resultsUnit test and integration test resultsFunction test and system test resultsQuality metrics (e.g. performance, bug counts, test reports)

i i i i

i

ii i i i i i ii

Release project

Iteration

Time

Page 20: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

20Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Quality information and time horizonsHeartbeat time horizon

Quality assurance activities as part of each development taskInformation created early and continuously

Development progress, bug counts, performed tests, …Code review resultsUnit tests and resultsAutomatic builds and smoke testsFunction test and integration test results

i i i i i i

i

i i i i i i i i i i i i

Release project

Iteration

Heartbeat

Time

Page 21: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

21Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Quality information and time horizons

i i i i i i

i i i i

i i i i i i i

ii i i i i i ii

i i i i i i i i i i i i

Release project

Iteration

Heartbeat

Time

Heartbeat quality assurance -Information for steering the iteration and tracking progress

Iteration quality assurance -Information for steering the current and forthcoming iterations

Release quality assurance -Independent activities

Page 22: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

22Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Gather information on short time horizons

Plan how you get the quality information before it’s too lateFind actively ways of digging quality information out as early and often as possible

Talk to testers and developersThe best way is to get something completed and tested in short iterations

The risk of poor quality is not delayed to the end of the project

Shorter feedback loop -> easier and faster to fix the problems

Pay attention to heartbeat practicesAssure good enough quality in each iteration

Do not push risks like a growing snowball in front of you

Page 23: Quality Assurance in Software Project Management Itkonen 3 HELSINKI UNIVERSITY OF TECHNOLOGY SoberIT/HUT Software quality In general, it is wise to strive for good quality and try

23Juha ItkonenSoberIT/HUTHELSINKI UNIVERSITY OF TECHNOLOGY

Summary

Define concrete and meaningful quality goalsIdentify practices and activities that are applied to achieve the goals and track progressPlan activities and tracking

quality assurance activities in the schedule and effort estimationshow to react to deviations

Remember the different time horizonsWhen is the information needed in order to be useful?Plan activities to provide the information promptly

Identify also the major quality risksand plan how the risks are handled in the project and whenDo not leave big risks to be revealed at the end of the project


Recommended