Академический Документы
Профессиональный Документы
Культура Документы
Software Development
Lifecycle (SDLC) Models
c
Agenda
À ×ntroduction
À Generic SDLC Components
À Target SDLCs
Sequential
×terative
Evolutionary
Agile
À Discussion of Each SDLC
Process Model (graphical)
Definition
Advantages and Disadvantages
Audience Experience
À Conclusion
×ntroduction
À Software development is a process
tracked by project managers, and
managed under various differing
models.
À The models affect largely development
effectiveness and product quality.
À SDLC ± Software Development
LifeCycle
À Types ± sequential, iterative,
evolutionary, and agile
G
Generic SDLC Components
À Requirements
À Plan
À Design
À Build
À Test
À Maintain
General SDLC Model
^
£
Generic SDLC Benefits
À Visibility
À Chunks o¶work
À Task identification
À Management framework
À Budget and resource management
À Encourage systematic evaluation of
risks, progress and options
À A common and shared vocabulary
À
Sequential
À Classic
À Most common
À Linear--sequential lifecycle model
Linear
À Examples ± Waterfall, Dotted
Dotted--U, V-
V-
Model
ü
Sequential Model
^
Definition
À Each phase must be completed in its
entirety before the next phase can
begin.
À At the end of each phase, a review
takes place to determine if the project
is on the right path, and whether or not
to continue or discard the project.
A
Advantages
À Most common
À Simple to understand and use
À Easy to manage due to rigidity ± each
phase has specific deliverables and a
review
À Phases are processed and completed
individually
À Works well for smaller projects, or
where requirements are well
understood
c
Disadvantages
À Adjusting scope during the lifecycle
can end a project
À No working software is produced until
late in the lifecycle
À High amounts of risk and uncertainty
À Poor model for complex or object-
object-
oriented projects
À Poor model for long or ongoing
projects, or where requirements are
likely to change
cc
×terative
×terative Model
^
cG
Definition
À Multiple development cycles take place,
making the model a ³multi-
³multi-waterfall´
lifecycle; RAD includes business, data.
process modeling.
À Cycles are divided up into smaller,
more easily managed iterations. Each
iteration passes through each of the
phases (Requirements thru Testing).
À Working software is produced in
×teration 1, and built upon during each
iteration thereafter.
c
Advantages
À Generates working software quickly
and early during the lifecycle
À More flexible ± less costly to change
the scope or requirements
À Easier to test and debug during a
smaller iteration
À Easier to manage risk - risks are
identified and resolved during an
iteration; and each iteration is an easily
managed milestone
c£
Disadvantages
c
Evolutionary
À Build and test working versions of
software to learn and acquire
information, and gradually evolving the
final design.
À Projects are defined in a limited sense
allowing a limited amount of work to
take place in each phase.
À A.k.a. Prototyping lifecycle model
À Examples ± Adaptive Software
Development (ASD), Spiral
cü
Evolutionary Model
^
^
â
ââ
âââ ââââ
c
Advantages
cA
Disadvantages
Agile
À Developed to address users' needs
based on requirements to develop
relevant business apps quicker and
cheaper.
À Approaches ± test
test--driven (TDD), model
model--
driven (MDD), use case-
case-driven (UCDD),
behavioral--driven (BDD), and feature-
behavioral feature-
driven (FDD)
À Examples ± eXtreme Programming
(XP), AUP
c
Agile Model (AMDD)
! "
^
c
á
Definition
À Focused on user involvement through
teams and workshops, with business
analysts and development .
À Agile apps are delivered incrementally.
À ×terations are small with short delivery
periods.
G
Advantages
À Small numbers of rules and best
practices that are easy to employ.
À Good model for early partial working
solutions, and in environments that
change steadily.
À Supports concurrent development and
delivery within an overall planned
context.
À Can be a tool to improve teamwork,
inspire and motivate, and cross-
cross-train.
Disadvantages
À Managed by
(strict delivery
management which dictates the scope,
functionality to be delivered, and
adjustments to meet the deadlines).
À Poor model if there is fire-
fire-fighting
addiction. poor communications, prima
donnas or donalds, or
micromanagement.
À Does not work without an overall plan,
an Agile leader, and Agile PM
practices.
£
Conclusion
À Agile models (including XP) deliver the
biggest and most comprehensive products.
À Sequential models take the longest, have the
most written documentation, and the fewest
graphical docs. This adds up to delays in
considerations of technology, risk, and team
progress.
À Suitability ± depends on people, processes,
and products