+ All Categories
Home > Documents > Mit6e Ch10 by Firli

Mit6e Ch10 by Firli

Date post: 26-Nov-2014
Category:
Upload: ighfirli
View: 109 times
Download: 2 times
Share this document with a friend
Popular Tags:
52
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Managing Information Technology 6 th Edition CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
Transcript
Page 1: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 1

Managing Information Technology6th Edition

CHAPTER 10

METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT

Page 2: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 2

Methodologies for Custom Software Development

• Although firms are likely to purchase software packages whenever they can, the development of custom software is still highly important and in demand

• We will discuss different approaches to developing customized applications– Traditional Systems Development Life Cycle (SDLC)– Evolutionary Prototyping– Rapid Application Development (RAD)– Agile Development

Page 3: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 3

SYSTEMS DEVELOPMENT LIFE CYCLE• Systems development life cycle (SDLC)

– Highly structured process for developing customized applications

– Includes three phases and eight steps, although this can vary across organizations

Page 4: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 4

SYSTEMS DEVELOPMENT LIFE CYCLE

• Most often requires a lot of documentation• Outputs from one step inputs to next• Often referred to as the “waterfall” model• Key characteristic is extensive formal reviews

at the end of each major step

The SDLC steps

Page 5: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 5

SYSTEMS DEVELOPMENT LIFE CYCLE

Definition

Feasibility AnalysisRequirements Definition

Construction• Syste

m Design• System Building• System Testing

Implementation• I

nstallation

• Operations

• Maintenance

The SDLC Waterfall

Page 6: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 6

SYSTEMS DEVELOPMENT LIFE CYCLE

• Extensive up-front time spent determining requirements to avoid expensive changes later

The SDLC steps

Page 7: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 7

SYSTEMS DEVELOPMENT LIFE CYCLE

• The first phase of the SDLC is the definition phase

• This phase contains two steps:– Feasibility analysis– Requirements definition

Definition phase

Page 8: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 8

SYSTEMS DEVELOPMENT LIFE CYCLE

• Three types of feasibility are assessed1. Technical

• Primary responsibility of the IS analyst• Based on

– Knowledge of current and emerging technological solutions– IT expertise of in-house personnel– Anticipated infrastructure needed to both develop and

support the proposed system

Definition phase – Feasibility analysis

Page 9: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 9

SYSTEMS DEVELOPMENT LIFE CYCLE

• Three types of feasibility are assessed (cont’d)2. Operational

• Primary responsibility of the business manager• Entails assessing the degree to which a proposed

system addresses the business issues that gave rise to the idea for a new information system

Definition phase – Feasibility analysis

Page 10: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 10

SYSTEMS DEVELOPMENT LIFE CYCLE

• Three types of feasibility are assessed (cont’d)3. Economic

• Business managers and IS analysts work together to prepare a cost/benefit analysis

• IS analyst responsible for establishing the developmental costs for the project

Definition phase – Feasibility analysis

Page 11: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 11

SYSTEMS DEVELOPMENT LIFE CYCLE

• Deliverable is a 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

Definition phase – Feasibility analysis

Page 12: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 12

SYSTEMS DEVELOPMENT LIFE CYCLE

• Focuses on processes, data flows, and data interrelationships rather than a specific physical implementation

• Requirements are gathered by:– Interviewing individuals or groups– Reviewing documents– Observing employees doing their jobs

Definition phase – Requirements Definition

Page 13: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 13

SYSTEMS DEVELOPMENT LIFE CYCLE

• Deliverable is a 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

Definition phase – Requirements Definition

Page 14: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 14

SYSTEMS DEVELOPMENT LIFE CYCLE

• The second major phase of the SDLC is the construction phase

• This starts after the systems requirements document from the definition phase is approved

• The phase contains three steps:– System design– System building– System testing

Construction phase

Page 15: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 15

SYSTEMS DEVELOPMENT LIFE CYCLE

• Includes:– Deciding what hardware and software to use– Designing structure and content of databases– Defining programs and their interrelationships

• Good design is critical for the quality of the system

Construction phase – System design

Page 16: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 16

SYSTEMS DEVELOPMENT LIFE CYCLE

• Deliverable is a detailed design document:– Models, such as diagrams of system’s physical

structure– Descriptions of databases– Detailed specification for each program in the

system– Plan for the remaining steps of the Construction

phase

Construction phase – System design

Page 17: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 17

SYSTEMS DEVELOPMENT LIFE CYCLE

• Includes:– Producing the computer programs– Developing or enhancing the databases and files

to be used by the system– Procuring new hardware and support software

Construction phase – System building

Page 18: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 18

SYSTEMS DEVELOPMENT LIFE CYCLE

• Might require as much time as writing the code for the system

• Involves testing by IS specialists, then user testing• Multiple steps:

– Each module of code is tested– Modules are assembled into subsystems and tested– Subsystems are combined and entire system is

integration tested

Construction phase – System testing

Page 19: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 19

SYSTEMS DEVELOPMENT LIFE CYCLE

Construction phase – System testing

User acceptance testing

• Ensures that the system performs reliably and does what it is supposed to do in the user environment

Documentation

• Major mechanism of communication among members of the project team

Page 20: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 20

SYSTEMS DEVELOPMENT LIFE CYCLE

• The final phase of the SDLC is the implementation phase

• The success of this phase is dependent upon business managers

• The three steps in this phase are:– Installation– Operations– Maintenance

Implementation phase

Page 21: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 21

SYSTEMS DEVELOPMENT LIFE CYCLE

• Includes:– Building files and databases– Converting relevant data from one or more old

systems to the new system– Training system’s end users

Implementation phase – Installation

Page 22: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 22

SYSTEMS DEVELOPMENT LIFE CYCLE

• Conversion from an old system to a new system can be difficult

• Several transitioning strategies are commonly used to assist in this change:– Parallel: organization operates old system in parallel

with new system until new system is working sufficiently

– Pilot: new system is introduced to only one part of the organization first

Implementation phase – Installation

Page 23: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 23

SYSTEMS DEVELOPMENT LIFE CYCLE

• Transitioning strategies (cont’d)– Phased: new system is implemented one

component at a time– Cutover: old system is totally abandoned as soon

as the new system is implemented

Implementation phase – Installation

Page 24: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 24

SYSTEMS DEVELOPMENT LIFE CYCLE

• New application begins operation in “production mode”

• Project team is usually disbanded• Requires adequate documentation

– System documentation for IS specialists who operate and maintain the system

– User documentation for those who use the system

Implementation phase – Operations

Page 25: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 25

SYSTEMS DEVELOPMENT LIFE CYCLE

• The process of making changes to a system after it has been put into production mode

• Reasons for maintenance– Correct errors in the system– Adapt the system to changes in the environment– Enhance or improve the system

Implementation phase – Maintenance

Page 26: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 26

SYSTEMS DEVELOPMENT LIFE CYCLE

• Maintenance makes up about 80% of total costs over a system’s life

Implementation phase – Maintenance

Page 27: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 27

SYSTEMS DEVELOPMENT LIFE CYCLE

• Problems with maintenance:– Documentation may not be updated when changes to

the system are made, causing problems for future maintenance

– Changes to one part of the system may have an unanticipated effect on other parts of the system (i.e., ripple effect )

– Maintenance is considered low-status work by programmers, so typically only new programmers are assigned the job

Implementation phase – Maintenance

Page 28: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 28

SYSTEMS DEVELOPMENT LIFE CYCLE

• Problems with maintenance (cont’d):– Maintenance may introduce new errors into the

system

Implementation phase – Maintenance

– If resources are not available, business managers may suffer long delays before needed changes are made

Page 29: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 29

SYSTEMS DEVELOPMENT LIFE CYCLE

• 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

The SDLC project team

Page 30: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 30

SYSTEMS DEVELOPMENT LIFE CYCLE

• Critical success factors:– Manageable project size– Accurate requirements definition– Executive sponsorship

Managing an SDLC project

Page 31: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 31

SYSTEMS DEVELOPMENT LIFE CYCLE

SDLC advantages and disadvantages

Page 32: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 32

PROTOTYPING METHODOLOGY

• Takes advantage 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• Can be used as a complete alternative to the SDLC or

within an SDLC process

Page 33: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 33

PROTOTYPING METHODOLOGY

• Prototype 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

Page 34: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 34

PROTOTYPING METHODOLOGYThe prototyping steps

Page 35: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 35

PROTOTYPING METHODOLOGY

• 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 36: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 36

PROTOTYPING METHODOLOGY

• 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 37: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 37

PROTOTYPING METHODOLOGY

• 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 38: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 38

PROTOTYPING METHODOLOGY

• Two ways in which prototyping is usually incorporated into an SDLC process:

Prototyping within an SDLC process

1. Used in the Definition phase to help users define system requirements

Page 39: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 39

PROTOTYPING METHODOLOGY

• Two ways in which prototyping is usually incorporated into an SDLC process:

Prototyping within an SDLC process

2. Includes a pilot implementation of a working prototype

Page 40: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 40

NEWER APPROACHES

• Hybrid methodology combines aspects of SDLC and prototyping

• Goal is to produce a system in less than a year

Rapid applications development (RAD)

Page 41: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 41

NEWER APPROACHESRapid applications development (RAD)

Joint application development (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) tool

• Any software tool used to automate one or more steps of a software development methodology

Page 42: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 42

NEWER APPROACHES

• Types of CASE toolsRapid applications development (RAD)

Page 43: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 43

NEWER APPROACHES

• Advantages and disadvantagesRapid applications development (RAD)

Page 44: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 44

NEWER APPROACHES

• Alternative methodology for smaller projects• Objective is to deliver software with very low

defect rates• Based on four key values:

– Simplicity– Communication– Feedback – Courage

Agile methodologies

Page 45: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 45

NEWER APPROACHES

• eXtreme programming (XP)– Programmers write code in pairs– Use simple design and frequent testing– Three traits characterize the program design

1. System must communicate everything you want to communicate

2. System must contain no duplicate code3. System should have the fewest number of

components as possible

Agile methodologies

Page 46: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 46

NEWER APPROACHES

• Scrum– Based on well-orchestrated movement between

team members• Similar to the coordination in a rugby scrum

– Emphasizes:• Independent project teams• Coordination and communication between and within

teams• Iterative and continuous monitoring of work• Highly efficient work methods

Agile methodologies

Page 47: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 47

NEWER APPROACHES

• Scrum (cont’d)– Approach utilizes:

• Daily Scrum meeting• Scrum of Scrum meeting• Sprint planning meeting• Sprint review meeting

Agile methodologies

Page 48: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 48

MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF

• Advantages of outsourcing:– Helps keep software development costs down– Make use of technical expertise not available in-

house– Can hire capacity above baseline for current

amount of development work– Frees up internal resources to work on more

strategic or proprietary projects– Can often complete projects more quickly

Page 49: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 49

MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF

• Onshore outsourcing: contracting with companies within the same country or region

• Offshore outsourcing: contracting with companies not within the same country or region– Driven by price because labor costs are typically

much lower– Risks include loss of some control, language and

cultural barriers, and threats of piracy of intellectual property

Page 50: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 50

MANAGING SOFTWARE PROJECTS USING OUTSOURCED STAFF

• Offshore outsourcing is a good alternative 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 51: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 51

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– Create a centralized project management office– Begin with pilot projects– Hire offshore legal expertise– Use secure and redundant communication links

Page 52: Mit6e Ch10 by Firli

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall 5252

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic,

mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America.

Copyright © 2009 Pearson Education, Inc.  Publishing as Prentice Hall


Recommended