Systems Analysis and Design in A Changing World, 7th Edition - Chapter 10 ©2016. Cengage Learning. All Rights Reserved. 1

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 46
At a glance
Powered by AI
The chapter discusses predictive and adaptive approaches to system development life cycles, as well as agile methodologies like Scrum, Extreme Programming, and the Unified Process.

The two general approaches to the system development life cycle are the predictive approach, also known as the waterfall model, and the adaptive approach, which uses iteration.

Agile development methodologies discussed in the chapter include Scrum, Extreme Programming (XP), and the Unified Process.

Chapter 10

Systems Analysis and Design in a Changing World, 7th Edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 1
Approaches to System Development

Chapter 10

Systems Analysis and Design in a Changing World 6th Ed


Satzinger, Jackson & Burd

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 2
Chapter 10: Outline
The System Development Life Cycle
Methodologies, Models, Tools, and Techniques
Agile Development
The Unified Process, Extreme Programming, and
Scrum

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 3
Learning Objectives
Compare the underlying assumptions and uses of a
predictive and an adaptive system development life
cycle (SDLC)
Explain what makes up a system development
methodology—the SDLC as well as models, tools, and
techniques
Describe the key features of Agile development
Understand and describe the key features of the
Unified Process, Extreme Programming, and Scrum
Agile system development methodologies

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 4
Overview
Chapter 1 demonstrated a system development project that used
an iterative and agile system development life cycle (SDLC)
Later chapters focused on Systems Analysis activities and tasks
and some System Design activities and tasks
Now we return to look at the SDLC and related concepts in more
detail
Predictive versus Adaptive SDLC variations
Activities and Tasks of System Support
Models, Methodologies, Tools and Techniques
Agile Development
Specific SDLC Approaches
Unified Process (UP)
Extreme Programming (XP)
Scrum

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 5
The System Development Life Cycle
(SDLC) (1 of 2)
There are two general approaches to the SDLC
Predictive Approach to the SDLC
Waterfall model
Assumes the project can be planned in advance and that the
information system can be developed according to the plan
Requirements are well understood and/or low technical risk
Adaptive Approach to the SDLC
Iterative model (as see in this text)
Assumes the project must be more flexible and adapt to changing
needs as the project progresses
Requirements and needs are uncertain and/or high technical risk

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 6
The System Development Life Cycle
(SDLC) (2 of 2)
Most projects fall on a continuum between Predictive and
Adaptive

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 7
Traditional Predictive SDLC

Earlier approach based on engineering


Typically have sequential Phases
Phases are related groups of development
activities, such as planning, analysis, design,
implementation, and deployment
Waterfall model
SDLC that assumes phases can be completed
sequentially with no overlap or iteration
Once one phase is completed, you fall over the
waterfall to the next phase, no going back

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 8
Tradition IS Development Phases

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 9
Waterfall Predictive SDLC

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 10
Modified Waterfall with Overlapping Phases

More flexibility, but still assumes predictive planning


and sequential phases

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 11
Newer Adaptive SDLC

Emerged in response to increasingly complex


requirements and uncertain technological
environments
Always includes iterations where some of design and
implementation is done from the beginning
Many developers claim it is the only way to develop
information systems
Many IS managers are still sceptical due to apparent
lack of overall plan

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 12
Adaptive Approaches

Incremental development
Completes portions of the system in small
increments and integrated as the project
progresses
Sometimes considered “growing” a system
Walking Skeleton
The complete system structure is built first, but
with bare-bones functionality

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 13
A Generic Adaptive Approach

Six Core Processes go across iterations


Multiple Iterations as required

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 14
Methodologies, Models, Tools, and
Techniques (1 of 6)
Methodologies
Provides guidelines for every facet of system development:
What to do when, why and how
Specifies an SDLC with activities and tasks
Specifies project planning and project management models
and reporting
Specifies analysis and design models to create
Specifies implementation and testing techniques
Specifies deployment and support techniques
Other term used is System Development Process

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 15
Methodologies
A Methodology includes a collection of techniques
that are used to complete activities and tasks,
including modeling, for every aspect of the project

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 16
Methodologies, Models, Tools, and
Techniques (2 of 6)
Model
An abstraction of an important aspect of the real world.
Makes it possible to understand a complex concept by
focusing only on a relevant part
Each model shows a different aspect of the concept
Crucial for communicating project information
In IS, some models are of system components that will
be developed
Other models are used to manage the development
process

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 17
Methodologies, Models, Tools, and
Techniques (3 of 6)
Some models of system components
Use case diagram
Domain model class diagram
Design class diagram
Sequence diagram
Package diagram
Screen design template
Dialog design storyboard
Entity-relationship diagram (E RD)
Database schema
Some models used to manage the development process
Gantt chart
Organizational hierarchy chart
Financial analysis models—N PV, payback period
System development life-cycle model
Stakeholders list
Iteration plan

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 18
Methodologies, Models, Tools, and
Techniques (4 of 6)
Tools
Software applications that assists developers in
creating models or other components required for
a project
Integrated Development Environment (IDE)
set of tools that work together to provide a
comprehensive development environment
Visual Modeling Tools
Tools to create graphical models

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 19
Methodologies, Models, Tools, and
Techniques (5 of 6)
Some typical tools
Project management application
Drawing/graphics application
Word processor/text editor
Visual modeling tool
Integrated development environment (IDE)
Database management application
Reverse-engineering tool
Code generator tool

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 20
Methodologies, Models, Tools, and Techniques (6 of 6)
Technique
A collection of guidelines that help an analyst complete an activity or task
Learning techniques is the key to having expertise in a field
Strategic planning techniques
Project management techniques
User-interviewing techniques
Data-modeling techniques
Relational database design techniques
Structured programming techniques
Software-testing techniques
Process modeling techniques
Domain modeling techniques
Use case modeling techniques
Object-oriented programming techniques
Architectural design techniques
User-interface design techniques

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 21
Agile Development (1 of 2)

A guiding philosophy and set of guidelines for


developing information systems in an unknown,
rapidly changing environment
Chaordic
A term for adaptive projects – chaotic yet ordered

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 22
Agile Development (2 of 2)

Agile Values in “Manifesto for Agile Software


Development”
Value responding to change over following a plan
Value individuals and interactions over processes
and tools
Value working software over comprehensive
documentation
Value customer collaboration over contract
negotiation

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 23
Agile Modeling Principles

Agile Modeling (AM) – 12 Principles


A philosophy – build only necessary models that are useful
and at the right level of detail

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 24
Agile Principles (1 of 3)

Develop software as the primary goal


Don’t get distracted by documentation or models
Enable the next effort as your secondary goal
Be aware of next step versions or revisions
Minimize your modeling activity
Only build what helps move the project forward
Embrace change and change incrementally
Take small steps that keep you on-track and that
can be reversed if necessary

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 25
Agile Principles (2 of 3)

Model with a purpose


Model to understand
Model to communicate
Build multiple models
Look at problems from different perspectives
Build high-quality models and get feedback
Focus on content rather than representation
Informal hand-drawn models are sometimes okay
Always focus on stakeholder needs

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 26
Agile Principles (3 of 3)

Learn from each other with open communication


Know your models and how to use them
Adapt to specific project needs
Maximize stakeholder RMI

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 27
The Unified Process (UP)
The UP was the early leader in adaptive approaches
UP and UML (Unified Modeling Language) were
developed together

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 28
The Unified Process (UP) – Phases
UP Phases organize iterations into four primary
areas of focus during a project
Inception phase – getting the project started
Elaboration – understanding the system
requirements
Construction – building the system
Transitions – preparing for and moving to deploying
the new system

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 29
Unified Process (UP) – Phases (1 of 2)

UP SDLC divides iterations into four phases

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 30
Unified Process (UP) – Phases (2 of 2)

Objectives of each phase


UP Phase Objective
Inception Develop an approximate vision of the system, make the business case,
define the scope, and produce rough estimates for cost and schedule.
Elaboration Define the vision, identify and describe all requirements, finalize the
scope, design and implement the core architecture and functions,
resolve high risks, and produce realistic estimates for cost and
schedule.
Construction Iteratively implement the remaining lower-risk, predicable, and easier
elements and prepare for deployment.
Transition Complete the beta test and deployment so users have a working
system and are ready to benefit as expected.

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 31
Unified Process – Disciplines (1 of 4)

A set of functionally related development activities


Each discipline are all the activities related to
achieving one objective in the development project
Two types of disciplines
Development disciplines
Management – planning and control disciplines

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 32
Unified Process – Disciplines (2 of 4)

Development Disciplines
Business modeling
Requirements
Design
Implementation
Testing
Deployment

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 33
Unified Process – Disciplines (3 of 4)

Planning and Control disciplines


Configuration and change management
Project management
Environment

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 34
Unified Process – Disciplines (4 of 4)

Disciplines are used across all iterations

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 35
Extreme Programming (XP) (1 of 3)

Takes the best practices of software development


and extends them “to the extreme”
Focus intensely on proven industry practices
Combine them in unique ways to get better results
XP Core Values
Communication
Simplicity
Feedback
Courage

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 36
Extreme Programming (XP) (2 of 3)

XP Practices
Planning – based on user stories
Testing – thorough testing at every step
Pair Programming – watch, inspect, trade off
Simple Designs – Agile modeling principles
Refactoring – redo and cleanup as you go
Owning the code collectively – egoless
development, anyone can review and improve code

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 37
Extreme Programming (XP) (3 of 3)

XP Practices
Continuous integration – grow the software
continuously
On-site customer – get sign-off as you go
System metaphor – what should the final system
look like
Small releases – turn over to user frequently
Forty-hour work week – don’t overload the
developers
Coding standards – follow standards for code

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 38
XP Core Values
and Practices

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 39
XP Project Approach (1 of 2)

Three level approach (three rings)


Outside ring – create user stories and define
acceptance tests
Middle ring – conduct tests and do overall planning
Inside ring – iterations of coding and testing

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 40
XP Project Approach (2 of 2)

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 41
SCRUM
Combination of principles of Rugby and Agile
Intense effort involving the entire team for a
defined period of time
Product backlog
Prioritized list of user requirements
Product owner
The client stakeholder who controls backlog
Scrum master
Scrum project manager

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 42
Scrum Sprint

Scrum sprint
A time-controlled mini-project to implement part of
the system

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 43
Scrum Practices

Scope of each sprint is frozen (but can be reduced if


necessary)
Time period is kept constant
Daily Scrum meeting
What have you done since the last daily Scrum
(during the last 24 hours)?
What will you do by the next daily Scrum?
What kept you or is keeping you from completing
your work?

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 44
Summary (1 of 2)
This chapter covers approaches to system development
in more detail
There are two approaches to the SDLC: Predictive and
Adaptive
A predictive SDLC, also known as the waterfall model, is
used when it is possible to plan the project completely
in advance
An Adaptive SDLC, which uses iteration, is used when
the requirements are less certain and the project will
need to react to changes

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 45
Summary (2 of 2)
All new System development project use a methodology
(or development process) and many are available. A
methodology includes an SDLC and tools, techniques, and
models
Agile development is the current trend in system
development
Unified Process is a formal iterative approach which uses
UML models (with Agile philosophy) and U P disciplines
Extreme Programming (XP) is an iterative approach which
takes good practices to the extreme
Scrum is an iterative approach using a Scrum Sprint

Systems Analysis and Design in a Changing World, 7th edition - Chapter 10 ©2016. Cengage Learning. All rights reserved. 46

You might also like