Managing Information Technology 6 Edition

offbeatnothingSoftware and s/w Development

Dec 2, 2013 (3 years and 7 months ago)

102 views

Copyright © 2009 Pearson Education, Inc.

Publishing as Prentice Hall

1

Managing Information Technology

6
th

Edition

CHAPTER 10

METHODOLOGIES FOR

CUSTOM SOFTWARE DEVELOPMENT

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

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


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

Copyright © 2009 Pearson Education, Inc.

Publishing as Prentice Hall

5

SYSTEMS DEVELOPMENT LIFE CYCLE

Definition


Feasibility Analysis


Requirements Definition

Construction


System Design


System Building


System Testing

Implementation


Installation


Operations


Maintenance

The SDLC Waterfall

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

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

Copyright © 2009 Pearson Education, Inc.

Publishing as Prentice Hall

8

SYSTEMS DEVELOPMENT LIFE CYCLE


Three types of feasibility are assessed

1.
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

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

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

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

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

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

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

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

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

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

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

Copyright © 2009 Pearson Education, Inc.

Publishing as Prentice Hall

19

SYSTEMS DEVELOPMENT LIFE CYCLE

Construction phase


System testing


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

User acceptance testing


Major mechanism of communication among
members of the project team

Documentation

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

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

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

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

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

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

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

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

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

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

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

Copyright © 2009 Pearson Education, Inc.

Publishing as Prentice Hall

31

SYSTEMS DEVELOPMENT LIFE CYCLE

SDLC advantages and disadvantages

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


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



Copyright © 2009 Pearson Education, Inc.

Publishing as Prentice Hall

34

PROTOTYPING METHODOLOGY

The prototyping steps

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

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

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

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

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

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)

Copyright © 2009 Pearson Education, Inc.

Publishing as Prentice Hall

41

NEWER APPROACHES

Rapid applications development (RAD)


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

Joint application development (JAD)


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

Computer
-
aided software engineering (CASE) tool

Copyright © 2009 Pearson Education, Inc.

Publishing as Prentice Hall

42

NEWER APPROACHES


Types of CASE tools

Rapid applications development (RAD)

Copyright © 2009 Pearson Education, Inc.

Publishing as Prentice Hall

43

NEWER APPROACHES


Advantages and disadvantages

Rapid applications development (RAD)

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

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 code

3.
System should have the fewest number of
components as possible

Agile methodologies

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

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

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




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




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





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




Copyright © 2009 Pearson Education, Inc.

Publishing as Prentice Hall

52

52

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