33
Project Management & Software Project Management & Software Engineering Techniques to Achieve Engineering Techniques to Achieve High Software Quality High Software Quality

OSA Lecture 1

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: OSA Lecture 1

Project Management & Software Project Management & Software Engineering Techniques to Achieve High Engineering Techniques to Achieve High

Software QualitySoftware Quality

Page 2: OSA Lecture 1

IntroductionIntroduction

• What is Quality?What is Quality?• Project Management PracticesProject Management Practices• Software Engineering PracticesSoftware Engineering Practices• Process Improvement PracticesProcess Improvement Practices

1 …….2 …….3 …….4 …….5 …….

Page 3: OSA Lecture 1

What is Quality?What is Quality?

• Customer PerspectiveCustomer Perspective– ““Meets Requirements”Meets Requirements”

• Meets ExpectationsMeets Expectations

– ““Fitness for Purpose”Fitness for Purpose”– ““Conforms to Requirements”Conforms to Requirements”

Philip Crosby - “Quality Without Tears”Philip Crosby - “Quality Without Tears”

• Business PerspectiveBusiness Perspective– Best PracticesBest Practices– Flexible ProcessesFlexible Processes

Page 4: OSA Lecture 1

What is Quality?What is Quality?

MEETS REQUIREMENTS MEETS REQUIREMENTS

plusplus

BEST PRACTICEBEST PRACTICE

Must considerMust considerPROCESSPROCESSas well asas well asPRODUCTPRODUCT

Page 5: OSA Lecture 1

Meet Requirements - Meet the Meet Requirements - Meet the “ilities”“ilities”

• Functionality (and Correctness)Functionality (and Correctness)• UsabilityUsability• ReliabilityReliability• Performance (and Efficiency)Performance (and Efficiency)• SupportabilitySupportability

Page 6: OSA Lecture 1

Meet Requirements - Meet the Meet Requirements - Meet the “ilities”“ilities”

• LocalisationLocalisation• TestabilityTestability• PortabilityPortability• ModifiabilityModifiability• Re-usabilityRe-usability• IntegrityIntegrity• CompatibilityCompatibility

Page 7: OSA Lecture 1

Best PracticesBest Practices

• What areas do we want best practices?What areas do we want best practices?

– ManagementManagement– EngineeringEngineering– Quality AssuranceQuality Assurance

Page 8: OSA Lecture 1

Cost of Quality FiguresCost of Quality Figures

Failure (Evil)

NewDevelopment(What we want to do)

Prevention(Good)

Appraisal(Good)

COQ CircleCOQ Circle

• Unit is the $Unit is the $

Page 9: OSA Lecture 1

Cost of Quality Activities - Cost of Quality Activities - PreventionPrevention

• Quality AuditQuality Audit• Management CommitmentManagement Commitment• Quality PlanningQuality Planning• Development methodologies, standards & Development methodologies, standards &

techniquestechniques• Appropriate Work ConditionsAppropriate Work Conditions• Quality TrainingQuality Training

Page 10: OSA Lecture 1

Cost of Quality Activities - AppraisalCost of Quality Activities - Appraisal

• Preparation for ReviewsPreparation for Reviews• Walkthroughs / Reviews / InspectionsWalkthroughs / Reviews / Inspections• Phase / Milestone / Systems ReviewsPhase / Milestone / Systems Reviews• Preparation for TestingPreparation for Testing• Systems / Acceptance TestingSystems / Acceptance Testing• Informal Meetings with UsersInformal Meetings with Users• Error Condition HandlingError Condition Handling

Page 11: OSA Lecture 1

Cost of Quality Activities - FailureCost of Quality Activities - Failure

• Project ReworkProject Rework• Overtime, Idle TimeOvertime, Idle Time• Delayed Systems BenefitsDelayed Systems Benefits• Malfunction and re-run CostsMalfunction and re-run Costs• Problem Determination / MaintenanceProblem Determination / Maintenance• Execution of Contingency PlansExecution of Contingency Plans• Delay, Poor Response TimeDelay, Poor Response Time

Page 12: OSA Lecture 1

Cost of Quality Activities - FailureCost of Quality Activities - Failure

• Employee Turnover, TrainingEmployee Turnover, Training• Fatigue, Frustration, lack of MotivationFatigue, Frustration, lack of Motivation• Lost Management TimeLost Management Time• Loss of CredibilityLoss of Credibility• Loss of OpportunityLoss of Opportunity• Security / Legal Exposure LossSecurity / Legal Exposure Loss

Page 13: OSA Lecture 1

Cost of Quality Activities - WorkCost of Quality Activities - Work

• Business ModelingBusiness Modeling• Requirements AnalysisRequirements Analysis• Coding & Unit TestingCoding & Unit Testing• Software TestingSoftware Testing• Software Release & DeploymentSoftware Release & Deployment• AdministrationAdministration

Page 14: OSA Lecture 1

Cost of Fixing Defects for Each Cost of Fixing Defects for Each PhasePhase

Cost

1

Specification Design Coding Testing Maintenance

x10 x100

Page 15: OSA Lecture 1

Acceptable Level of QualityAcceptable Level of Quality

Cost of Preventionplus Appraisal

Cost ofFailure

Total Costof Quality

AQL

Cost

% Defective

Page 16: OSA Lecture 1

Acceptable Level of QualityAcceptable Level of Quality

Cost ofFailure

Cost

% Defective

Total Costof Quality

Cost of Preventionplus Appraisal

Page 17: OSA Lecture 1

Acceptable Level of Quality for Acceptable Level of Quality for SoftwareSoftware

• Zero Defects (or close to it)Zero Defects (or close to it)

Page 18: OSA Lecture 1

Project ManagementProject Management

• Best PracticesBest Practices• People ManagementPeople Management• Project PlanningProject Planning• Project Tracking & UpdatingProject Tracking & Updating

– Status ReportsStatus Reports– MetricsMetrics– Updating the PlanUpdating the Plan

Page 19: OSA Lecture 1

What is a Project?What is a Project?

• Projects change the status quoProjects change the status quo– Else why do ‘em?Else why do ‘em?

• A project is a related and interdependent set of A project is a related and interdependent set of activities that:activities that:

• are related together to meet a set of objectivesare related together to meet a set of objectives

• have a number of defined starts and finishes over an extended have a number of defined starts and finishes over an extended period of timeperiod of time

• are implemented by a teamare implemented by a team

• Projects should have a sound business case Projects should have a sound business case before being startedbefore being started

Page 20: OSA Lecture 1

Project Management PracticesProject Management Practices

• Define Roles and ResponsibilitiesDefine Roles and Responsibilities• Plan the WorkPlan the Work

– Technical, Quality and Resource PlanningTechnical, Quality and Resource Planning

• Track Progress against PlansTrack Progress against Plans• Progressively Refine the PlansProgressively Refine the Plans

Page 21: OSA Lecture 1

Project PlanningProject Planning

• Scope decided by Key Stakeholders and SponsorsScope decided by Key Stakeholders and Sponsors– Who are they?Who are they?

• ScopeScope– Objective Is InObjective Is In– Objective Is not InObjective Is not In– Objective Is UnresolvedObjective Is Unresolved– Priorities - Target IdentificationPriorities - Target Identification

InIn•Thingy 1Thingy 1•Thingy 3Thingy 3

OutOut•Thingy 2Thingy 2

UnresolvedUnresolved StakeholderStakeholder•Thingy 3.142Thingy 3.142 Product mngtProduct mngt

Page 22: OSA Lecture 1

Project PlanningProject Planning

• MeasurementMeasurement– Stakeholder Project SuccessStakeholder Project Success

– Project measurementsProject measurements– Product measurementsProduct measurements

Page 23: OSA Lecture 1

Project PlanningProject Planning

T

M`

ComplexityComplexity

• Process TailoringProcess Tailoring– Target FocusTarget Focus– Strike QuicklyStrike Quickly

• Effort = EAF (Size^Process)Effort = EAF (Size^Process)

– Lifecycle modelsLifecycle models• Iterative & IncrementalIterative & Incremental• Use-case drivenUse-case driven• Architecture CentricArchitecture Centric

P PU PUC

• RisksRisks– AssessmentAssessment– MitigationMitigation– ContingencyContingency

Page 24: OSA Lecture 1

Project PlanningProject Planning

• EstimationEstimation– Estimation vs GuesstimationEstimation vs Guesstimation

• Guess:Guess: an unsupported predictionan unsupported prediction• Guesstimate:Guesstimate: a guess based on relevant experience, undocumented a guess based on relevant experience, undocumented

information or historyinformation or history• Estimate:Estimate: a prediction based on experience, history or information a prediction based on experience, history or information

formally recordedformally recorded

– Best/Average/Worst (BAW)Best/Average/Worst (BAW)• Best:Best: assume everything goes better than expectedassume everything goes better than expected• Average:Average: assume that things go to planassume that things go to plan• Worst:Worst: assume that things go worse than expectedassume that things go worse than expected• Risk:Risk: qualification of risk is often made with L/M/Hqualification of risk is often made with L/M/H• Works best with multiple people estimatingWorks best with multiple people estimating

– ProductivityProductivity• Remember variation between individualsRemember variation between individuals• People doing the work should estimate it!People doing the work should estimate it!

Page 25: OSA Lecture 1

Project PlanningProject Planning

• Gantt Charts & SchedulesGantt Charts & Schedules– Phases & IterationPhases & Iteration

• InceptionInception– Define the scope of the projectDefine the scope of the project– Develop business caseDevelop business case– Develop primary use casesDevelop primary use cases– Have a candidate architectureHave a candidate architecture– Mitigate critical risksMitigate critical risks

• ElaborationElaboration– Project plan baselinedProject plan baselined– Develop secondary use casesDevelop secondary use cases– Architecture baselinedArchitecture baselined

• ConstructionConstruction– Refinement of use casesRefinement of use cases– Detailed design (where appropriate)Detailed design (where appropriate)– Beta product availableBeta product available– User & training course materialUser & training course material

• TransitionTransition– ‘‘Last minute’ enhancement requestsLast minute’ enhancement requests– Manufacturing release quality in product Manufacturing release quality in product – Deploy to usersDeploy to users

Page 26: OSA Lecture 1

Project Tracking & UpdatingProject Tracking & Updating

• Status Reports & MetricsStatus Reports & Metrics• Updating the PlanUpdating the Plan

Page 27: OSA Lecture 1

Project Tracking - StatusProject Tracking - Status

• Project StatusProject Status– Weekly StatusWeekly Status

• Individual & Team Weekly Status ReportsIndividual & Team Weekly Status Reports– AchievementsAchievements– ObjectivesObjectives– Issues & RisksIssues & Risks

» Details schedule slipaggeDetails schedule slipagge

• EffortEffort– PeoplePeople– Hours - TimesheetsHours - Timesheets

• InchpebblesInchpebbles

– MilestonesMilestones– Iterations & PhasesIterations & Phases– ScheduleSchedule

• Baseline - MS ProjectBaseline - MS Project• Schedule slippageSchedule slippage

– Re-workRe-work

Page 28: OSA Lecture 1

Project Tracking - StatusProject Tracking - Status

• Product StatusProduct Status– SizeSize

• Function Points & use case pointsFunction Points & use case points• LOCLOC

– QualityQuality• Defect DensityDefect Density

– Functional correctness, reliabilityFunctional correctness, reliability

• Defect Trend RatesDefect Trend Rates– Reliability, supportabilityReliability, supportability

• User monitoringUser monitoring– UsabilityUsability

• User error rateUser error rate– UsabilityUsability

Page 29: OSA Lecture 1

Project Tracking – Release MetricsProject Tracking – Release Metrics

• netDeploy Global 5.0 Field Release 4netDeploy Global 5.0 Field Release 4– 22 components & applications22 components & applications– 370 KLOC370 KLOC– Test coverageTest coverage

• Interface: 100%Interface: 100%• Parameter: 100%Parameter: 100%• PFC: 61%PFC: 61%

– Defect densities (defects/MNCSS)Defect densities (defects/MNCSS)• Critical: 0Critical: 0• Serious: 70Serious: 70• Medium: 288Medium: 288• Low: 314Low: 314

Page 30: OSA Lecture 1

Project Tracking - StatusProject Tracking - Status

• Product StatusProduct Status– QualityQuality

• Memory leakage toolsMemory leakage tools– ReliabilityReliability

• Performance monitoring toolsPerformance monitoring tools– Performance (obviously)Performance (obviously)

• Volume testing defect resultsVolume testing defect results– Reliability, performanceReliability, performance

• Test coverageTest coverage– Functional correctness, reliabilityFunctional correctness, reliability

• Aim to determine release readiness!!Aim to determine release readiness!!

Jobs Distributed vs Time (NT3TC1)

y = 3E-08x5 - 3E-06x4 - 0.0013x3 + 0.1498x2 + 10.448x

R2 = 0.9904

0

500

1000

1500

2000

2500

0

969

1937

2903

3869

4833

5797

6761

7725

8688

9652

1061

5

1157

9

Time

Job

s d

istr

ibu

ted

J obs distributed

Poly. (J obs distributed)

Page 31: OSA Lecture 1

Project Plan UpdatesProject Plan Updates

• Formal review milestonesFormal review milestones– End of IterationEnd of Iteration– End of PhaseEnd of Phase

• Take corrective action & Update Project PlanTake corrective action & Update Project Plan– Dependent on SlidersDependent on Sliders

RationalRational IrrationalIrrationalChange DeadlinesChange Deadlines Don’t Tell AnyoneDon’t Tell AnyoneChange SpecificationsChange Specifications Hope It Will Get BetterHope It Will Get BetterOvertly Degrade QualityOvertly Degrade Quality Covertly Degrade QualityCovertly Degrade QualityPartition Product – Add ResourcesPartition Product – Add Resources Leave ProjectLeave ProjectBetter TechnologyBetter Technology Witch HuntWitch HuntWork Harder – Short TermWork Harder – Short Term Work Harder – Long TermWork Harder – Long Term

Blame Consultants/ClientsBlame Consultants/Clients

Page 32: OSA Lecture 1

End ResultEnd Result

Use Project Management practicesUse Project Management practices

and Quality Attributesand Quality Attributes

to deliver your stakeholders idea of a quality productto deliver your stakeholders idea of a quality product

Page 33: OSA Lecture 1

Further InfoFurther Info

• OSA - OSA - http://www.osa.com.au/common/ppt/missile.ppthttp://www.osa.com.au/common/ppt/missile.ppt– ACS Presentation on 4P’s of Short Cycle Product ACS Presentation on 4P’s of Short Cycle Product

DevelopmentDevelopment

• The Thomsett Company – The Thomsett Company – http://www.http://www.thomsettthomsett.com.au.com.au