systems analysis

profiledaven9947
02_SystemAnalysisAndDesignWithUMLVersion2.0-Chapter1.pdf

1

This chapter introduces the systems development life cycle (SDLC), the fundamental four-phase model (planning, analysis, design, and implementation) that is common to all

information system development projects. It then describes the evolution of system devel-

opment methodologies. Finally, the chapter closes with a discussion of the roles and skills

necessary within the project team.

OBJECTIVES

■ Understand the fundamental systems development life cycle and its four phases. ■ Understand the evolution of systems development methodologies. ■ Be familiar with the different roles on the project team.

CHAPTER OUTLINE

INTRODUCTION

The systems development life cycle (SDLC) is the process of understanding how an infor-

mation system (IS) can support business needs, designing the system, building it, and

delivering it to users. If you have taken a programming class or have programmed on your

own, this probably sounds pretty simple. Unfortunately, this is not the case. A 1996 survey

by the Standish Group found that 42 percent of all corporate IS projects were abandoned

before completion. A similar study done in 1996 by the General Accounting Office found

53 percent of all U.S. government IS projects were abandoned. Unfortunately, many of the

Introduction

The Systems Development Life Cycle

Planning

Analysis

Design

Implementation

Systems Development Methodologies

Structured Design

Rapid Application Development (RAD)

Agile Development

Selecting the Appropriate Development

Methodology

Project Team Roles and Skills

Business Analyst

Systems Analyst

Infrastructure Analyst

Change Management Analyst

Project Manager

Summary

C H A P T E R 1

Introduction to Systems

Analysis and Design

systems that aren’t abandoned are delivered to the users significantly late, cost far more

than planned, and have fewer features than originally planned.

Most of us would like to think that these problems only occur to “other” people or

“other” organizations, but they happen in most companies. Even Microsoft has a history of

failures and overdue projects (e.g., Windows 1.0, Windows 95). 1

Although we would like to promote this book as a “silver bullet” that will keep you from

IS failures, we readily admit that a silver bullet that guarantees IS development success sim-

ply does not exist.2 Instead, this book will provide you with several fundamental concepts

and many practical techniques that you can use to improve the probability of success.

The key person in the SDLC is the systems analyst who analyzes the business situation,

identifies opportunities for improvements, and designs an information system to imple-

ment them. Being a systems analyst is one of the most interesting, exciting, and challeng-

ing jobs around. As a systems analyst, you will work with a variety of people and learn how

they conduct business. Specifically, you will work with a team of systems analysts, pro-

grammers, and others on a common mission. You will feel the satisfaction of seeing systems

that you designed and developed make a significant business impact, while knowing that

you contributed your unique skills to make that happen.

It is important to remember that the primary objective of the systems analyst is not to

create a wonderful system. The primary goal is to create value for the organization, which

for most companies means increasing profits (government agencies and not-for-profit

organizations measure value differently). Many failed systems were abandoned because the

analysts tried to build a wonderful system without clearly understanding how the system

would fit with the organization’s goals, current business processes, and other information

systems to provide value. An investment in an information system is like any other invest-

ment, such as a new machine tool. The goal is not to acquire the tool, because the tool is

simply a means to an end; the goal is to enable the organization to perform work better so

it can earn greater profits or serve its constituents more effectively.

This book will introduce you to the fundamental skills you need to be a systems ana-

lyst. This is a pragmatic book that discusses best practices in systems development; it does

not present a general survey of systems development that exposes you to everything about

the topic. By definition, systems analysts do things and challenge the current way that orga-

nizations work. To get the most out of this book, you will need to actively apply the ideas

and concepts in the examples, and those in the “Your Turn” exercises that are presented

throughout, to your own systems development project. This book will guide you through

all the steps for delivering a successful information system. Also, we will illustrate how one

organization (which we call CD Selections) applies the steps in one project (developing a

Web-based CD sales system). By the time you finish the book, you won’t be an expert ana-

lyst, but you will be ready to start building systems for real.

In this chapter, we first introduce the basic SDLC that IS projects follow. This life

cycle is common to all projects, although the focus and approach to each phase of the life

cycle may differ. In the next section, we describe three fundamentally different types of

system development methodologies: structured design, rapid application development,

and agile development. Finally, we discuss one of the most challenging aspects of systems

2 Chapter 1 Introduction to Systems Analysis and Design

1 For more information on the problem, see Capers Jones, Patterns of Software System Failure and Success (Lon- don: International Thompson Computer Press, 1996); Capers Jones, Assessment and Control of Software Project Risks (Englewood Cliffs, NJ: Yourdon Press, 1994); Julia King, "IS reins in runaway projects," Computerworld (February 24, 1997). 2 The idea of using the silver bullet metaphor was first described in a paper by Frederick Brooks, see Frederick P. Brooks, Jr., “No Silver Bullet – Essence and Accident in Software Engineering,” Information Processing 1986, the Proceedings of the IFIP Tenth World Computing Conference, edited by H.-J. Kugler (1986): 1069-76.

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

development, the depth and breadth of skills that are required of systems analysts. Today,

most organizations use project teams that contain members with unique, but comple-

mentary skills. This chapter closes with a discussion of the key roles played by members

of the systems development team.

THE SYSTEMS DEVELOPMENT LIFE CYCLE

In many ways, building an information system is similar to building a house. First, the

house (or the information system) starts with a basic idea. Second, this idea is transformed

into a simple drawing that is shown to the customer and refined (often through several

drawings, each improving on the other) until the customer agrees that the picture depicts

what he or she wants. Third, a set of blueprints is designed that presents much more

detailed information about the house (e.g., the type of water faucets, where the telephone

jacks will be placed). Finally, the house is built following the blueprints—and often with

some changes directed by the customer as the house is erected.

The SDLC has a similar set of four fundamental phases: planning, analysis, design, and

implementation. Different projects may emphasize different parts of the SDLC or approach

the SDLC phases in different ways, but all projects have elements of these four phases. Each

phase is itself composed of a series of steps, which rely upon techniques that produce deliv-

erables (specific documents and files that provide understanding about the project).

For example, when you apply for admission to a university, there are several phases

that all students go through: information gathering, applying, and accepting. Each of these

phases has steps—information gathering includes steps like searching for schools, request-

ing information, and reading brochures. Students then use techniques (e.g., Internet

searching) that can be applied to steps (e.g., requesting information) to create deliverables

(e.g., evaluations of different aspects of universities).

In many projects, the SDLC phases and steps proceed in a logical path from start to

finish. In other projects, the project teams move through the steps consecutively, incre-

mentally, iteratively, or in other patterns. In this section, we describe the phases, steps, and

some of the techniques that are used to accomplish the steps at a very high level. We should

emphasize that not all organizations follow the SDLC in exactly the same way. As we shall

shortly see, there are many variations on the overall SDLC.

The Systems Development Life Cycle 3

A real-estate group in the federal government cosponsored a data warehouse with the IT department. A formal proposal was written by IT in which costs were estimated at $800,000, the project duration was estimated to be eight months, and the responsibility for funding was defined as the business unit’s. The IT department proceeded with the pro- ject before it even knew if the project had been accepted.

The project actually lasted two years because require- ments gathering took nine months instead of one and a half, the planned user base grew from 200 to 2,500, and the approval process to buy technology for the project

took a year. Three weeks prior to technical delivery, the IT director canceled the project. This failed endeavor cost the organization and taxpayers $2.5 million.

Source: Hugh J. Watson et al., “Data Warehousing Failure: Case Studies

and Findings,” The Journal of Data Warehousing 4 (1) (1999): 44–54.

Question:

1. Why did this system fail? Why would a company spend money and time on a project and then can- cel it? What could have been done to prevent this?

1-A An Expensive False StartCONCEPTS

IN ACTION

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

For now, there are two important points to understand about the SDLC. First, you

should get a general sense of the phases and steps that IS projects move through and some

of the techniques that produce certain deliverables. Second, it is important to understand

that the SDLC is a process of gradual refinement. The deliverables produced in the analysis

phase provide a general idea of the shape of the new system. These deliverables are used as

input to the design phase, which then refines them to produce a set of deliverables that

describes in much more detailed terms exactly how the system will be built. These deliver-

ables, in turn, are used in the implementation phase to produce the actual system. Each

phase refines and elaborates on the work done previously.

Planning

The planning phase is the fundamental process of understanding why an information sys-

tem should be built and determining how the project team will go about building it. It has

two steps:

1. During project initiation, the system’s business value to the organization is identi-

fied—how will it lower costs or increase revenues? Most ideas for new systems

come from outside the IS area (from the marketing department, accounting

department, etc.) in the form of a system request. A system request presents a brief

summary of a business need, and it explains how a system that supports the need

will create business value. The IS department works together with the person or

department that generated the request (called the project sponsor) to conduct a

feasibility analysis. The feasibility analysis examines key aspects of the proposed

project:

■ The technical feasibility (Can we build it?)

■ The economic feasibility (Will it provide business value?)

■ The organizational feasibility (If we build it, will it be used?)

The system request and feasibility analysis are presented to an information sys-

tems approval committee (sometimes called a steering committee), which decides

whether the project should be undertaken.

2. Once the project is approved, it enters—project management. During project

management, the project manager creates a workplan, staffs the project, and puts

techniques in place to help the project team control and direct the project

through the entire SDLC. The deliverable for project management is a project plan

that describes how the project team will go about developing the system.

Analysis

The analysis phase answers the questions of who will use the system, what the system will

do, and where and when it will be used. During this phase, the project team investigates any

current system(s), identifies improvement opportunities, and develops a concept for the

new system. This phase has three steps:

1. An analysis strategy is developed to guide the project team’s efforts. Such a strat-

egy usually includes an analysis of the current system (called the as-is system) and

its problems, and then ways to design a new system (called the to-be system).

2. The next step is requirements gathering (e.g., through interviews or question-

naires). The analysis of this information—in conjunction with input from project

sponsor and many other people—leads to the development of a concept for a new

system. The system concept is then used as a basis to develop a set of business

4 Chapter 1 Introduction to Systems Analysis and Design

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

analysis models that describes how the business will operate if the new system

were developed. The set of models typically includes models that represent the

data and processes necessary to support the underlying business process.

3. The analyses, system concept, and models are combined into a document called

the system proposal, which is presented to the project sponsor and other key deci-

sion makers (e.g., members of the approval committee) that decide whether the

project should continue to move forward.

The system proposal is the initial deliverable that describes what business require-

ments the new system should meet. Because it is really the first step in the design of the new

system, some experts argue that it is inappropriate to use the term analysis as the name for

this phase; some argue a better name would be analysis and initial design. Most organiza-

tions continue use to the name analysis for this phase, however, so we will use it in this book

as well. Just keep in mind that the deliverable from the analysis phase is both an analysis

and a high-level initial design for the new system.

Design

The design phase decides how the system will operate, in terms of the hardware, software,

and network infrastructure; the user interface, forms and reports; and the specific pro-

grams, databases, and files that will be needed. Although most of the strategic decisions

about the system were made in the development of the system concept during the analysis

phase, the steps in the design phase determine exactly how the system will operate. The

design phase has four steps:

1. The design strategy must be developed. This clarifies whether the system will be

developed by the company’s own programmers, whether it will be outsourced to

another firm (usually a consulting firm), or whether the company will buy an

existing software package.

2. This leads to the development of the basic architecture design for the system that

describes the hardware, software, and network infrastructure that will be used. In

most cases, the system will add or change the infrastructure that already exists in

the organization. The interface design specifies how the users will move through

the system (e.g., navigation methods such as menus and on-screen buttons) and

the forms and reports that the system will use.

3. The database and file specifications are developed. These define exactly what data

will be stored and where they will be stored.

4. The analyst team develops the program design, which defines the programs that

need to be written and exactly what each program will do.

This collection of deliverables (architecture design, interface design, database and file

specifications, and program design) is the system specification that is handed to the pro-

gramming team for implementation. At the end of the design phase, the feasibility analysis

and project plan are reexamined and revised, and another decision is made by the project

sponsor and approval committee about whether to terminate the project or continue.

Implementation

The final phase in the SDLC is the implementation phase, during which the system is actu-

ally built (or purchased, in the case of a packaged software design). This is the phase that

usually gets the most attention, because for most systems it is longest and most expensive

single part of the development process. This phase has three steps:

The Systems Development Life Cycle 5

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

1. System construction is the first step. The system is built and tested to ensure it per-

forms as designed. Since the cost of bugs can be immense, testing is one of the

most critical steps in implementation. Most organizations spend more time and

attention on testing than on writing the programs in the first place.

2. The system is installed. Installation is the process by which the old system is

turned off and the new one is turned on. It may include a direct cutover

approach (in which the new system immediately replaces the old system), a par-

allel conversion approach (in which both the old and new systems are operated

for a month or two until it is clear that there are no bugs in the new system), or

a phased conversion strategy (in which the new system is installed in one part of

the organization as an initial trial and then gradually installed in others). One of

the most important aspects of conversion is the development of a training plan

to teach users how to use the new system and help manage the changes caused

by the new system.

3. The analyst team establishes a support plan for the system. This plan usually

includes a formal or informal post-implementation review, as well as a systematic

way for identifying major and minor changes needed for the system.

SYSTEMS DEVELOPMENT METHODOLOGIES

A methodology is a formalized approach to implementing the SDLC (i.e., it is a list of steps

and deliverables). There are many different systems development methodologies, and each

one is unique based on the order and focus it places on each SDLC phase. Some method-

ologies are formal standards used by government agencies, while others have been devel-

oped by consulting firms to sell to clients. Many organizations have internal methodologies

that have been honed over the years, and they explain exactly how each phase of the SDLC

is to be performed in that company.

There are many ways to categorize methodologies. One way is by looking at whether

they focus on business processes or the data that support the business. Methodologies are

process-centered if they emphasize process models as the core of the system concept. In Fig-

ure 1-1, for example, process-centered methodologies would focus first on defining the

processes (e.g., assemble sandwich ingredients). Methodologies are data-centered if they

emphasize data models as the core of the system concept. In Figure 1-1, for example, data-

centered methodologies would focus first on defining the contents of the storage areas

(e.g., refrigerator) and how the contents were organized.3 By contrast, object-oriented

methodologies attempt to balance the focus between process and data by incorporating both

into one model. In Figure 1-1, these methodologies would focus first on defining the major

elements of the system (e.g., sandwiches, lunches) and look at the processes and data that

were involved with each element.

Another important factor in categorizing methodologies is the sequencing of the

SDLC phases and the amount of time and effort devoted to each.4 In the early days of

6 Chapter 1 Introduction to Systems Analysis and Design

3 The classic modern process-centered methodology is that by Edward Yourdon, Modern Structured Analysis (Englewood Cliffs, NJ: Yourdon Press, 1989). An example of a data-centered methodology is information engi- neering by James Martin, Information Engineering, vols. 1-3 (Englewood Cliffs, NJ: Prentice Hall, 1989). A widely accepted standardized non–object-oriented methodology that balances processes and data is IDEF; see FIPS 183, Integration Definition for Function Modeling, Federal Information Processing Standards Publications, U.S. Department of Commerce, 1993. 4 A good reference for comparing systems development methodologies is Steve McConnell, Rapid Development (Redmond, WA: Microsoft Press, 1996).

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

computing, the need for formal and well-planned life cycle methodologies was not well

understood. Programmers tended to move directly from a very simple planning phase

right into the construction step of the implementation phase. In other words, they moved

directly from a very fuzzy, not well-thought-out system request into writing code.

This is the same approach that you sometimes use when writing programs for a pro-

gramming class. It can work for small programs that require only one programmer, but

if the requirements are complex or unclear, you may miss important aspects of the prob-

lem and have to start all over again, throwing away part of the program (and the time

and effort spent writing it). This approach also makes teamwork difficult because mem-

bers have little idea about what needs to be accomplished and how to work together to

produce a final product.

Systems Development Methodologies 7

aParent aRefrigerator aCupboard aSandwich aLunch aLunchBag

GetJelly

GetPeanutButter

GetCookies

GetBread

CreateSandwich

GetMilk

CreateLunch

GetLunchBag

PutLunchInBag

FIGURE 1-1 A Simple Behavioral Model for Making Lunch

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

Structured Design

The first category of systems development methodologies is called structured design. These

methodologies became dominant in the 1980s, replacing the previous, ad hoc, and undis-

ciplined approaches. Structured design methodologies adopt a formal step-by-step

approach to the SDLC that moves logically from one phase to the next. Numerous process-

centered and data-centered methodologies follow the basic approach of the two structured

design categories outlined next.

Waterfall Development The original structured design methodology (that is still used

today) is waterfall development. With waterfall development–based methodologies, the ana-

lysts and users proceed in sequence from one phase to the next (see Figure 1-2). The key

deliverables for each phase are typically very long (often hundreds of pages in length) and

are presented to the project sponsor for approval as the project moves from phase to phase.

Once the sponsor approves the work that was conducted for a phase, the phase ends and the

next one begins. This methodology is referred to as waterfall development because it moves

forward from phase to phase in the same manner as a waterfall. While it is possible to go

backward in the SDLC (e.g., from design back to analysis), it is extremely difficult (imagine

yourself as a salmon trying to swim “upstream” against a waterfall, as shown in Figure 1-2).

Structured design also introduced the use of formal modeling or diagramming tech-

niques to describe the basic business processes and the data that support them. Traditional

structured design uses one set of diagrams to represent the processes and a separate set of

diagrams to represent data. Because two sets of diagrams are used, the systems analyst must

decide which set to develop first and use as the core of the system—process-model diagrams

or data-model diagrams. There is much debate over which should come first, the processes

or the data, because both are important to the system. As a result, several different structured

design methodologies have evolved that follow the basic steps of the waterfall model, but use

different modeling approaches at different times. Those that attempt to emphasize process-

model diagrams as the core of the system are process-centered, while those that emphasize

data-model diagrams as the core of the system concept are data-centered.

8 Chapter 1 Introduction to Systems Analysis and Design

System

Planning

Analysis

Design

Implementation

FIGURE 1-2

A Waterfall

Development–based

Methodology

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

The two key advantages of the structured design waterfall approach are that it identi-

fies system requirements long before programming begins and it minimizes changes to the

requirements as the project proceeds. The two key disadvantages are that the design must

be completely specified before programming begins and that a long time elapses between

the completion of the system proposal in the analysis phase and the delivery of the system

(usually many months or years). The lengthy deliverables are often a poor communication

mechanism; the result is that important requirements can be overlooked in the voluminous

documentation. Users rarely are prepared for their introduction to the new system, which

occurs long after the initial idea for the system was introduced. If the project team misses

important requirements, expensive post-implementation programming may be needed

(imagine yourself trying to design a car on paper; how likely would you be to remember

interior lights that come on when the doors open, or to specify the right number of valves

on the engine?).

A system also may require significant rework because the business environment has

changed from the time that the analysis phase occurred. When changes do occur, it means

going back to the initial phases and following the change through each of the subsequent

phases in turn.

Parallel Development The parallel development methodology attempts to address the

problem of long delays between the analysis phase and the delivery of the system. Instead

of doing design and implementation in sequence, it performs a general design for the

whole system and then divides the project into a series of distinct subprojects that can be

designed and implemented in parallel. Once all subprojects are complete, there is a final

integration of the separate pieces, and the system is delivered (see Figure 1-3).

The primary advantage of this methodology is that it can reduce the schedule time to

deliver a system; thus, there is less chance of changes in the business environment causing

rework. However, the approach still suffers from problems caused by paper documents. It

also adds a new problem: Sometimes the subprojects are not completely independent;

design decisions made in one subproject may affect another, and the end of the project may

require significant integration efforts.

Rapid Application Development (RAD)

A second category of methodologies includes rapid application development

(RAD)–based methodologies. These are a newer class of systems development method-

ologies that emerged in the 1990s. RAD-based methodologies attempt to address both

weaknesses of structured design methodologies by adjusting the SDLC phases to get

some part of the system developed quickly and into the hands of the users. In this way,

the users can better understand the system and suggest revisions that bring the system

closer to what is needed.5

Most RAD-based methodologies recommend that analysts use special techniques and

computer tools to speed up the analysis, design, and implementation phases, such as CASE tools

(see Chapter 4), joint application design (JAD) sessions (see Chapter 5), fourth

generation/visual programming languages that simplify and speed-up programming (e.g.,

Visual Basic), and code generators that automatically produce programs from design specifica-

tions. It is the combination of the changed SDLC phases and the use of these tools and tech-

niques that improve the speed and quality of systems development. However, there is one

Systems Development Methodologies 9

5 One of the best RAD books is that by Steve McConnell, Rapid Development (Redmond, WA: Microsoft Press, 1996).

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

possible subtle problem with RAD-based methodologies: user expectation management. Due

to the use of the tools and techniques that can improve the speed and quality of systems devel-

opment, user expectations of what is possible may dramatically change. As the user better

understands the information technology, the systems requirements tend to expand. This was

less of a problem when using methodologies that spent a lot of time thoroughly documenting

requirements. There are process-centered, data-centered and object-oriented methodologies

that follow the basic approaches of the three RAD categories described below.

Phased Development A phased development–based methodology breaks the overall system

into a series of versions that are developed sequentially. The analysis phase identifies the overall

system concept, and the project team, users, and system sponsor then categorize the require-

ments into a series of versions. The most important and fundamental requirements are bun-

dled into the first version of the system. The analysis phase then leads into design and

implementation, but only with the set of requirements identified for version 1 (see Figure 1-4).

Once version 1 is implemented, work begins on version 2. Additional analysis is per-

formed based on the previously identified requirements and combined with new ideas and

issues that arose from the users’ experience with version 1. Version 2 then is designed and

implemented, and work immediately begins on the next version. This process continues

until the system is complete or is no longer in use.

Phased development–based methodologies have the advantage of quickly getting a use-

ful system into the hands of the users. While the system does not perform all the functions

10 Chapter 1 Introduction to Systems Analysis and Design

System

Planning

Analysis

Design

Implementation

Design

Integration

Implementation

Design

Implementation

Design

Subproject 2

Subproject 1

Subproject 3

FIGURE 1-3 A Parallel Development-based Methodology

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

the users need at first, it does begin to provide business value sooner than if the system were

delivered after completion, as is the case with the waterfall or parallel methodology. Like-

wise, because users begin to work with the system sooner, they are more likely to identify

important additional requirements sooner than with structured design situations.

The major drawback to phased development is that users begin to work with systems

that are intentionally incomplete. It is critical to identify the most important and useful fea-

tures and include them in the first version, while managing users’ expectations along the way.

Prototyping A prototyping-based methodology performs the analysis, design, and

implementation phases concurrently, and all three phases are performed repeatedly in a

cycle until the system is completed. With these methodologies, the basics of analysis and

design are performed, and work immediately begins on a system prototype, a “quick-and-

dirty” program that provides a minimal amount of features. The first prototype is usu-

ally the first part of the system that the user will use. This is shown to the users and

Systems Development Methodologies 11

System version 1

Planning

Analysis

Analysis

Implementation

Design

Analysis

Implementation

Design

Analysis

Implementation

Design

System version 2

System version 3

FIGURE 1-4 A Phased Development–based Methodology

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

project sponsor who provide comments, which are used to re-analyze, re-design, and re-

implement a second prototype that provides a few more features. This process continues

in a cycle until the analysts, users, and sponsor agree that the prototype provides enough

functionality to be installed and used in the organization. After the prototype (now

called the system) is installed, refinement occurs until it is accepted as the new system

(see Figure 1-5).

The key advantage of a prototyping-based methodology is that it very quickly provides

a system for the users to interact with, even if it is not ready for widespread organizational

use at first. Prototyping reassures the users that the project team is working on the system

(there are no long delays in which the users see little progress), and prototyping helps to

more quickly refine real requirements. Rather than attempting to understand a system

specification on paper, the users can interact with the prototype to better understand what

it can and cannot do.

The major problem with prototyping is that its fast-paced system releases challenge

attempts to conduct careful, methodical analysis. Often the prototype undergoes such sig-

nificant changes that many initial design decisions become poor ones. This can cause prob-

lems in the development of complex systems because fundamental issues and problems are

not recognized until well into the development process. Imagine building a car and dis-

covering late in the prototyping process that you have to take the whole engine out to

change the oil (because no one thought about the need to change the oil until after it had

been driven 10,000 miles).

Throwaway Prototyping Throwaway prototyping-based methodologies are similar to

prototyping-based methodologies in that they include the development of prototypes;

however throwaway prototypes are done at a different point in the SDLC. These prototypes

are used for a very different purpose than ones previously discussed, and they have a very

different appearance (see Figure 1-6).

The throwaway prototyping-based methodologies have a relatively thorough analysis

phase that is used to gather information and to develop ideas for the system concept.

However, many of the features suggested by the users may be not well understood, and

there may be challenging technical issues to be solved. Each of these issues is examined by

analyzing, designing, and building a design prototype. A design prototype is not a working

system; it is a product that represents a part of the system that needs additional refine-

ment, and it only contains enough detail to enable users to understand the issues under

consideration. For example, suppose users are not completely clear on how an order entry

system should work. The analyst team might build a series of HTML pages viewed using

12 Chapter 1 Introduction to Systems Analysis and Design

System prototype

System

Planning

Analysis

Design

Implementation

Implementation

FIGURE 1-5

A Prototyping-based

Methodology

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

a Web browser to help the users visualize such a system. In this case, a series of mock-up

screens appear to be a system, but they really do nothing. Or, suppose that the project

team needs to develop a sophisticated graphics program in Java. The team could write a

portion of the program with pretend data to ensure that they could do a full-blown pro-

gram successfully.

A system that is developed using this type of methodology probably relies on several

design prototypes during the analysis and design phases. Each of the prototypes is used to

minimize the risk associated with the system by confirming that important issues are

understood before the real system is built. Once the issues are resolved, the project moves

into design and implementation. At this point, the design prototypes are thrown away,

which is an important difference between these methodologies and prototyping method-

ologies, in which the prototypes evolve into the final system.

Throwaway prototyping-based methodologies balance the benefits of well-

thought-out analysis and design phases with the advantages of using prototypes to

refine key issues before a system is built. It may take longer to deliver the final system

as compared to prototyping-based methodologies (since the prototypes do not become

the final system), but this type of methodology usually produces more stable and reli-

able systems.

Agile Development6

A third category of systems development methodologies is still emerging today: agile

development.7 These programming-centric methodologies have few rules and practices,

all of which are fairly easy to follow. They focus on streamlining the SDLC by eliminat-

ing much of the modeling and documentation overhead, and the time spent on those

tasks. Instead, projects emphasize simple, iterative application development. Examples

Systems Development Methodologies 13

Design prototype

System

Analysis

Analysis

Design

Implementation

Planning

Implementation

Design

FIGURE 1-6 A Throwaway Prototyping–based Methodology

6 Two good sources of information on agile development and object-oriented systems is S.W. Ambler, Agile Mod- eling: Effective Practices for Extreme Programming and The Unified Process (New York: John Wiley & Sons, 2002), and R.C. Martin, Agile Software Development: Principles, Patterns, and Practices (Englewood Cliffs, NJ: Prentice Hall, 2003). 7 For more information, see www.AgileAlliance.org.

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

of agile development methodologies include extreme programming (XP),8 Scrum,9 and

the Dynamic Systems Development Method (DSDM).10 Next, we describe XP as an

example agile development approach. Typically, XP is used in conjunction with object-

oriented methodologies.

Extreme Programming11 Extreme programming (XP) is founded on four core values:

communication, simplicity, feedback, and courage. These four values provide a founda-

tion on which XP developers use to create any system. First, the developers must provide

rapid feedback to the end users on a continuous basis. Second, XP requires developers to

follow the KISS principle.12 Third, developers must make incremental changes to grow

the system and they must not only accept change, they must embrace change. Fourth,

developers must have a quality first mentality. XP also supports team members in devel-

oping their own skills.

Three of the key principles that XP uses to create successful systems are continuous

testing, simple coding performed by pairs of developers, and close interactions with end

users to build systems very quickly. After a superficial planning process, projects perform

analysis, design, and implementation phases iteratively (see Figure 1-7).

Testing and efficient coding practices are core to XP. In fact, each day code is tested and

placed into an integrative testing environment. If bugs exist, the code is backed out until it

is completely free of errors. XP relies heavily on refactoring, which is a disciplined way to

restructure code to keep it simple.

An XP project begins with user stories that describe what the system needs to do.

Then, programmers code in small, simple modules and test to meet those needs. Users are

required to be available to clear up questions and issues as they arise. Standards are very

important to minimize confusion, so XP teams use a common set of names, descriptions,

and coding practices. XP projects deliver results sooner than even the RAD approaches, and

they rarely get bogged down in gathering requirements for the system.

14 Chapter 1 Introduction to Systems Analysis and Design

8 For more information, see www.extremeprogramming.com. 9 For more information, see www.controlchaos.com. 10 For more information, see www.dsdm.org. 11 For more information, see K. Beck, eXtreme Programming Explained: Embrace Change (Reading, MA: Addison- Wesley, 2000) and M. Lippert, S. Roock, and H. Wolf, eXtreme Programming in Action: Practical Experiences from Real World Projects (New York: John Wiley & Sons, 2002). 12 Keep It Simple, Stupid.

Implementation

Design

Analysis

System

Planning

FIGURE 1-7

The Extreme Program-

ming Methodology

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

For small projects with highly motivated, cohesive, stable, and experienced teams, XP

should work just fine. However, if the project is not small or the teams aren’t jelled13 then

the success of an XP development effort is doubtful. This tends to throw the whole idea of

bringing outside contractors into an existing team environment using XP into doubt.14

The chance of outsiders “jelling” with insiders may simply be too optimistic. XP requires a

great deal of discipline, otherwise projects will become unfocused and chaotic. Further-

more, it is only recommended for small groups of developers—no more than ten develop-

ers, and it is not advised for large mission-critical applications. Due to the lack of analysis

and design documentation, there is only code documentation associated with XP, main-

taining large systems built with XP may be impossible. And since mission-critical business

information systems tend to exist for a long time, the utility of XP as a business informa-

tion system development methodology is in doubt. Finally, the methodology needs a lot of

on-site user input, something to which many business units cannot commit.15

Selecting the Appropriate Development Methodology

Since there are many methodologies, the first challenge faced by analysts is to select which

methodology to use. Choosing a methodology is not simple, because no one methodology

is always best (if it were, we’d simply use it everywhere!). Many organizations have stan-

dards and policies to guide the choice of methodology. You will find that organizations

range from having one “approved” methodology, to having several methodology options,

to having no formal policies at all.

Figure 1-8 summarizes some important methodology selection criteria. One impor-

tant item not discussed in this figure is the degree of experience of the analyst team. Many

of the RAD-based methodologies require the use of “new” tools and techniques that have

a significant learning curve. Often these tools and techniques increase the complexity of the

project and require extra time for learning. However, once they are adopted and the team

becomes experienced, the tools and techniques can significantly increase the speed in

which the methodology can deliver a final system.

Clarity of User Requirements When the user requirements for what the system should do

are unclear, it is difficult to understand them by talking about them and explaining them with

written reports. Users normally need to interact with technology to really understand what the

new system can do and how to best apply it to their needs. Prototyping and throwaway proto-

typing–based RAD methodologies are usually more appropriate when user requirements are

unclear because they provide prototypes for users to interact with early in the SDLC.

Familiarity with Technology When the system will use new technology with which the

analysts and programmers are not familiar (e.g., the first Web development project with

Java), early application of the new technology in the methodology will improve the chance

of success. If the system is designed without some familiarity with the base technology,

risks increase because the tools might not be capable of doing what is needed. Throwaway

Systems Development Methodologies 15

13 A “jelled team” is one that has low turnover, a strong sense of identity, a sense of eliteness, a feeling that they jointly own the product being developed, and enjoyment in working together. For more information regarding jelled teams, see T. DeMarco and T. Lister. Peopleware: Productive Projects and Teams, New York, NY (Dorsett, House, 1987). 14 Considering the tendency for offshore outsourcing, this is a major obstacle for XP to overcome. For more information on offshore outsourcing, see P. Thibodeau, ITAA panel debates outsourcing pros, cons, Computer- world Morning Update (September 25, 2003), and S.W. Ambler, “Chicken Little Was Right,” Software Development (October 2003). 15 Many of the observations described on the utility of XP as a development approach was based on conversa- tions with Brian Henderson-Sellers.

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

prototyping–based methodologies are particularly appropriate for a lack of familiarity with

technology because they explicitly encourage the developers to develop design prototypes

for areas with high risks. Phased development-based methodologies are good as well,

because they create opportunities to investigate the technology in some depth before the

design is complete. While one might think prototyping-based methodologies would also be

appropriate, they are much less so, since the early prototypes that are built usually only

scratch the surface of the new technology. Usually, it is only after several prototypes and

several months that the developers discover weaknesses or problems in the new technology.

System Complexity Complex systems require careful and detailed analysis and design.

Throwaway prototyping–based methodologies are particularly well suited to such detailed

analysis and design, as opposed to prototyping-based methodologies, which are not. The

traditional structured design–based methodologies can handle complex systems, but with-

out the ability to get the system or prototypes into the users’ hands early on, some key

issues may be overlooked. Although phased development–based methodologies enable

users to interact with the system early in the process, we have observed that project teams

who follow these tend to devote less attention to the analysis of the complete problem

domain than they might using others.

System Reliability System reliability is usually an important factor in system develop-

ment—after all, who wants an unreliable system? However, reliability is just one factor

among several. For some applications reliability is truly critical (e.g., medical equipment,

missile control systems), while for other applications is it is merely important (e.g., games,

Internet video). Throwaway prototyping methodologies are the most appropriate when

system reliability is a high priority, because it combines detailed analysis and design phases

with the ability for the project team to test many different approaches through design pro-

totypes before completing the design. Prototyping methodologies are generally not a good

choice when reliability is critical because it lacks the careful analysis and design phases that

are essential for dependable systems.

Short Time Schedules Projects that have short time schedules are well suited for RAD-

based methodologies. This is due to them being designed to increase the speed of devel-

opment. Prototyping and phased development–based methodologies are excellent

choices when timelines are short because they best enable the project team to adjust the

16 Chapter 1 Introduction to Systems Analysis and Design

with Unclear User Requirements Poor Poor Good Excellent Excellent Excellent

with Unfamiliar Technology Poor Poor Good Poor Excellent Poor

that are Complex Good Good Good Poor Excellent Poor

that are Reliable Good Good Good Poor Excellent Good

with a Short Time Schedule Poor Good Excellent Excellent Good Excellent

with Schedule Visibility Poor Poor Excellent Excellent Good Good

Agile

Ability to

Structured Methodologies RAD Methodologies Methodologies

Throwaway Develop Systems Waterfall Parallel Phased Prototyping Prototyping XP

FIGURE 1-8 Criteria for Selecting a Methodology

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

functionality in the system based on a specific delivery date, and if the project schedule

starts to slip, it can be readjusted by removing functionality from the version or proto-

type under development. Waterfall-based methodologies are the worst choice when time

is at a premium because it does not allow for easy schedule changes.

Schedule Visibility One of the greatest challenges in systems development is determin-

ing whether a project is on schedule. This is particularly true of the structured design

methodologies since design and implementation occur at the end of the project. The RAD-

based methodologies move many of the critical design decisions earlier in the project to

help project managers recognize and address risk factors and keep expectations in check.

PROJECT TEAM ROLES AND SKILLS

As should be clear from the various phases and steps performed during the SDLC, the pro-

ject team needs a variety of skills. Project members are change agents who identify ways to

improve an organization, build an information system to support them, and train and

motivate others to use the system. Leading a successful organizational change effort is one

of the most difficult jobs that someone can do. Understanding what to change and how to

change it, and convincing others of the need for change, requires a wide range of skills.

These skills can be broken down into six major categories: technical, business, analytical,

interpersonal, management, and ethical.

Analysts must have the technical skills to understand the organization’s existing tech-

nical environment, the technology that will comprise the new system, and the way in which

both can be fit into an integrated technical solution. Business skills are required to under-

stand how IT can be applied to business situations and to ensure that the IT delivers real

business value. Analysts are continuous problem solvers at both the project and the orga-

nizational level, and they put their analytical skills to the test regularly.

Often, analysts need to communicate effectively one-on-one with users and business

managers (who often have little experience with technology) and with programmers (who

often have more technical expertise than the analyst). They must be able to give presenta-

tions to large and small groups and write reports. Not only do they need to have strong

interpersonal abilities, but also they need to manage people with whom they work and they

need to manage the pressure and risks associated with unclear situations.

Project Team Roles and Skills 17

Suppose you are an analyst for the Roanoke Software Consulting Company (RSCC), a large consulting firm with offices around the world. The company wants to build a new knowledge management system that can identify and track the expertise of individual consultants anywhere in the world based on their education and the various consulting projects on which they have worked. Assume that this is a new idea that has never before been attempted in RSCC or elsewhere. RSCC has an

international network, but the offices in each country may use somewhat different hardware and software. RSCC management wants the system up and running within a year.

Question:

1. What type of methodology would you recommend RSCC use? Why?

1-1 Selecting a MethodologyYOUR

TURN

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

Finally, analysts must deal fairly, honestly, and ethically with other project team mem-

bers, managers, and system users. Analysts often deal with confidential information or

information that, if shared with others, could cause harm (e.g., dissent among employees);

it is important to maintain confidence and trust with all people.

In addition to these six general skill sets, analysts require many specific skills that are asso-

ciated with roles that are performed on a project. In the early days of systems development,

most organizations expected one person, the analyst, to have all of the specific skills needed to

conduct a systems development project. Some small organizations still expect one person to

perform many roles, but because organizations and technology have become more complex,

most large organizations now build project teams that contain several individuals with clearly

defined responsibilities. Different organizations divide the roles differently, but Figure 1-9 pre-

sents one commonly used set of project team roles. Most IS teams include many other indi-

viduals, such as the programmers, who actually write the programs that make up the system,

network engineers, who focus on the design of the network, database administrators, who deal

with optimizing the physical design of the database, and technical writers, who prepare the help

screens and other documentation (e.g., users manuals, systems manuals).

Business Analyst

The business analyst focuses on the business issues surrounding the system. These include

identifying the business value that the system will create, developing ideas and suggestions for

how the business processes can be improved, and designing the new processes and policies in

conjunction with the systems analyst. This individual will likely have business experience and

some type of professional training (e.g., the business analyst for accounting systems will likely

be a CPA [in the United States] or a CA [in Canada]). He or she represents the interests of the

project sponsor and the ultimate users of the system. The business analyst assists in the plan-

ning and design phases, but is most active in the analysis phase.

18 Chapter 1 Introduction to Systems Analysis and Design

Business analyst Analyzing the key business aspects of the system

Identifying how the system will provide business value

Designing the new business processes and policies

Systems analyst Identifying how technology can improve business processes

Designing the new business processes

Designing the information system

Ensuring that the system conforms to information systems standards

Infrastructure analyst Ensuring the system conforms to infrastructure standards

Identifying infrastructure changes needed to support the system

Change management analyst Developing and executing a change management plan

Developing and executing a user training plan

Project manager Managing the team of analysts, programmers, technical writers, and other specialists

Developing and monitoring the project plan

Assigning resources

Serving as the primary point of contact for the project

Role Responsibilities

FIGURE 1-9

Project Team Roles

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

Systems Analyst

The systems analyst focuses on the IS issues surrounding the system. This person devel-

ops ideas and suggestions for how information technology can improve business

processes, designs the new business processes with help from the business analyst,

designs the new information system, and ensures that all IS standards are maintained.

The systems analyst likely will have significant training and experience in analysis and

design, programming, and even areas of the business. He or she represents the interests

of the IS department and works intensively through the project, but perhaps less so dur-

ing the implementation phase.

Infrastructure Analyst

The infrastructure analyst focuses on the technical issues surrounding how the system

will interact with the organization’s technical infrastructure (e.g., hardware, software,

networks and databases). The infrastructure analyst tasks include ensuring that the new

information system conforms to organizational standards and identifying infrastructure

changes needed to support the system. This individual will likely have significant train-

ing and experience in networking, database administration, and various hardware and

software products. He or she represents the interests of the organization and IS group

that will ultimately have to operate and support the new system once it has been

installed. The infrastructure analyst works throughout the project, but perhaps less so

during planning and analysis phases.

Change Management Analyst

The change management analyst focuses on the people and management issues surround-

ing the system installation. The roles of this person include ensuring that the adequate doc-

umentation and support are available to users, providing user training on the new system,

and developing strategies to overcome resistance to change. This individual likely will have

significant training and experience in organizational behavior in general, and change man-

agement in particular. He or she represents the interests of the project sponsor and users

for whom the system is being designed. The change management analyst works most

actively during the implementation phase, but begins laying the groundwork for change

during the analysis and design phases.

Project Manager

The project manager is responsible for ensuring that the project is completed on time

and within budget and that the system delivers all benefits that were intended by the

project sponsor. The role of the project manager includes managing the team members,

developing the project plan, assigning resources, and being the primary point of contact

when people outside the team have questions about the project. This individual likely

will have significant experience in project management and likely has worked for many

years as a systems analyst beforehand. He or she represents the interests of the IS

department and the project sponsor. The project manager works intensely during all

phases of the project.

Project Team Roles and Skills 19

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

SUMMARY

The Systems Development Life Cycle

All systems development projects follow essentially the same fundamental process called

the system development life cycle (SDLC). SLDC starts with a planning phase in which the

project team identifies the business value of the system, conducts a feasibility analysis, and

plans the project. The second phase is the analysis phase, in which the team develops an

analysis strategy, gathers information, and builds a set of analysis models. In the next phase,

the design phase, the team develops the physical architecture design, interface design, data-

base and file specifications, and program design. In the final phase, implementation, the

system is built, installed, and maintained.

The Evolution of Systems Development Methodologies

System development methodologies are formalized approaches to implementing an SDLC.

System development methodologies have evolved over the decades. Structured design

methodologies, such as waterfall and parallel development, emphasize decomposition of a

problem by either focusing on process decomposition (process-centric methodologies) or data

decomposition (data-centric methodologies). They produce a solid, well-thought-out system,

but can overlook requirements because users must specify them early in the design process

before seeing the actual system. RAD-based methodologies attempt to speed up development

and make it easier for users to specify requirements by having parts of the system developed

sooner either by producing different versions (phased development) or by using prototypes

(prototyping, throwaway prototyping) through the use of CASE tools and fourth genera-

tion/visual programming languages. However, RAD-based methodologies still tend to be

either process-centric or data-centric. Agile development methodologies, such as XP, focus on

streamlining the SDLC by eliminating many of the tasks and time associated with require-

ments definition and documentation. Several factors influence the choice of a methodology:

clarity of the user requirements; familiarity with the base technology; system complexity; need

for system reliability; time pressures; and the need to see progress on the time schedule.

Project Team Roles and Skills The project team needs a variety of skills. All analysts

need to have general skills, such as change management, ethics, communications, and

technical. However, different kinds of analysts require specific skills in addition to these.

Business analysts usually have business skills that help them to understand how the busi-

ness issues surrounding the system, whereas systems analysts also have significant experi-

ence in analysis and design and programming. The infrastructure analyst focuses on

technical issues surrounding how the system will interact with the organization’s techni-

cal infrastructure, and the change management analyst focuses on people and manage-

ment issues surrounding the system installation. In addition to analysts, project teams will

include a project manager, programmers, technical writers, and other specialists.

20 Chapter 1 Introduction to Systems Analysis and Design

Suppose you decide to become an analyst after you grad- uate. What type of analyst would you most prefer to be? What type of courses should you take before you graduate? What type of summer job or internship should you seek?

Question:

1. Develop a short plan that describes how you will prepare for your career as an analyst.

1.2 Being an AnalystYOUR

TURN

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

KEY TERMS

Agile development

Analysis model

Analysis phase

Analysis strategy

Approval committee

Architecture design

As-is system

Business analyst

Change agent

Change management analyst

Construction

Database administrator

Database and file specification

Data-centered methodology

Deliverable

Design phase

Design prototype

Design strategy

Extreme programming (XP)

Feasibility analysis

Gradual refinement

Implementation phase

Infrastructure analyst

Installation

Interface design

Methodology

Network engineer

Object-oriented methodology

Parallel development

Phase

Phased development

Planning phase

Process-centered methodology

Program design

Programmer

Project initiation

Project management

Project manager

Project plan

Project sponsor

Prototyping

Refactoring

Rapid application development (RAD)

Requirements gathering

Steering committee

Step

Structured design

Support plan

System development life cycle (SDLC)

System proposal

System prototype

System request

System specification

Systems analyst

Technical writer

Technique

Throwaway prototyping

To-be system

Training plan

Version

Waterfall development

Workplan

Exercises 21

QUESTIONS

1. Compare and contrast phases, steps, techniques, and

deliverables.

2. Describe the major phases in the systems develop-

ment life cycle (SDLC).

3. Describe the principal steps in the planning phase.

What are the major deliverables?

4. Describe the principal steps in the analysis phase.

What are the major deliverables?

5. Describe the principal steps in the design phase.

What are the major deliverables?

6. Describe the principal steps in the implementation

phase. What are the major deliverables?

7. What are the roles of a project sponsor and the

approval committee?

8. What does gradual refinement mean in the context

of SDLC?

9. Compare and contrast process-centered methodolo-

gies with data-centered methodologies.

10. Compare and contrast structured design-based

methodologies in general to RAD-based methodolo-

gies in general.

11. Compare and contrast extreme programming and

throwaway prototyping.

12. Describe the major elements and issues with water-

fall development.

13. Describe the major elements and issues with parallel

development.

14. Describe the major elements and issues with phased

development.

15. Describe the major elements and issues with proto-

typing.

16. Describe the major elements and issues with throw-

away prototyping.

17. What are the key factors in selecting a methodology?

18. What are the major roles on a project team?

19. Compare and contrast the role of a systems analyst,

business analyst, and infrastructure analyst.

20. Which phase in the SDLC is most important? Why?

EXERCISES

A. Suppose you are a project manager using a waterfall

development–based methodology on a large and com-

plex project. Your manager has just read the latest arti-

cle in Computerworld that advocates replacing this

methodology with prototyping and comes to your

office requesting you to switch. What do you say?

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com

22 Chapter 1 Introduction to Systems Analysis and Design

MINICASES

1. Barbara Singleton, manager of western regional sales at

the WAMAP Company, requested that the IS department

develop a sales force management and tracking system

that would enable her to better monitor the performance

of her sales staff. Unfortunately, due to the massive back-

log of work facing the IS department, her request was

given a low priority. After six months of inaction by the IS

department, Barbara decided to take matters into her own

hands. Based on the advice of friends, Barbara purchased

a PC and simple database software and constructed a sales

force management and tracking system on her own.

Although Barbara’s system has been “completed”

for about six weeks, it still has many features that do

not work correctly, and some functions are full of

errors. Barbara’s assistant is so mistrustful of the sys-

tem that she has secretly gone back to using her old

paper-based system, since it is much more reliable.

Over dinner one evening, Barbara complained to a

systems analyst friend, “I don’t know what went wrong

with this project. It seemed pretty simple to me. Those

IS guys wanted me to follow this elaborate set of steps

and tasks, but I didn’t think all that really applied to a

PC-based system. I just thought I could build this sys-

tem and tweak it around until I got what I wanted

without all the fuss and bother of the methodology the

IS guys were pushing. I mean, doesn’t that just apply to

their big, expensive systems?”

Assuming you are Barbara’s systems analyst friend,

how would you respond to her complaint?

2. Marcus Weber, IS project manager at ICAN Mutual

Insurance Co., is reviewing the staffing arrangements

for his next major project, the development of an expert

system-based underwriters assistant. This new system

will involve a whole new way for the underwriters to per-

form their tasks. The underwriters assistant system will

function as sort of an underwriting supervisor, review-

ing key elements of each application, checking for con-

sistency in the underwriter’s decisions, and ensuring that

no critical factors have been overlooked. The goal of the

new system is to improve the quality of the underwrit-

ers’ decisions and to improve underwriter productivity.

It is expected that the new system will substantially

change the way the underwriting staff do their jobs.

Marcus is dismayed to learn that due to budget con-

straints, he must choose between one of two available

staff members. Barry Filmore has had considerable

experience and training in individual and organiza-

tional behavior. Barry has worked on several other pro-

jects in which the end users had to make significant

adjustments to the new system, and Barry seems to have

a knack for anticipating problems and smoothing the

transition to a new work environment. Marcus had

hoped to have Barry’s involvement in this project.

Marcus’s other potential staff member is Kim

Danville. Prior to joining ICAN Mutual, Kim had con-

siderable work experience with the expert system tech-

nologies that ICAN has chosen for this expert system

project. Marcus was counting on Kim to help integrate

the new expert system technology into ICAN’s systems

environment, and also to provide on-the-job training

and insights to the other developers on this team.

Given that Marcus’s budget will only permit him to

add Barry or Kim to this project team, but not both, what

choice do you recommend for him? Justify your answer.

B. The basic types of methodologies discussed in this chap-

ter can be combined and integrated to form new hybrid

methodologies. Suppose you were to combine throw-

away prototyping with the use of waterfall development.

What would the methodology look like? Draw a picture

(similar to those in Figures 1-2 through 1-7). How

would this new methodology compare to the others?

C. Suppose you were an analyst working for a small com-

pany to develop an accounting system. What type of

methodology would you use? Why?

D. Suppose you were an analyst developing a new execu-

tive information system intended to provide key strate-

gic information from existing corporate databases to

senior executives to help in their decision making. What

type of methodology would you use? Why?

E. Suppose you were an analyst developing a new informa-

tion system to automate the sales transactions and man-

age inventory for each retail store in a large chain. The

system would be installed at each store and exchange

data with a mainframe computer at the company’s head

office. What type of methodology would you use? Why?

F. Look in the classified section of your local newspaper.

What kinds of job opportunities are available for peo-

ple who want analyst positions? Compare and con-

trast the skills that the ads ask for to the skills that we

presented in this chapter.

G. Think about your ideal analyst position. Write a news-

paper ad to hire someone for that position. What

requirements would the job have? What skills and

experience would be required? How would an appli-

cant be able to demonstrate having the appropriate

skills and experience?

Copyright © 2005 John Wiley & Sons Retrieved from: www.knovel.com