Upload
paola-malsbury
View
221
Download
1
Embed Size (px)
Citation preview
2003 Mateusz Żochowski, Marcin Borzymek
Software Life Cycle Software Life Cycle AnalysisAnalysis
2003 Mateusz Żochowski, Marcin Borzymek
Why Planning?Why Planning?
Streamline projectStreamline project Improve development speedImprove development speed Improve qualityImprove quality Improve project tracking and controlImprove project tracking and control Improve client relationsImprove client relations
2003 Mateusz Żochowski, Marcin Borzymek
Inappropriate Inappropriate or Lack of or Lack of a a Lifecycle ModelLifecycle Model
Slow workSlow work Repeated workRepeated work Unnecessary workUnnecessary work FrustrationFrustration
2003 Mateusz Żochowski, Marcin Borzymek
Lifecycle ModelsLifecycle Models
Pure WaterfallPure Waterfall Modified WaterfallsModified Waterfalls SpiralSpiral Code-and-FixCode-and-Fix Evolutionary PrototypesEvolutionary Prototypes Staged DeliveryStaged Delivery Design-to ScheduleDesign-to Schedule Extreme Programming Life CycleExtreme Programming Life Cycle
2003 Mateusz Żochowski, Marcin Borzymek
Pure WaterfallPure Waterfall
Orderly sequence of stepsOrderly sequence of steps Review at the end of each phaseReview at the end of each phase Discontinuous phasesDiscontinuous phases
2003 Mateusz Żochowski, Marcin Borzymek
WaterfallWaterfall
Rapid Development, 1996
2003 Mateusz Żochowski, Marcin Borzymek
Waterfall BenefitsWaterfall Benefits
FindFindss errors in early stages errors in early stages Minimizes planning overhead since Minimizes planning overhead since
it can be done up front it can be done up front Structure minimizes wasted effort, Structure minimizes wasted effort,
so it works well for technically weak so it works well for technically weak or inexperienced staff or inexperienced staff
2003 Mateusz Żochowski, Marcin Borzymek
Waterfall DisadvantagesWaterfall Disadvantages
No tangible results until the endNo tangible results until the end InflexibleInflexible Excessive documentation Excessive documentation Backing up to address mistakes is Backing up to address mistakes is
difficult difficult
2003 Mateusz Żochowski, Marcin Borzymek
Waterfall SummaryWaterfall Summary
-- performs well for products with performs well for products with clearly understood requirements clearly understood requirements
-- it's weaknesses frequently make it's weaknesses frequently make it inadvisable when rapid it inadvisable when rapid development is needed. In those development is needed. In those cases, modified models may be more cases, modified models may be more effective. effective.
2003 Mateusz Żochowski, Marcin Borzymek
Modified WaterfallsModified Waterfalls
Waterfall with SubprojectsWaterfall with Subprojects Waterfall with Risk ReductionWaterfall with Risk Reduction
2003 Mateusz Żochowski, Marcin Borzymek
Waterfall With Waterfall With SubprojectsSubprojects
SubprojectsSubprojects
Rapid Development, 1996
2003 Mateusz Żochowski, Marcin Borzymek
Waterfall With Waterfall With Subprojects BenefitsSubprojects Benefits
Logically independent subsystemsLogically independent subsystems Each subproject can proceed at own Each subproject can proceed at own
pacepace
2003 Mateusz Żochowski, Marcin Borzymek
Waterfall With Waterfall With Subprojects Subprojects
DisadvantagesDisadvantages
Unforeseen interdependenciesUnforeseen interdependencies
2003 Mateusz Żochowski, Marcin Borzymek
Waterfall With Risk Waterfall With Risk ReductionReduction
Risk-reduction spiral at topRisk-reduction spiral at top
Rapid Development, 1996
2003 Mateusz Żochowski, Marcin Borzymek
Waterfall With Risk Waterfall With Risk Reduction BenefitsReduction Benefits
Reduce riskReduce risk Best of Waterfall and Risk Reduction Best of Waterfall and Risk Reduction
modelsmodels Not limited to requirementsNot limited to requirements
2003 Mateusz Żochowski, Marcin Borzymek
Spiral (Cinnamon Roll)Spiral (Cinnamon Roll)
Risk-orientedRisk-oriented MiniprojectsMiniprojects IterationsIterations
Determine objectives, alternatives, and Determine objectives, alternatives, and constraintsconstraints
Identify and resolve risksIdentify and resolve risks Evaluate alternativesEvaluate alternatives Develop deliverablesDevelop deliverables Plan the next iterationPlan the next iteration Commit to an approach for the next iterationCommit to an approach for the next iteration
2003 Mateusz Żochowski, Marcin Borzymek
Spiral (Cinnamon Roll)Spiral (Cinnamon Roll)
Rapid Development, 1996
2003 Mateusz Żochowski, Marcin Borzymek
Spiral BenefitsSpiral Benefits
Management controlManagement control Early indication of fatal risksEarly indication of fatal risks FlexibleFlexible
2003 Mateusz Żochowski, Marcin Borzymek
Spiral DisadvantagesSpiral Disadvantages
ComplicatedComplicated Requires attentive, and Requires attentive, and
knowledgeable managementknowledgeable management
2003 Mateusz Żochowski, Marcin Borzymek
Possible ApplicationsPossible Applications
High risk projectsHigh risk projects Poorly understood requirementsPoorly understood requirements Poorly understood architecturePoorly understood architecture Potential performance problemsPotential performance problems Problems in the underlying technologyProblems in the underlying technology
Combine with other lifecycle modelsCombine with other lifecycle models Terminate with waterfall or other lifecycleTerminate with waterfall or other lifecycle Incorporate other lifecycle models as Incorporate other lifecycle models as
iterationsiterations
2003 Mateusz Żochowski, Marcin Borzymek
Spiral SummarySpiral Summary
-- it's beneficial to run a series of it's beneficial to run a series of risk-reduction iterations which can risk-reduction iterations which can be followed by a waterfall or other be followed by a waterfall or other non-risk-based lifecyclenon-risk-based lifecycle
2003 Mateusz Żochowski, Marcin Borzymek
Code-and-FixCode-and-Fix
InformalInformal UnstructuredUnstructured
Rapid Development, 1996
2003 Mateusz Żochowski, Marcin Borzymek
Code-and-Fix BenefitsCode-and-Fix Benefits
No overheadNo overhead Requires little expertiseRequires little expertise
2003 Mateusz Żochowski, Marcin Borzymek
Code-and-Fix Code-and-Fix DisadvantagesDisadvantages
No means of assessing progressNo means of assessing progress No quality managementNo quality management No risk managementNo risk management
2003 Mateusz Żochowski, Marcin Borzymek
Possible ApplicationsPossible Applications
Small proof-of-concept programsSmall proof-of-concept programs Short-lived demosShort-lived demos Throwaway prototypesThrowaway prototypes
2003 Mateusz Żochowski, Marcin Borzymek
Evolutionary Evolutionary PrototypingPrototyping
Develop system concept as the Develop system concept as the project progressesproject progresses
Begin with the most visible Begin with the most visible aspectsaspects
PrototypePrototype
Rapid Development, 1996
2003 Mateusz Żochowski, Marcin Borzymek
Evolutionary Prototyping Evolutionary Prototyping BenefitsBenefits
Steady, visible signs of progressSteady, visible signs of progress Less documentationLess documentation
2003 Mateusz Żochowski, Marcin Borzymek
Evolutionary Prototyping Evolutionary Prototyping DisadvantagesDisadvantages
Impossible to schedule releaseImpossible to schedule release Excuse to use code-and-fix Excuse to use code-and-fix
developmentdevelopment
2003 Mateusz Żochowski, Marcin Borzymek
Possible ApplicationsPossible Applications
Rapidly changing requirementsRapidly changing requirements Customer reluctant to commit to Customer reluctant to commit to
requirementsrequirements Do not understand application areaDo not understand application area Strong demand for development Strong demand for development
speedspeed
2003 Mateusz Żochowski, Marcin Borzymek
Evolutionary DeliveryEvolutionary Delivery
Similar to Evolutionary PrototypingSimilar to Evolutionary Prototyping Refine version based upon customer Refine version based upon customer
feedbackfeedback Emphasizes core of the systemEmphasizes core of the system
2003 Mateusz Żochowski, Marcin Borzymek
Evolutionary DeliveryEvolutionary Delivery
Rapid Development, 1996
2003 Mateusz Żochowski, Marcin Borzymek
Evolutionary Delivery Evolutionary Delivery BenefitsBenefits
Can accommodate customer Can accommodate customer requestsrequests
Allows a degree of Allows a degree of midtimemidtime changes changes Provides Provides visiblevisible results results
2003 Mateusz Żochowski, Marcin Borzymek
Evolutionary Delivery Evolutionary Delivery DisadvantagesDisadvantages
DifficultDifficult to schedule release to schedule release May lead to Code-and-Fix May lead to Code-and-Fix
developmentdevelopment
2003 Mateusz Żochowski, Marcin Borzymek
Design-to-ScheduleDesign-to-Schedule
Prioritize featuresPrioritize features Unsure if final release will be Unsure if final release will be
reachedreached
Rapid Development, 1996
2003 Mateusz Żochowski, Marcin Borzymek
Design-to-Schedule Design-to-Schedule BenefitsBenefits
Ensure product release for a Ensure product release for a particular dateparticular date
Most important features completed Most important features completed firstfirst
2003 Mateusz Żochowski, Marcin Borzymek
Design-to-Schedule Design-to-Schedule DisadvantagesDisadvantages
Wasted effort specifying unfinished Wasted effort specifying unfinished stagesstages Could complete one or more stages if Could complete one or more stages if
time was not wasted specifying several time was not wasted specifying several unfinished stagesunfinished stages
2003 Mateusz Żochowski, Marcin Borzymek
Possible ApplicationsPossible Applications
Must have product by a specific dateMust have product by a specific date Unconfident in scheduling abilitiesUnconfident in scheduling abilities
2003 Mateusz Żochowski, Marcin Borzymek
Design-to-ToolsDesign-to-Tools
Include functionality only if directly Include functionality only if directly supported by existing software toolssupported by existing software tools
Rapid Development, 1996
2003 Mateusz Żochowski, Marcin Borzymek
Design-to-Tools BenefitsDesign-to-Tools Benefits
Maximum functionality vs. timeMaximum functionality vs. time Can be combined with other lifecycle Can be combined with other lifecycle
modelsmodels Initial spiralInitial spiral Throwaway prototypeThrowaway prototype Staged deliveryStaged delivery Evolutionary deliveryEvolutionary delivery Design-to-scheduleDesign-to-schedule
2003 Mateusz Żochowski, Marcin Borzymek
Design-to-Tools Design-to-Tools DisadvantagesDisadvantages
Less controlLess control Unable to implement all featuresUnable to implement all features Unable to implement features as Unable to implement features as
intendedintended Dependent on commercial software Dependent on commercial software
producersproducers
2003 Mateusz Żochowski, Marcin Borzymek
Possible ApplicationsPossible Applications
Exceptionally time-sensitive projectsExceptionally time-sensitive projects
2003 Mateusz Żochowski, Marcin Borzymek
Extreme ProgrammingExtreme Programming
2003 Mateusz Żochowski, Marcin Borzymek
User StoriesUser Stories
written by the customers as things written by the customers as things that the system needs to do for themthat the system needs to do for them
in the format of about three in the format of about three sentences of text in the customers sentences of text in the customers terminology without techno-syntaxterminology without techno-syntax
2003 Mateusz Żochowski, Marcin Borzymek
Release PlanRelease Plan
create iteration plans for each create iteration plans for each individual iteration.individual iteration.
estimate each user story in terms of estimate each user story in terms of ideal programming weeks ideal programming weeks
estimate user stories velocityestimate user stories velocity
2003 Mateusz Żochowski, Marcin Borzymek
Spike solutionsSpike solutions
is a very simple program to explore is a very simple program to explore potential solutionspotential solutions
figure out answers to tough figure out answers to tough technical or design problemstechnical or design problems
helps to estimate project velocityhelps to estimate project velocity
2003 Mateusz Żochowski, Marcin Borzymek
IterationIteration
During an iteration the user stories During an iteration the user stories selected during the iteration selected during the iteration planning meeting will beplanning meeting will be translated translated into acceptance tests.into acceptance tests.
2003 Mateusz Żochowski, Marcin Borzymek
Acceptance TestsAcceptance Tests
The customer specifies scenarios to The customer specifies scenarios to test when a user story has been test when a user story has been correctly implementedcorrectly implemented
No tests passed = no progressNo tests passed = no progress A user story is not considered A user story is not considered
complete until it has passed its complete until it has passed its acceptance testsacceptance tests
2003 Mateusz Żochowski, Marcin Borzymek
Small ReleasesSmall Releases
Small units of functionality can be Small units of functionality can be released into the customer's released into the customer's environment early in the project - environment early in the project - that gives valuable feedback that gives valuable feedback
2003 Mateusz Żochowski, Marcin Borzymek
Choosing An Appropriate Choosing An Appropriate LifecycleLifecycle
How well are requirements understoodHow well are requirements understood How well is system architecture How well is system architecture
understoodunderstood How much reliability is neededHow much reliability is needed How likely are future revisionsHow likely are future revisions How much riskHow much risk Need to make midcourse correctionsNeed to make midcourse corrections
2003 Mateusz Żochowski, Marcin Borzymek
Choosing An Appropriate Choosing An Appropriate Lifecycle (cont.)Lifecycle (cont.)
Need to provide visible progress to Need to provide visible progress to customerscustomers
Need to provide visible progress to Need to provide visible progress to managementmanagement
How sophisticated is the modelHow sophisticated is the model
2003 Mateusz Żochowski, Marcin Borzymek
Strengths & WeaknessesStrengths & Weaknesses
Rapid Development, 1996
2003 Mateusz Żochowski, Marcin Borzymek
Strengths & Weaknesses Strengths & Weaknesses (cont.)(cont.)
Rapid Development, 1996
2003 Mateusz Żochowski, Marcin Borzymek
Questions?Questions?