Upload
samuel90
View
257
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Project Management & Software Project Management & Software Engineering Techniques to Achieve High Engineering Techniques to Achieve High
Software QualitySoftware Quality
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 …….
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
What is Quality?What is Quality?
MEETS REQUIREMENTS MEETS REQUIREMENTS
plusplus
BEST PRACTICEBEST PRACTICE
Must considerMust considerPROCESSPROCESSas well asas well asPRODUCTPRODUCT
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
Meet Requirements - Meet the Meet Requirements - Meet the “ilities”“ilities”
• LocalisationLocalisation• TestabilityTestability• PortabilityPortability• ModifiabilityModifiability• Re-usabilityRe-usability• IntegrityIntegrity• CompatibilityCompatibility
Best PracticesBest Practices
• What areas do we want best practices?What areas do we want best practices?
– ManagementManagement– EngineeringEngineering– Quality AssuranceQuality Assurance
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 $
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
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
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
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
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
Cost of Fixing Defects for Each Cost of Fixing Defects for Each PhasePhase
Cost
1
Specification Design Coding Testing Maintenance
x10 x100
Acceptable Level of QualityAcceptable Level of Quality
Cost of Preventionplus Appraisal
Cost ofFailure
Total Costof Quality
AQL
Cost
% Defective
Acceptable Level of QualityAcceptable Level of Quality
Cost ofFailure
Cost
% Defective
Total Costof Quality
Cost of Preventionplus Appraisal
Acceptable Level of Quality for Acceptable Level of Quality for SoftwareSoftware
• Zero Defects (or close to it)Zero Defects (or close to it)
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
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
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
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
Project PlanningProject Planning
• MeasurementMeasurement– Stakeholder Project SuccessStakeholder Project Success
– Project measurementsProject measurements– Product measurementsProduct measurements
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
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!
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
Project Tracking & UpdatingProject Tracking & Updating
• Status Reports & MetricsStatus Reports & Metrics• Updating the PlanUpdating the Plan
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
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
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
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)
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
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
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