3/1/2005 By Masoud Kalali 1 Software Software Development Development Life cycles Life cycles Overview Overview By Masoud Kalali By Masoud Kalali March/2005 March/2005 http://kalali.me http://kalali.me
Oct 20, 2014
3/1/2005 By Masoud Kalali 1
Software Software Development Development
Life cycles Life cycles OverviewOverview
By Masoud KalaliBy Masoud Kalali March/2005March/2005
http://kalali.mehttp://kalali.me
3/1/2005 2By Masoud Kalali
Presentation GoalPresentation Goal
A brief in common Software A brief in common Software development models development models
and a look at life cycle model in RUP in and a look at life cycle model in RUP in more more
detail.detail.
Have a better understanding of RUP
3/1/2005 3By Masoud Kalali
Presentation AgendaPresentation Agenda Part IPart I
Basics and ExplanationsBasics and Explanations Terms and definitionsTerms and definitions Well known Life Cycle modelsWell known Life Cycle models
WaterfallWaterfall SpiralSpiral IterativeIterative XPXP
Part IIPart II RUP as a SDP Life Cycle ModelRUP as a SDP Life Cycle Model
Phases and MilestonesPhases and Milestones RUP and System EvolutionRUP and System Evolution
EUP (Explanation)EUP (Explanation)
3/1/2005 4By Masoud Kalali
Part IPart I
Terms and definitionsTerms and definitions Software Development modelsSoftware Development models
3/1/2005 5By Masoud Kalali
Terms and ExplanationsTerms and Explanations Life CycleLife Cycle
A complete Pass through the phases.A complete Pass through the phases. Time from beginning the software Time from beginning the software
developing to end of releasing.developing to end of releasing. Whole time which software or related Whole time which software or related
documents in under work in development documents in under work in development OrganizationOrganization
PhasePhase Time between two major project milestone.Time between two major project milestone. Time which you decide to move the project Time which you decide to move the project
to new State in its Life Cycle.to new State in its Life Cycle.
3/1/2005 6By Masoud Kalali
Terms and ExplanationsTerms and Explanations IterationIteration
distinct sequence of activities.distinct sequence of activities. Have base-lined plan and valuation criteria.Have base-lined plan and valuation criteria. Resulting in a release.Resulting in a release.
MilestoneMilestone An end point for an iterationAn end point for an iteration Corresponds to release pointCorresponds to release point
Artifacts (Deliverable):Artifacts (Deliverable): Stakeholders use Artifacts to do activitiesStakeholders use Artifacts to do activities Stakeholders do activities to produce Stakeholders do activities to produce
artifactsartifacts Artifacts are responsibility of a role – worker Artifacts are responsibility of a role – worker
(s)(s)
3/1/2005 7By Masoud Kalali
Software Development Software Development ModelsModels
Waterfall model *Waterfall model * Spiral model *Spiral model * Iterative model *Iterative model * XP model *XP model * Prototyping modelPrototyping model Component assembly modelComponent assembly model Concurrent development modelConcurrent development model Formal methods modelFormal methods model
* Will be reviewed briefly Today
3/1/2005 8By Masoud Kalali
Waterfall Development Characteristics Delays confirmation of
critical risk resolution Measures progress by
assessing work-products that are poor predictors of time-to-completion
Precludes early deployment
Frequently results in major unplanned iterations
Waterfall Process
Code and unit test
Design
Subsystem integration
System test
Requirements analysis
3/1/2005 9By Masoud Kalali
Waterfall pros and consWaterfall pros and cons
Pros Results in thoroughly debugged, robust
stable system Cons
Has no guideline for applying changes which occur during software development
The process is very rigid. Late discovery of problems or changes to
requirements leads to a costly roll back through the steps already completed
Produces large amounts of documentation, which should be unnecessary in a lightweight smart space project
Delays and aggregates integration and testing
3/1/2005 10By Masoud Kalali
Spiral Development Spiral Development CharacteristicsCharacteristics
CustomerEvaluation
Construction& Release
Engineering
RiskAnalysisPlanning
CustomerCommunication
Customer communication: Establish effective communicationPlanning: Define resources, timelines etc.Risk analysis: Assess technical and management risksConstruction & release: construct, test, install, provide user supportCustomer evaluation: obtain feedbackCouples iterative nature of prototyping with controlled and
systematic aspect of the linear sequential modelEarly iterations may be paper models or prototypesCan be used throughout the life of the productReduces risk if properly applied
3/1/2005 11By Masoud Kalali
Spiral Pros and ConsSpiral Pros and Cons Pros
Very thorough Eventually leads to stable code
Cons With every iteration, the cost and time
increase Leads to large volumes of documentation Resulting systems are meant to be
persistent and upgradeable, which is not a key factor in smart spaces
3/1/2005 12By Masoud Kalali
Iterative Iterative ((Incremental)Incremental) Development Development CharacteristicsCharacteristics
Resolves major risks before making large Resolves major risks before making large investments investments
Enables early user feedback Enables early user feedback Makes testing and integration continuous Makes testing and integration continuous Focuses project short-term objective milestones Focuses project short-term objective milestones Makes possible deployment of partial Makes possible deployment of partial
implementationsimplementations
T I M E
Iteration 1 Iteration 2 Iteration 3
IC
DR
TI
CD
R
TI
CD
R
T
3/1/2005 13By Masoud Kalali
Iterative developmentIterative development ProsPros
Risks are mitigated earlier.Risks are mitigated earlier. Integration risksIntegration risks Architectural risksArchitectural risks
Change is more manageable.Change is more manageable. There is a higher level of reuse.There is a higher level of reuse. The project team can learn along the way.The project team can learn along the way. The product has better overall quality.The product has better overall quality.
ConsCons Existing software management project thinking Existing software management project thinking
and liking is with the waterfall model of and liking is with the waterfall model of development .development .
Continual changes tends to corrupt system Continual changes tends to corrupt system structures, so long term software maintenance is structures, so long term software maintenance is difficult.difficult.
Need tighter managementNeed tighter management
3/1/2005 14By Masoud Kalali
XP development modelXP development modelXP PrinciplesXP Principles
Rapid feedbackRapid feedback Assume Assume
simplicitysimplicity Incremental Incremental
changechange Embrace Embrace
ChangeChange Quality WorkQuality Work
Some XP Practices Tests Refactoring Pair programming Small releases Simple design Continuous integration 40-hour weekanalysis
testcode design
The XP Cycle (In brief )
3/1/2005 15By Masoud Kalali
XP Development modelXP Development model
Pros Very fast Low cost Results in lightweight, disposable solutions No need for masses of documentation since
the two programmers are in constant verbal communication anyway
Cons Not suitable for developing large Scale
systems. Potential for bugs down the line if the initial
test has not been properly designed
3/1/2005 16By Masoud Kalali
RUPRUP The processThe process in one pagein one pageCore Workflows
Supporting Workflows
Project ManagementEnvironment
Business Modeling
ImplementationTest & Assessment
Analysis & Design
Deployment
Configure. & Change Mgmt
Requirements
Preliminary Iteration(s)
Iter.#1
Phases
Iterations
Iter.#2
Iter.#n
Iter.#n+1
Iter.#n+2
Iter.#m
Iter.#m+1
Elaboration TransitionInception Construction
Time : Dynamic Aspect
Static Aspect
Our Today focus
3/1/2005 17By Masoud Kalali
RUP Life Cycle in briefRUP Life Cycle in brief The dynamic structure deals with the Life The dynamic structure deals with the Life
Cycle or time dimension of a project Cycle or time dimension of a project Shows cycles which contains 4 phasesShows cycles which contains 4 phases
InceptionInception closed with Milestone : closed with Milestone : Life Cycle Life Cycle ObjectiveObjective
ElaborationElaboration closed with Milestone: closed with Milestone: Life Cycle Life Cycle ArchitectureArchitecture
ConstructionConstruction closed with Milestone: closed with Milestone: Initial Initial Operational CapabilityOperational Capability
TransitionTransition closed with Milestone : closed with Milestone : Product ReleaseProduct ReleaseTransition
Construction
Elaboration
Inception
10%65%20%5%Effort
10%50%30%10%Time
Below table shows how project time and effort is divided between phases
3/1/2005 18By Masoud Kalali
Inception phaseInception phaseObjective: Understand what to build.
A vision document:A vision document: Optional business modelOptional business model An initial project glossaryAn initial project glossary
Identify key system functionality. A initial use-case model (10% -20%) complete.A initial use-case model (10% -20%) complete.
Determine at least one possible solution. One or several prototypes.One or several prototypes.
Understand the costs, schedule, and risks associated with the project.
An initial risk assessment.An initial risk assessment. Business caseBusiness case
Decide what process to follow and what tools to use. A project planA project plan
Inception is the first of four RUP phase its all about getting familiar with Project goal and Scope .this phase help you determine the project feasibility , what customer want and how will you get into more resource consumable phase.
3/1/2005 19By Masoud Kalali
Milestone:Milestone: cost/schedule estimates. Requirements understanding. Credibility of the cost/schedule estimates, priorities, risks, and
development process. Depth and breadth of any architectural prototype. Actual expenditures versus planned expenditures.
Life Cycle Objectives Life Cycle Objectives Milestone Milestone
Its first project Milestone which help to abort project or reconsider it early And let us not to focus on a doomed to fail project.
time
Inception Elaboration Construction Transition
First Major First Major MilestoneMilestone
3/1/2005 20By Masoud Kalali
Artifacts of Inception phaseArtifacts of Inception phase IIn order of importancen order of importance
Vision documentsVision documents Business CaseBusiness Case Risk ListRisk List Software Development PlanSoftware Development Plan Iteration PlanIteration Plan Development Process Development Process Development Infrastructure Development Infrastructure GlossaryGlossary Use-Case Model (Actors, Use Cases)Use-Case Model (Actors, Use Cases) Prototypes (Prototypes (OptionalOptional))
3/1/2005 21By Masoud Kalali
Elaboration phaseElaboration phase Deeper Requirement Deeper Requirement
understanding understanding At least 80% complete use-case
model Supplementary requirements
capturing non functional requirements None Use case requirement
Architect consideration.Architect consideration. A Software Architecture
Description. An executable architectural
prototype.
Risk mitigation and Accurate Risk mitigation and Accurate Cost/ScapulaeCost/Scapulae
A revised risk list and a revised business case.
Development Case refinementDevelopment Case refinement A development plan for the
overall project coarse-grained project plan
showing iterations evaluation criteria for each
iteration.
Objectives:
Elaboration is the second of the four phases in the RUP approach. The goal of the Elaboration phase is to define and baseline the architecture of the system in order to provide a stable basis for the bulk of the design and implementation effort in the Construction phase. The architecture evolves out of a consideration of the most significant requirements (those that have a great impact on the architecture of the system) and an assessment of risks.
3/1/2005 22By Masoud Kalali
Milestone : Life Cycle Architecture
Is vision Stable?Is vision Stable? Is architecture stable?Is architecture stable? Does executable show true risk management?Does executable show true risk management? Is next phase (Construction) plane is accurate?Is next phase (Construction) plane is accurate? Does current vision could be achieved?Does current vision could be achieved? Is the actual resource expenditure versus planned
expenditure acceptable?
This milestone tell help to determine if project plane, vision , architectureAre enough good to achieve project goals? If not Abort the project or reconsider it very seriously
time
Inception Elaboration Construction Transition
Major Major MilestonesMilestones
3/1/2005 23By Masoud Kalali
Artifact of Elaboration Artifact of Elaboration phasephase
IIn order of importancen order of importance PrototypesPrototypes Risk ListRisk List Development ProcessDevelopment Process Development Development
InfrastructureInfrastructure Software Architecture Software Architecture
DocumentDocument Design Model (and all Design Model (and all
constituent artifacts)constituent artifacts) Data ModelData Model Implementation ModelImplementation Model
Software Development Software Development PlanPlan
Iteration PlanIteration Plan Use-Case Model Use-Case Model
(Actors, Use Cases)(Actors, Use Cases) Supplementary Supplementary
SpecificationsSpecifications Optional ArtifactsOptional Artifacts
Business CaseBusiness Case Analysis ModelAnalysis Model
3/1/2005 24By Masoud Kalali
Construction Phase Construction Phase
Minimize development costs and achieve some degree of parallelism
Iteratively develop a complete product that is ready to transition to its user community
The software product integrated on the adequate platforms.
The user manuals. A description of the current release.
Construction is really about cost-efficient development of a complete product—an operational version of your system—that can be deployed in the user community
Objectives:
3/1/2005 25By Masoud Kalali
Milestone : Initial Operational Capability
Is this product release stable and mature enough to Is this product release stable and mature enough to be deployed in the user community?be deployed in the user community?
Are all the stakeholders ready for the transition into Are all the stakeholders ready for the transition into the user community?the user community?
Are actual resource expenditures versus planned Are actual resource expenditures versus planned expenditures still acceptable?expenditures still acceptable?
time
Inception Elaboration Construction Transition
Major Major MilestonesMilestones
The Construction phase ends with an important project milestone, the Initial Operational Capability Milestone, which is used to determine whether the product is ready to be deployed into a beta test environment by answering (among others) the following questions
3/1/2005 26By Masoud Kalali
Artifacts of Construction Artifacts of Construction phasephase
IIn order of importancen order of importance "The System“"The System“ Implementation ModelImplementation Model Iteration PlanIteration Plan Design Model Design Model Development ProcessDevelopment Process Development Infrastructure Development Infrastructure Data ModelData Model Optional ArtifactsOptional Artifacts
Supplementary SpecificationsSupplementary Specifications Use-Case Model (Actors, Use Cases)Use-Case Model (Actors, Use Cases)
3/1/2005 27By Masoud Kalali
Transition Phase
“beta testing” to validate the new system against user expectations
parallel operation with a legacy system that it is replacing
conversion of operational databases training of users and maintainers roll-out the product to the marketing, distribution,
and sales teams Improve future project performance through lessons
learned
The purpose of the transition phase is to transition the software product to the user community. Once the product has been given to the end user, issues usually arise that require you to develop new releases, correct some problems, or finish the features that were postponed.
Objectives:
3/1/2005 28By Masoud Kalali
Milestone: Product Release
Is the user satisfied? Are the actual resources expenditures
versus planned expenditures still acceptable?
Transition ends with the fourth major project milestone, the Product Release Milestone, to determine whether the objectives were met and if you should start another development cycle. (Several development cycles may have been already planned during Inception.) In some cases this milestone may coincide with the end of the Inception phase for the next cycle
time
Inception Elaboration Construction Transition
Major Major MilestonesMilestones
3/1/2005 29By Masoud Kalali
Artifacts of Transition Artifacts of Transition phasephase
IIn order of importancen order of importance
Implementation ElementsImplementation Elements The implementation is complete and base The implementation is complete and base
lined, and the deployable elements have lined, and the deployable elements have been incorporated in the final productbeen incorporated in the final product
Shrink-wrap Product Packaging Shrink-wrap Product Packaging (Optional(Optional ))
In the case of creating a shrink-wrap In the case of creating a shrink-wrap product, the contractor will need the product, the contractor will need the necessary packaging artifacts to help retail necessary packaging artifacts to help retail the product.the product.
3/1/2005 30By Masoud Kalali
Dynamic Elements Phases and Dynamic Elements Phases and Milestones , a ReviewMilestones , a Review
time
Inception
Define scope of project
Life Cycle Objectives
…
Elaboration
Plan project, specify features, baseline architecture
Life Cycle Architecture
…
Initial Operational Capability
Construction
Build product
…
Major Milestone
s
Transition
Transition product to end user community
…
Product Release
3/1/2005 31By Masoud Kalali
System EvolutionSystem Evolution
Four phases form one Four phases form one development cycledevelopment cycle and produce a and produce a generationgeneration of the system of the system
Significant user enhancement, business or mission Significant user enhancement, business or mission changes, or technology changes trigger a new changes, or technology changes trigger a new generationgeneration
the the inceptioninception and and elaborationelaboration phases would be phases would be considerably considerably smallersmaller V1
V3
I E C T
I E C T
I E C T
V2Initial ProjectCycle
Evolution Cycles
RUP is So flexible , you finish the project and deliver it’s final operational version.But after a while you or your customer find some new requirement that will be better to add to project in this condition evolution cycles start .In each evolution you made some new feature or enhance some already available feature and announce a new version. its the evolutionary aspect or software generation
3/1/2005 32By Masoud Kalali
EUP (RUP evolution)EUP (RUP evolution)Additional phasesAdditional phases
Production PhaseProduction Phase Ensure that the system is available to end Ensure that the system is available to end
users. users. Modify the system to address minor defects. Modify the system to address minor defects. Support users in using the system. Support users in using the system. Manage defect reports and enhancement Manage defect reports and enhancement
requests. requests.
Retirement PhaseRetirement Phase Complete the removal of the system. Complete the removal of the system. Ensure minimal interruption to users. Ensure minimal interruption to users. Ensure minimal impact to business Ensure minimal impact to business
operations. operations.
3/1/2005 33By Masoud Kalali
ReferencesReferences The Rational Unified Process An Introduction, Second Edition Philippe The Rational Unified Process An Introduction, Second Edition Philippe
Kruchten , Publisher: Addison Wesley Kruchten , Publisher: Addison Wesley Rational Unified Process Best Practices for Software Development Rational Unified Process Best Practices for Software Development
Teams Rational Software White Paper TP026B, Rev 11/01Teams Rational Software White Paper TP026B, Rev 11/01 MSF Process Model v. 3.1 , Microsoft June 2002 Software Development for Small Teams: A RUP-Centric Approach By
Gary Pollice, Liz Augustine, Chris Lowe, Jas Madhur .Publisher : Addison Wesley
The Rational Unified Process Made Easy: A Practitioner's Guide to the RUP, By Per Kroll, Philippe Kruchten. Publisher : Addison Wesley
The Rational Unified Process An Introduction, Second Edition Philippe The Rational Unified Process An Introduction, Second Edition Philippe Kruchten. Publisher: Addison Wesley Kruchten. Publisher: Addison Wesley
From Waterfall to Iterative Life Cycle – A tough transition for project From Waterfall to Iterative Life Cycle – A tough transition for project managersmanagers
P. Krutchen, Architectural Blueprints - The "4+1" View Model of P. Krutchen, Architectural Blueprints - The "4+1" View Model of Software Software
Architecture, Architecture, www.rational.comwww.rational.com RUP 2005 product documentation.RUP 2005 product documentation. Extreme methodologyExtreme methodology
3/1/2005 34By Masoud Kalali
Thank youThank you
Thank you for your attentions.Thank you for your attentions.
All your suggestion and comment are All your suggestion and comment are welcome.welcome.
You can contact me via :You can contact me via :
[email protected]@gmail.com
Masoud Kalalihttp://weblogs.java.net/blog/kalali/
March 2005