IN3009 – Análisis y Diseño de Sistemas
Project Selection
Profesor: Juan Carlos Bueno Villanueva
Source: IN3009 -2 Alan Dennis, Barbara Haley Wixom, Roberta M. Roth - Systems Analysis and Design (2014, Wiley) – Chapter 2
Elaborado por: Juan Carlos Bueno Villanueva 2
Learning Objectives
• Explain how projects are selected in some organizations.
• Describe various approaches to the systems development life
cycle (SDLC) that can be used to structure a development
project.
• Explain how to select a project methodology based on project
characteristics.
3
Project Selection
HOW SPECIFIC PROJECTS
ARE CHOSEN
Elaborado por: Juan Carlos Bueno Villanueva 4
Project Selection Issues (1 of 2)
• Ways to Characterize Projects
• Size
• Cost
• Purpose
• Length
• Risk
• Scope
• Economic Value
Elaborado por: Juan Carlos Bueno Villanueva 5
Project Selection Issues (2 of 2)
• Approval committee
uses the system request
and the feasibility study
• Project portfolio perspective – how does the
project fit within the entire portfolio of projects?
• Trade-offs needed: select projects to form a
balanced project portfolio
• Viable projects may be rejected or deferred due to
project portfolio issues.
Elaborado por: Juan Carlos Bueno Villanueva 6
Applying the Concepts at DrōnTeq
• The IS project steering committee
evaluated the Client Services project
along with two other projects—one
that called for a new supply-chain
portal and another that involved the
enhancement of DrōnTeq’s data
warehouse.
• The budget would allow for only one project to be approved, so the
committee carefully examined the costs, expected benefits, risks, and
strategic alignment of all three projects.
• Currently, top executives are anxious to bring the client service capability
to market to expand drone and data analysis usage to new customers and
to provide more value to existing and potential drone pilots. The Client
Services project is an essential element of that goal. Therefore, the
committee decided to immediately initiate the Client Services project.
Elaborado por: Juan Carlos Bueno Villanueva 7
Project Methodology Options
• Methodology: A formalized approach to implementing
the SDLC
• A series of steps to perform and deliverables to produce
• Methodology Sources
• Internally developed by organizations
• Consulting firms
• Software vendors
• Government agencies
Elaborado por: Juan Carlos Bueno Villanueva 8
Project Methodology Options
• This list of project characteristics will affect the
methodology selection decision:
• Clarity of User Requirements
• Familiarity with Technology
• System Complexity
• System Reliability
• Short Time Schedules
• Schedule Visibility
Keep these factors in mind as you study the methodologies in the next slides.
Elaborado por: Juan Carlos Bueno Villanueva 9
Development Methodologies
• 1. Waterfall Development
• Parallel Variants
• V-model
• 2. RAD
• Iterative
• System Prototype
• Throwaway prototyping
• 3. Agile Development
• XP
• SCRUM
• DSDM
10
1. Waterfall Development
• Assumes a project phase is
complete before moving to
the next phase
• Emphasis on deliverables
from one phase flowing into
the next phase
• Goal – doing each phase
thoroughly before moving
forward ensures correct and
high-quality outcomes
Elaborado por: Juan Carlos Bueno Villanueva 11
Waterfall Methodologies Assessment
STRENGTHS WEAKNESSES
• Requirements are identified long • Must wait a long time before there
is “visible” evidence of the new
before programming begins system
• Requirement changes are • Takes a long time from start to
limited as the project progresses finish
• If the Project team misses an
important requirement, expensive
post-implementation programming
may be needed
• Users may forget the original
purpose of the system, since so
much time has elapsed between
the original idea and actual
implementation
Elaborado por: Juan Carlos Bueno Villanueva 12
Variant 1: Parallel Development
• Evolved to address the
lengthy time frame of
waterfall development
• Subdivide the project into
subprojects that can be
worked on at the same
time.
• Reduce the overall project
length.
• Once all subprojects are
complete, there is a final
integration of the separate
pieces, and the system is
delivered
Elaborado por: Juan Carlos Bueno Villanueva 13
Parallel Methodology Assessment
STRENGTHS WEAKNESSES
• Reduces the time required to • If the subprojects are not
deliver a system completely independent, design
decisions in one subproject may
• With shorter time frame, changes
affect another
in the business environment are
less likely to produce the need for • Integrating subprojects at the end
rework. can be complex and difficult
Elaborado por: Juan Carlos Bueno Villanueva 14
Variant 2: V-Model Development
It pays more explicit attention to testing.
A key concept of
this model is that
as requirements
are specified and
components
designed, testing
for those elements
is also defined
Elaborado por: Juan Carlos Bueno Villanueva 15
V-Model Methodology Assessment
STRENGTHS WEAKNESSES
• Simple and straightforward • Rigid
• Quality improves through the • Difficult to use in a dynamic
emphasis on testing business environment
• Including Quality Assurance
expertise early in the project
strengthens system quality
Elaborado por: Juan Carlos Bueno Villanueva 16
2. Rapid Application Development
• It is a collection of methodologies that emerged in
response to the weaknesses of waterfall development and
its variations
• Incorporates special techniques and tools
• Computer-aided software engineering(CASE) tools
• Joint application development(JAD) sessions
• Visual programming languages
• Code generators
• Goal – get some portion of system developed quickly and
into the users’ hands
Elaborado por: Juan Carlos Bueno Villanueva 17
Three RAD Approaches
• Iterative development
• A series of versions developed sequentially
• System Prototyping
• Create prototype (model) of system and “grow” it into the
final system
• Throw-away prototyping
• Prototype alternative designs in an experimental way
• Build system following prototype design but discard the
actual prototype
Elaborado por: Juan Carlos Bueno Villanueva 18
Iterative Development Methodology
• Breaks the overall
project into a
series of versions
that are developed
sequentially
Elaborado por: Juan Carlos Bueno Villanueva 19
Iterative Development Methodology
Assessment
STRENGTHS WEAKNESSES
• Users get a preliminary version of • The chief disadvantage of iterative
the system quickly development is that users begin to
work with a system that is
• Since users are working with the
intentionally incomplete.
system, important additional
requirements may be identified • Users must accept that only the
and incorporated into subsequent most critical requirements of the
versions system will be available in the
early versions
• Users must be patient with the
repeated introduction of new
system versions.
Elaborado por: Juan Carlos Bueno Villanueva 20
System Prototyping Development
Methodology
• Create a
rough version
of system
quickly and
“grow” it into
final system
with
repetitive
refinement
Elaborado por: Juan Carlos Bueno Villanueva 21
System Prototyping Methodology Assessment
STRENGTHS WEAKNESSES
• Users get to work with prototype • Lack of careful, methodical analysis
very quickly before making designs and
implementation decisions.
• It is especially useful when users
have difficulty in expressing • System prototypes may have some
requirements for the system. fundamental design limitations
that are a direct result of an
inadequate understanding of the
system’s true requirements early in
the project.
Elaborado por: Juan Carlos Bueno Villanueva 22
Throwaway Prototyping Development
Methodology
• It includes the development of prototypes but uses the prototypes
primarily to explore design alternatives rather than as the actual new
system (as in system prototyping). Design options are thrown-away,
but learning from them is factored into final design
Elaborado por: Juan Carlos Bueno Villanueva 23
Throwaway Prototyping Methodology
Assessment
STRENGTHS WEAKNESSES
• Uncertainty is minimized • May take longer (compared to
system prototyping), (because the
• It balances the benefits of well-
prototypes do not become the
thought- out analysis and design
final system)
phases with the advantages of
using prototypes to refine key
issues before a system is built.
Elaborado por: Juan Carlos Bueno Villanueva 24
3. Agile Development Methodology
• A project emphasizes simple, iterative application development
in which every iteration is a complete software project, including
planning, requirements analysis, design, coding, testing, and
documentation.
• Cycles are kept short
(1 -4 weeks)
Elaborado por: Juan Carlos Bueno Villanueva 25
3. Agile Development Methodology
• Extreme programming (XP), Scrum, dynamic systems
development method (DSDM)
• Cycles are kept short
(1 -4 weeks)
Elaborado por: Juan Carlos Bueno Villanueva 26
3. Agile Development Methodology
• Example: Extreme programming (XP)
• XP emphasizes customer satisfaction and teamwork. Communication, simplicity,
feedback, and courage are core values.
• Developers communicate with customers and fellow programmers.
• Designs are kept simple and clean. Early and frequent testing provides feedback, and
developers can courageously respond to changing requirements and technology.
• Project teams are kept small.
• begins with user stories that describe what the system needs to do. Then,
programmers code in small, simple modules and test to meet those needs. Users are
required to be available to clear up questions and issues as they arise.
Elaborado por: Juan Carlos Bueno Villanueva 27
Agile Methodologies Assessment
STRENGTHS WEAKNESSES
• Fast delivery of results • Requires discipline
• Works well in projects with • Significant user involvement
undefined or changing is essential
requirements • Initial high learning curve
• Works best in smaller
projects
Elaborado por: Juan Carlos Bueno Villanueva 28
Criteria for selecting a methodology
Usefulness in Waterfall Parallel V-Model Iterative System Throwaway Agile
Developing Proto- Prototyping Development
Systems typing
With unclear user Poor Poor Poor Good Excellent Excellent Excellent
requirements
With unfamiliar Poor Poor Poor Good Poor Excellent Poor
technology
That are complex Good Good Good Good Poor Excellent Poor
That are reliable Good Good Excellent Good Poor Excellent Good
With a short time Poor Good Poor Excellent Excellent Good Excellent
schedule
With schedule Poor Poor Poor Excellent Excellent Good Good
visibility
Elaborado por: Juan Carlos Bueno Villanueva 29
Now we can:
• Explain how projects are selected in some organizations.
• Describe various approaches to the systems
development life cycle (SDLC) that can be used to
structure a development project.
• Explain how to select a project methodology based on
project characteristics.
Elaborado por: Juan Carlos Bueno Villanueva 30