MANAGING
INFORMATION
TECHNOLOGY
FIFTH EDITION
CHAPTER 10
METHODOLOGIES FOR CUSTOM
SOFTWARE DEVELOPMENT
E. Wainright Martin  Carol V. Brown  Daniel W. DeHayes
Jeffrey A. Hoffer  William C. Perkins
SYSTEMS DEVELOPMENT LIFE
CYCLE METHODOLOGY
Systems development life cycle (SDLC) – a highly
structured approach for development of new customized
software applications
© 2005 Pearson Prentice-Hall
Chapter 10 - 2
Page 385
SYSTEMS DEVELOPMENT LIFE
CYCLE METHODOLOGY
The SDLC Steps
© 2005 Pearson Prentice-Hall
Chapter 10 - 3
Figure 10.1 The Systems Development
Life Cycle
Page 386
SYSTEMS DEVELOPMENT LIFE
CYCLE METHODOLOGY
The SDLC Steps
© 2005 Pearson Prentice-Hall
Chapter 10 - 4
Figure 10.2 Cost Breakdown for $1 Million
SDLC Project
Page 386
SYSTEMS DEVELOPMENT LIFE
CYCLE METHODOLOGY
The SDLC Steps
SDLC:
Most often requires a lot of documentation
 Outputs from one step inputs to next
 Often referred to as the “waterfall” model

© 2005 Pearson Prentice-Hall
Chapter 10 - 5
Page 386
SYSTEMS DEVELOPMENT LIFE
CYCLE METHODOLOGY
Definition Phase – Feasibility Analysis
 Types of feasibility – economic, operational,
and technical
 Deliverable – 10-20 page document:




Executive overview and recommendations
Description of what system would do and how it
would operate
Analysis of costs and benefits
Development plan
© 2005 Pearson Prentice-Hall
Chapter 10 - 6
Page 387-388
SYSTEMS DEVELOPMENT LIFE
CYCLE METHODOLOGY
Definition Phase – Requirements Definition
 Focuses on logical design: processes, data
flows, and data interrelationships – not specific
physical implementation
 Deliverable – system requirements document:




Detailed descriptions of inputs and outputs,
processes used to convert input data to outputs
Formal diagrams and output layouts
Revised cost/benefit analysis
Revised plan for remainder of project
© 2005 Pearson Prentice-Hall
Chapter 10 - 7
Page 388
SYSTEMS DEVELOPMENT LIFE
CYCLE METHODOLOGY
Construction Phase

System Design

System Building

System Testing
© 2005 Pearson Prentice-Hall
Chapter 10 - 8
Figure 10.3 Characteristics
of High Quality Systems
Page 389
SYSTEMS DEVELOPMENT LIFE
CYCLE METHODOLOGY
Implementation Phase

Installation

Operations

Maintenance
© 2005 Pearson Prentice-Hall
Chapter 10 - 9
Page 390
Implementation Phase – Installation
Parallel Strategy
Parallel Strategy
Parallel Strategy
Parallel Strategy
© 2005 Pearson Prentice-Hall
Chapter 10 - 10
Figure 10.4 Implementation Strategies
Page 391
Implementation Phase – Maintenance
© 2005 Pearson Prentice-Hall
Chapter 10 - 11
Figure 10.5 Percent of Development
Resources Devoted to Maintenance
Page 392
Implementation Phase – Maintenance
© 2005 Pearson Prentice-Hall
Chapter 10 - 12
Figure 10.6 The Widening Gap Between
Page 392
Organization’s Needs and System’s Performance
SYSTEMS DEVELOPMENT LIFE
CYCLE METHODOLOGY
The SDLC Project Team
 Usually temporary
 Includes personnel from IS and business units
 Has a project manager




Traditionally from IS
Can be from business unit
May be one from each
Responsible for success of project – delivering
quality system on time and within budget
© 2005 Pearson Prentice-Hall
Chapter 10 - 13
Page 393
SYSTEMS DEVELOPMENT LIFE
CYCLE METHODOLOGY
The SDLC Project Team
 Includes systems analysts



Have critical roles
Work closely with business managers and end users
Have problem-solving skills, knowledge of IT
capabilities, strong business understanding
 Has a business sponsor and a champion
© 2005 Pearson Prentice-Hall
Chapter 10 - 14
Page 394
SYSTEMS DEVELOPMENT LIFE
CYCLE METHODOLOGY
Managing an SDLC Project
 Characteristics critical for success:



Manageable project size
Accurate requirements definition
Executive sponsorship
© 2005 Pearson Prentice-Hall
Chapter 10 - 15
Page 394
SYSTEMS DEVELOPMENT LIFE
CYCLE METHODOLOGY
Managing an SDLC Project
(Adapted from Boehm, 1976)
© 2005 Pearson Prentice-Hall
Chapter 10 - 16
Figure 10.7 Costs of Error Correction
by SDLC Step
Page 395
SYSTEMS DEVELOPMENT LIFE
CYCLE METHODOLOGY
SDLC Advantages and Disadvantages
© 2005 Pearson Prentice-Hall
Chapter 10 - 17
Figure 10.8 Advantages and Disadvantages
of Traditional SDLC Approach
Page 395
PROTOTYPING METHODOLOGY
 Prototyping approach:

Takes advantage of availability of fourth generation
procedural languages and relational database
management systems

Enables creation of system (or part of system)
more quickly, then revise after users have tried it

Is a type of evolutionary development process
© 2005 Pearson Prentice-Hall
Chapter 10 - 18
Page 396
PROTOTYPING METHODOLOGY
 Prototyping examples:

Input and output screens developed for users to
test as part of requirements definition

“First-of-a-series” – a completely operational
prototype used as a pilot

“Selected features” – only some essential features
included in prototype, more added later

Prototyping used as a complete alternative to
traditional SDLC methodology
© 2005 Pearson Prentice-Hall
Chapter 10 - 19
Page 396
PROTOTYPING METHODOLOGY
 Prototyping used as a complete alternative to
traditional SDLC methodology:

Good when requirements hard to define

Good when system needed quickly

Impractical for large, complex applications
© 2005 Pearson Prentice-Hall
Chapter 10 - 20
Page 396
The Prototyping Steps
© 2005 Pearson Prentice-Hall
Chapter 10 - 21
Figure 10.9 The Prototyping Life Cycle
Page 397
PROTOTYPING METHODOLOGY
The Prototyping Project Team
 Representatives from IS and user
management necessary
 Need team members who can quickly build
systems using advanced tools
 Requires dedicated business user roles
© 2005 Pearson Prentice-Hall
Chapter 10 - 22
Page 398
PROTOTYPING METHODOLOGY
Prototyping Advantages and Disadvantages

Advantages:

Only basic requirements needed at front end

Used to develop systems that radically change how
work is done, so users can evaluate

Allows firms to explore use of new technology

Working system available for testing more quickly

Less strong top-down commitment needed at front end

Costs and benefits can be derived after experience with
initial prototype

Initial user acceptance likely higher
© 2005 Pearson Prentice-Hall
Chapter 10 - 23
Page 398-399
PROTOTYPING METHODOLOGY
Prototyping Advantages and Disadvantages

Disadvantages:

End prototype often lacks security and control features

May not undergo as rigorous testing

Final documentation may be less complete

More difficult to manage user expectations
© 2005 Pearson Prentice-Hall
Chapter 10 - 24
Page 399
PROTOTYPING METHODOLOGY
Prototyping within an SDLC Process
© 2005 Pearson Prentice-Hall
Chapter 10 - 25
Figure 10.10 SDLC with Prototyping
to Define Requirements
Page 399
PROTOTYPING METHODOLOGY
Prototyping within an SDLC Process
© 2005 Pearson Prentice-Hall
Chapter 10 - 26
Figure 10.11 Prototyping/Piloting Replaces
SDLC Definition Phase
Page 399
NEWER APPROACHES
Rapid Application Development (RAD)

Hybrid methodology –
aspects of SDLC and
prototyping

Goal is to produce a
system in less than a
year
© 2005 Pearson Prentice-Hall
Chapter 10 - 27
Figure 10.12 Four-Step RAD Cycle
Page 400
NEWER APPROACHES
Rapid Application Development (RAD)
Joint application design (JAD) – a technique in which a
team of users and IS specialists engage in an intense and
structured process in order to minimize the total time
required for gathering information from multiple
participants
© 2005 Pearson Prentice-Hall
Chapter 10 - 28
Page 400-401
NEWER APPROACHES
Rapid Application Development (RAD)
Joint application design (JAD) – a technique in which a
team of users and IS specialists engage in an intense and
structured process in order to minimize the total time
required for gathering information from multiple
participants
Computer-aided software engineering (CASE) – any
software tool used to automate one or more steps of a
software development methodology
© 2005 Pearson Prentice-Hall
Chapter 10 - 29
Page 400-401
NEWER APPROACHES
Rapid Application Development (RAD)
(Adapted from Valacich, George, and Hoffer, 2001)
© 2005 Pearson Prentice-Hall
Chapter 10 - 30
Figure 10.13 Types of CASE Tools
Page 401
NEWER APPROACHES
Rapid Application Development (RAD)
© 2005 Pearson Prentice-Hall
Chapter 10 - 31
Figure 10.14 RAD Advantages
and Disadvantages
Page 402
NEWER APPROACHES
Agile Software Development Discipline
 Alternative methodology for smaller projects
 Based on four key values:




Simplicity
Communication
Feedback
Courage
 One type: Extreme Programming (XP)


Programmers write code in pairs
Use simple design and frequent testing
© 2005 Pearson Prentice-Hall
Chapter 10 - 32
Page 402
MANAGING SOFTWARE PROJECTS
USING OUTSOURCED STAFF
 Advantages:



Helps keep software development costs down
Uses technical expertise not available in-house
Can often complete projects more quickly
 Off-site outsourcing:


Onshore – within same country or region
Offshore – not within same country or region
© 2005 Pearson Prentice-Hall
Chapter 10 - 33
Page 402
MANAGING SOFTWARE PROJECTS
USING OUTSOURCED STAFF
 Offshore alternative good option when:



System requirements well-defined and remain stable
Time is of essence and 7x24 hour availability of
resources a good idea
Cost of project important
© 2005 Pearson Prentice-Hall
Chapter 10 - 34
Page 402
MANAGING SOFTWARE PROJECTS
USING OUTSOURCED STAFF
 Guidelines for managing offsite outsourcer:




Manage expectations, not staff
Take explicit actions to integrate the offsite workers
Communicate frequently
Abandoning informal ways may result in increased
rigor
© 2005 Pearson Prentice-Hall
Chapter 10 - 35
Page 402-403