Software Development
Software Development
Software Development
Software Development
Software Development
Software Development
Software Development
Software Development
Life Cycle Models
Life Cycle Models
Life Cycle Models
Life Cycle Models
Life Cycle Models
Life Cycle Models
Life Cycle Models
Life Cycle Models
145 145 145 145
Questions
Questions toto askask::
◦◦
What
What is
is the
the problem?
problem?
◦◦
What
What is
is the
the solution?
solution?
◦◦
What
What are
are the
the best
best mechanisms
mechanisms to
to implement
implement the
the
solution?
solution?
◦◦
How
How is
is the
the solution
solution constructed?
constructed?
◦◦
Is
Is the
the problem
problem solved?
solved?
◦◦
Can
Can the
the customer
customer use
use the
the solution?
solution?
◦◦
How
How do
do we
we deal
deal with
with changes
changes that
that occur
occur during
during the
the
development?
Software
Software DevelopmentDevelopment LifeLife CycleCycle (SDLC)(SDLC)::
◦◦ SetSet ofof activitiesactivities andand theirtheir relationshipsrelationships toto eacheach otherother toto support
support thethe developmentdevelopment ofof aa softwaresoftware systemsystem
◦◦ AnAn SDLCSDLC modelmodel breaksbreaks downdown thethe developmentdevelopment processprocess intointo aa sequence
sequence ofof phasesphases oror stagesstages..
Software
Software DevelopmentDevelopment methodologymethodology::
◦◦ AA collectioncollection ofof techniquestechniques forfor buildingbuilding modelsmodels appliedapplied acrossacross the
the softwaresoftware lifelife cyclecycle
147 147
A
A framework
framework that
that describes
describes the
the activities
activities performed
performed
at
at each
each stage
stage of
of a
a software
software development
development project
project
It
It is
is divided
divided into
into
seven
seven phases
seven
seven
seven
seven
seven
seven
phases
phases
phases
phases
phases
phases
phases
Each
It
It provides
provides us
us with
with a
a structure
structure in
in which
which to
to work
work
It
It forces
forces us
us to
to think
think of
of the
the “big
“big picture”
picture” and
and follow
follow
steps
steps so
so that
that we
we reach
reach it
it without
without glaring
glaring deficiencies
deficiencies
Without
Without it
it you
you may
may make
make decisions
decisions that
that are
are individually
individually
on
on target
target but
but collectively
collectively misdirected
misdirected
It
It is
is a
a management
management tool
tool
149 149
Virtually
Virtually allall lifecycleslifecycles shareshare thesethese steps/stages/phasessteps/stages/phases:: ◦◦ RequirementsRequirements gatheringgathering
◦◦ PlanningPlanning
◦◦ AnalysisAnalysis
◦◦ DesignDesign
◦◦ ImplementationImplementation
◦◦ TestingTesting
◦◦ MaintenanceMaintenance
Key
Key questionquestion:: howhow dodo youyou combinecombine them,them, andand inin whatwhat order?
Project
Project planningplanning isis thethe artart ofof schedulingscheduling thethe necessarynecessary activities
activities,, inin time,time, spacespace andand acrossacross staffstaff inin orderorder toto optimise
optimise::
◦◦ projectproject riskrisk
◦◦ profitprofit
◦◦ customercustomer satisfactionsatisfaction
◦◦ workerworker satisfactionsatisfaction
◦◦ longlong--termterm companycompany goalsgoals
151 151
There
There are
are hundreds
hundreds of
of different
different SDLC
SDLC models
models::
◦◦ waterfallwaterfall ◦◦ IterativeIterative ◦◦ incrementalincremental ◦◦ spiralspiral
◦◦ RApidRApid PrototypingPrototyping ◦◦ UnifiedUnified ProcessProcess (UP)(UP)
In
In WaterfallWaterfall modelmodel,, thethe outcome
outcome ofof oneone phasephase actsacts asas the
the inputinput forfor thethe nextnext phasephase
sequentially sequentially
When
When toto useuse thethe WaterfallWaterfall Model
Model ??
◦◦ RequirementsRequirements areare veryvery wellwell known
known
◦◦ ProductProduct definitiondefinition isisstablestable
◦◦ TechnologyTechnology isisunderstoodunderstood
◦◦ NewNew versionversion ofof anan existingexisting product
product
◦◦ PortingPorting anan existingexisting productproduct toto a
a newnew platformplatform
153
Easy toto understandunderstand,, easyeasy toto useuse
Provides
Provides structurestructuretoto inexperiencedinexperienced staffstaff
Milestones
Milestones areare wellwell understoodunderstood
Sets
Setsrequirementsrequirements stabilitystability
Good
Good forformanagementmanagement controlcontrol (plan,(plan, staff,staff, track)track) Works
Works wellwell whenwhen qualityquality isis moremore importantimportant thanthan costcost oror schedule
All
All requirementsrequirements mustmust bebe knownknown upfrontupfront Deliverables
Deliverables createdcreated forfor eacheach phasephase areare consideredconsidered frozenfrozen –– inhibits
inhibits flexibilityflexibility Can
Can givegive aa falsefalse impressionimpression ofof progressprogress Does
Does notnot reflectreflect problemproblem--solvingsolving naturenature ofof softwaresoftware development
development –– iterationsiterations ofof phasesphases Integration
Integration isis oneone bigbig bangbang atat thethe endend Little
Little opportunityopportunity forfor customercustomer toto previewpreview thethe systemsystem (until(until it
it maymay bebe tootoo late)late)
155 155
An
An iterativeiterative SDLCSDLC modelmodel doesdoes notnot attemptattempt toto startstart withwith aa full
full specificationspecification ofof requirementsrequirements With
With anan iterativeiterative model,model, developmentdevelopment beginsbegins byby specifyingspecifying and
and implementingimplementing justjust partpart ofof thethe software,software, whichwhich cancan thenthen be
be reviewedreviewed inin orderorder toto identifyidentify furtherfurther requirementsrequirements This
This processprocess isis thenthen repeated,repeated, producingproducing aa newnew versionversion ofof the
the softwaresoftware forfor eacheach cyclecycle ofof thethe modelmodel
To
To useuse thethe iterativeiterative modelmodel::
◦◦ WhenWhen requirementsrequirements ofof thethe completecomplete systemsystem areare clearlyclearly defined
defined andand understoodunderstood..
◦◦ WhenWhen thethe projectproject isis bigbig..
◦◦ WhenWhen MajorMajor requirementsrequirements mustmust bebe defineddefined;; however,however, somesome details
details cancan evolveevolve withwith timetime..
157 157
In
In iterativeiterative modelmodel wewe areare buildingbuilding andand improvingimproving thethe productproduct step
step byby stepstep.. HenceHence wewe cancan tracktrack thethe defectsdefects atat earlyearly stages
stages.. ThisThis avoidsavoids thethe downwarddownward flowflow ofof thethe defectsdefects
In
In iterativeiterative modelmodel wewe cancan getget thethe reliablereliable useruser feedbackfeedback.. When
When presentingpresenting sketchessketches andand blueprintsblueprints ofof thethe productproduct toto users
users forfor theirtheir feedback,feedback, wewe areare effectivelyeffectively askingasking themthem toto imagine
imagine howhow thethe productproduct willwill workwork..
In
In iterativeiterative modelmodel lessless timetime isis spentspent onon documentingdocumenting andand more
Each
Each phasephase ofof anan iterationiteration isis rigidrigid withwith nono overlapsoverlaps
Costly
Costly systemsystem architecturearchitecture oror designdesign issuesissues maymay arisearise because
because notnot allall requirementsrequirements areare gatheredgathered upup frontfront forfor thethe entire
entire lifecyclelifecycle
159 159
In
In incrementalincremental modelmodel thethe wholewhole requirementrequirement isis divideddivided intointo various
various buildsbuilds.. MultipleMultiple developmentdevelopment cyclescycles taketake placeplace herehere Cycles
Cycles areare divideddivided upup intointo smaller,smaller, moremore easilyeasily managedmanaged modulesmodules In
In thisthis model,model, eacheach modulemodule passespasses throughthrough thethe requirements,requirements, design,
design, implementationimplementation andandtestingtestingphasesphases Final
Final productproduct builtbuilt asas separateseparate prototypesprototypes At
At thethe end,end, thethe prototypesprototypes areare mergedmerged intointo aa finalfinal designdesign Finished
Finished whenwhen satisfiessatisfies allall thethe requirementsrequirements
161 161
Requirements
Analysis Testing
Mainten-ance
Analysis Testing
Mainten-ance
Analysis Testing
Mainten-ance
….. Build 1
Build 2
Build 3
Build n
Plann-ing
Plann-ing
Plann-ing
Implemen-tation
Implemen-tation
Implemen-tation Design
Design
The
The incrementalincremental modelmodel cancan bebe usedused whenwhen thethe requirementsrequirements of
of thethe completecomplete systemsystem areare clearlyclearly defineddefined andand understoodunderstood.. Major
Major requirementsrequirements mustmust bebe defineddefined;; however,however, somesome detailsdetails can
can evolveevolve withwith timetime.. There
There isis aa needneed toto getget aa productproduct toto thethe marketmarket earlyearly.. A
A newnew technologytechnology isis beingbeing usedused Resources
Resources withwith neededneeded skillskill setset areare notnot availableavailable There
There areare somesome highhigh riskrisk featuresfeatures andand goalsgoals..
163 163
Generates
Generates workingworking softwaresoftware quickly
quickly andand earlyearly duringduring thethe software
software lifelife cyclecycle.. This
This modelmodel isis moremore flexibleflexible –– less
less costlycostly toto changechange scopescope and
and requirementsrequirements.. It
It isis easiereasier toto testtest andand debugdebug during
during aa smallersmaller iterationiteration.. In
In thisthis modelmodel customercustomer cancan
Advantages
Advantages DisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantages
Needs
Needs goodgood planningplanning andand design
design.. Needs
Needs aa clearclear andand completecomplete definition
definition ofof thethe wholewhole system
system beforebefore itit cancan bebe broken
broken downdown andand builtbuilt incrementally
Agile
Agile softwaresoftware developmentdevelopment isis aa conceptualconceptual frameworkframework forfor software
software engineeringengineering thatthat promotespromotes developmentdevelopment iterationsiterations throughout
throughout thethe lifelife--cyclecycle ofof thethe projectproject..
Software
Software developeddeveloped duringduring oneone unitunit ofof timetime isis referredreferred toto asas anan iteration,
iteration, whichwhich maymay lastlast fromfrom oneone toto fourfour weeksweeks..
Agile
Agile methodsmethods alsoalso emphasizeemphasize workingworking softwaresoftware asas thethe primaryprimary measure
measure ofof progressprogress
169 169
Light
Light WeightedWeighted methodologymethodology Small
Small toto mediummedium sizedsized teamsteams Changing
Changing requirementsrequirements Changing
Changing techniquestechniques Simple
Simple designdesign Minimal
171 171
Agile
Agile isis iterativeiterative:: itit worksworks byby breakingbreaking thethe projectproject downdown intointo littlelittle bitsbits of
of useruser functionalitiesfunctionalities calledcalled useruser storiesstories,, prioritizingprioritizing them,them, andand thenthen continuously
continuously deliveringdelivering themthem inin shortshort twotwo weekweek cyclescycles called
callediterationsiterations.. AnAn iterationiteration isis betweenbetween 11 weekweek andand 3030 daysdays
To
Product backlogbacklogbacklogbacklogbacklogbacklogbacklogbacklog
Agile
Agile isis anan incrementalincremental developmentdevelopment processprocess:: aa projectproject isis built
built incrementallyincrementally fromfrom thethe startstart ofof thethe project,project, insteadinstead ofof trying
173 173
You
You makemake aa listlist
◦◦ SittingSitting downdown withwith thethe customercustomer toto makemake aa listlist ofof features
features theythey wouldwould likelike toto seesee inin theirtheir web web--application
application.. WeWe callcall thesethese thingsthings useruser storiesstories andand they
they becomebecome thetheToTo DoDo listlist ofof thethe projectproject You
You sizesize thingsthings upup
◦◦ UUsingsing AgileAgile estimationestimation techniquestechniques,, youyou sizesize thethe stories
stories relatedrelated toto eacheach other,other, comingcoming upup withwith aa guessguess as
as toto howhow longlong youyou thinkthink eacheach useruser storystory willwill taketake
You
You setset somesome prioritiespriorities
◦◦ LikeLike mostmost lists,lists, therethere alwaysalways seemsseems toto bebe moremore toto dodo than
than timetime allowsallows.. SoSo youyou askask youryour customercustomer toto prioritize
prioritize theirtheir listlist soso youyou getget thethe mostmost importantimportant stuff
stuff donedone first,first, andand savesave thethe leastleast importantimportant forfor lastlast
You
You startstart executingexecuting
◦◦ ThenThen youyou startstart deliveringdelivering somesome valuevalue.. YouYou startstart atat the
the toptop.. WorkWork youryour wayway toto thethe bottombottom.. Building,Building, iterating,
iterating, andand gettinggetting feedbackfeedback fromfrom youryour customer
customer asas youyou gogo
You
You updateupdate thethe planplan asas youyou gogo
◦◦ AAss youyou andand youryour customercustomer startingstarting delivering,delivering, oneone of
of twotwo thingsthings isis goinggoing toto happenhappen.. You'llYou'll discoverdiscover:: 1.
1.You'reYou're goinggoing fastfast enoughenough.. AllAll isis goodgood.. Or,Or,
2.
2.YouYou havehave tootoo muchmuch toto dodo andand notnot enoughenough timetime..
175 175
Analysis,
Analysis, design,design, coding,coding, andand testing
testing areare continuouscontinuous activitiesactivities ◦◦ ThoseThose activitiesactivities continuecontinue forfor thethe durationduration
of
of thethe projectproject By
By doingdoing thosethose stepssteps continuouslycontinuously::
◦◦ QualityQuality improvesimproves becausebecause testingtesting startsstarts from
from dayday oneone
◦◦ RiskRisk isis reducedreduced becausebecause youyou areare gettinggetting feedback
feedback earlyearly
◦◦ CustomersCustomers areare happyhappy becausebecause theythey cancan make
make changeschanges withoutwithout payingpaying exorbitantexorbitant costs
costs
Planning
Planning isis adaptiveadaptive When
When realityreality disagreesdisagrees withwith their
their plans,plans, AgilistsAgilists findfind itit easier
easier toto changechange theirtheir plansplans than
than realityreality.. TheyThey callcall thisthis adaptive
adaptive planningplanning
Scope
Scope cancan varyvary
◦◦ ByBy fixingfixing time,time, budget,budget, andand quality,quality, andand beingbeing flexingflexing aroundaround scope,scope, AgileAgile team's
team's maintainmaintain thethe integrityintegrity ofof theirtheir plans,plans, workwork withinwithin theirtheir means,means, andand avoid
avoid thethe burnburn out,out, drama,drama, andand dysfunctiondysfunction traditionallytraditionally associatedassociated withwith our
Daily
Daily meetingsmeetings
◦◦ EachEach dayday atat thethe samesame time,time, thethe teamteam meetsmeets soso asas toto bringbring everyone
everyone upup toto datedate onon thethe informationinformation thatthat isis vitalvital forfor coordination
coordination:: eacheach teamteam membersmembers brieflybriefly describesdescribes anyany "completed"
"completed" contributionscontributions andand anyany obstaclesobstacles thatthat standstand inin their
their wayway
◦◦ ThisThis meetingmeeting isis normallynormally timeboxedtimeboxed toto aa maximummaximum durationduration of
of 1515 minutes,minutes, thoughthough thisthis maymay needneed adjustingadjusting forfor largerlarger teams
teams
177 177