chapter 10 m ethodologies for c ustom s oftware d evelopment

35
E. Wainright Martin Carol V. Brown Daniel W. DeHayes Jeffrey A. Hoffer William C. Perkins MANAGING MANAGING INFORMATION INFORMATION TECHNOLOGY TECHNOLOGY FIFTH EDITION CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT

Upload: fadhila

Post on 05-Jan-2016

40 views

Category:

Documents


1 download

DESCRIPTION

CHAPTER 10 M ETHODOLOGIES FOR C USTOM S OFTWARE D EVELOPMENT. S YSTEMS D EVELOPMENT L IFE C YCLE M ETHODOLOGY. Systems development life cycle (SDLC) – a highly structured approach for development of new customized software applications. Page 385. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

E. Wainright Martin Carol V. Brown Daniel W. DeHayesJeffrey A. Hoffer William C. Perkins

MANAGINGMANAGINGINFORMATIONINFORMATIONTECHNOLOGYTECHNOLOGY

FIFTH EDITION

CHAPTER 10

METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT

Page 2: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 2

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Page 385

Systems development life cycle (SDLC) – a highly structured approach for development of new customized software applications

Page 3: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 3

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Page 386

The SDLC Steps

Figure 10.1 The Systems Development Life Cycle

Key characteristic is extensive formal reviews

required at end of each major step

Page 4: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 4

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Page 386

The SDLC Steps

Figure 10.2 Cost Breakdown for $1 Million SDLC Project

Hallmark of SDLC approach: extensive up-front time spent

determining requirements to avoid expensive changes later

Page 5: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 5

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Page 386

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

Page 6: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 6

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Page 387-388

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

Page 7: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 7

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Page 388

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

Page 8: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 8

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Page 389

Construction Phase

System Design

System Building

System Testing

Figure 10.3 Characteristics of High Quality Systems

Documentation is a major mechanism of

communication during development process

Page 9: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 9

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Page 390

Implementation Phase

Installation

Operations

Maintenance

Page 10: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 10 Page 391

Implementation Phase – Installation

Figure 10.4 Implementation Strategies

Parallel Strategy

Cutover Strategy

Phasing Strategy

Pilot Strategy

Page 11: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 11 Page 392

Implementation Phase – Maintenance

Figure 10.5 Percent of Development Resources Devoted to Maintenance

Page 12: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 12 Page 392

Implementation Phase – Maintenance

Figure 10.6 The Widening Gap BetweenOrganization’s Needs and System’s Performance

Page 13: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 13

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Page 393

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

Page 14: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 14

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Page 394

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

Page 15: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 15

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Page 394

Managing an SDLC Project

Characteristics critical for success: Manageable project size Accurate requirements definition Executive sponsorship

Page 16: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 16

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Page 395 Figure 10.7 Costs of Error Correction by SDLC Step

Managing an SDLC Project

(Adapted from Boehm, 1976)

Page 17: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 17

SYSTEMS DEVELOPMENT LIFE CYCLE METHODOLOGY

Page 395

SDLC Advantages and Disadvantages

Figure 10.8 Advantages and Disadvantages of Traditional SDLC Approach

Page 18: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 18

PROTOTYPING METHODOLOGY

Page 396

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

Page 19: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 19

PROTOTYPING METHODOLOGY

Page 396

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

Page 20: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 20

PROTOTYPING METHODOLOGY

Page 396

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

Page 21: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 21 Page 397

The Prototyping Steps

Figure 10.9 The Prototyping Life Cycle

Page 22: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 22

PROTOTYPING METHODOLOGY

Page 398

Representatives from IS and user management necessary

Need team members who can quickly build systems using advanced tools

Requires dedicated business user roles

The Prototyping Project Team

Page 23: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 23

PROTOTYPING METHODOLOGY

Page 398-399

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

Prototyping Advantages and Disadvantages

Page 24: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 24

PROTOTYPING METHODOLOGY

Page 399

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

Prototyping Advantages and Disadvantages

Page 25: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 25

PROTOTYPING METHODOLOGY

Page 399

Prototyping within an SDLC Process

Figure 10.10 SDLC with Prototyping to Define Requirements

Page 26: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 26

PROTOTYPING METHODOLOGY

Page 399

Prototyping within an SDLC Process

Figure 10.11 Prototyping/Piloting Replaces SDLC Definition Phase

Page 27: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 27

NEWER APPROACHES

Page 400

Rapid Application Development (RAD)

Figure 10.12 Four-Step RAD Cycle

Hybrid methodology – aspects of SDLC and prototyping

Goal is to produce a system in less than a year

Page 28: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 28

NEWER APPROACHES

Page 400-401

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

Page 29: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 29

NEWER APPROACHES

Page 400-401

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

Page 30: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 30

NEWER APPROACHES

Page 401

Rapid Application Development (RAD)

Figure 10.13 Types of CASE Tools

(Adapted from Valacich, George, and Hoffer, 2001)

Page 31: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 31

NEWER APPROACHES

Page 402

Rapid Application Development (RAD)

Figure 10.14 RAD Advantages and Disadvantages

Page 32: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 32

NEWER APPROACHES

Page 402

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

Page 33: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 33

MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF

Page 402

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

Page 34: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 34

MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF

Page 402

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

Page 35: CHAPTER 10 M ETHODOLOGIES FOR  C USTOM  S OFTWARE  D EVELOPMENT

© 2005 Pearson Prentice-Hall Chapter 10 - 35

MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF

Page 402-403

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