59
McGraw-Hill © 2008 The McGraw-Hill Companies, Inc. All rights reserved.  Chapter 5.1 ( week 10 ) SYSTEMS DEVELOPMENT Phases, Tools, and Techniques 

Week 10 - Method of System Development

Embed Size (px)

Citation preview

Page 1: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 1/59

McGraw-Hill  © 2008 The McGraw-Hill Companies, Inc. All rights reserved. 

Chapter 5.1( week 10 )

SYSTEMS DEVELOPMENTPhases, Tools, and Techniques 

Page 2: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 2/59

6-2

STUDENT LEARNING OUTCOMES

1. Define the traditional systems development lifecycle (SDLC) and describe the 7 major phaseswithin it.

2. Compare and contrast the various component-based development methodologies.

3. Describe the selfsourcing process as an

alternative to the traditional SDLC.

Page 3: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 3/59

6-3

STUDENT LEARNING OUTCOMES

4. Discuss the importance of prototyping andprototyping within any systems developmentmethodology

5. Describe the outsourcing environment and howoutsourcing works.

Page 4: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 4/59

6-4

SAVING LIVES THROUGH SYSTEMSDEVELOPMENT

Centers for Disease Control (CDC) tracks a wealthof information

Antimicrobial-resistant infections in hospitals Influenza outbreaks

Terrorist biochemical attacks

Bacteria counts in rivers and stagnant ponds, etc

Unfortunately, most of that information is stored inseparate IT systems that do not communicate witheach other

Page 5: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 5/596-5

SAVING LIVES THROUGH SYSTEMSDEVELOPMENT

The CDC is using a service-oriented architecture(SoA) to integrate all those systems and information

An SoA treats every component of an IT system – adatabase file, a server, a CRM software solution, etc – as a building block

Within an SoA, those building blocks can be

“plugged and played” so that everything workstogether in an integrated fashion

Page 6: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 6/596-6

SAVING LIVES THROUGH SYSTEMSDEVELOPMENT

1. All computers use a common binary baselanguage. That being true, why is it so difficult toget computer systems to easily communicate witheach other?

2. In systems development, prototyping is used tobuild a model of a proposed system. How have

you used prototyping in your personal life?3. Outsourcing – going to another company for

systems development – is big business. Whywould the CDC not want to pursue outsourcing?

Page 7: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 7/596-7

INTRODUCTION

Information systems are the support structure formeeting the company’s strategies and goals 

New systems are created because employeesrequest them

New systems are created to obtain a competitiveadvantage

Page 8: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 8/596-8

INTRODUCTION

When developing a new system, you have 3 “who”

choices… 

1. Insourcing  – IT specialists inside your organization

2. Selfsourcing   – do-it-yourself approach many endusers take with little or no help from IT specialists

3. Outsourcing   – a third-party organization (i.e., let

someone do the work and pay them for it)

Page 9: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 9/596-9

CHAPTER ORGANIZATION

1. Insourcing and the SDLC

Learning outcome #1

2. Component-Based Development

Learning outcome #23. Selfsourcing

Learning outcome #3

4. Prototyping

Learning outcome #4

5. Outsourcing

Learning outcome #5

Page 10: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 10/596-10

INSOURCING AND THE SDLC

Systems development life cycle (SDLC) - astructured step-by-step approach for developinginformation systems

7 distinct phases, each with well-defined activities

Also called a waterfall methodology , an approachin which each phase of the SDLC is followed by

another, from planning through implementation

Page 11: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 11/596-11

SDLC Phases & Major Activities

Page 12: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 12/596-12

SDLC as a Waterfall Methodology

Page 13: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 13/596-13

Phase 1: Planning

Planning phase - create a solid plan fordeveloping your information system

Three primary planning activities:1. Define the system to be developed

You can’t build every system, so you make choices

based on your organization’s priorities, which may be

expressed as critical success factors

Critical success factor (CSF) - a factor simply criticalto your organization’s success

Page 14: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 14/596-14

Phase 1: Planning

2. Set the project scope 

Project scope - clearly defines the high-level systemrequirements

Scope creep - occurs when the scope of the projectincreases 

Feature creep - occurs when developers add extrafeatures that were not part of the initial requirements 

Project scope document - a written definition of theproject scope and is usually no longer than a paragraph

Page 15: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 15/596-15

Phase 1: Planning

3. Develop the project plan including tasks, resources,and timeframes 

Project plan - defines the what, when, and who

questions of system development  Project manager - an individual who is an expert in

project planning and management, defines anddevelops the project plan and tracks the plan to ensure

all key project milestones are completed on time  Project milestones - represent key dates for which

you need a certain group of activities performed

Page 16: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 16/596-16

Phase 1: Planning

Sample Project Plan

Page 17: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 17/596-17

Phase 2: Analysis

Analysis phase - involves end users and ITspecialists working together to gather, understand,and document the business requirements for theproposed system

Page 18: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 18/59

6-18

Phase 2: Analysis

Two primary analysis activities:

1. Gather the business requirements

Business requirements - the detailed set ofknowledge worker requests that the system must meetin order to be successful

Business requirements address the “why” and “what” of 

your development activities

Joint application development (JAD ) - knowledgeworkers and IT specialists meet, sometimes for severaldays, to define or review the business requirements forthe system

Page 19: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 19/59

6-19

Phase 2: Analysis

2. Prioritize the requirements

Requirements definition document  – prioritizes thebusiness requirements and places them in a formal

comprehensive document  Again, you probably can’t do everything, so prioritizing

is important

Users sign off on this document which clearly sets the

scope for the project

Page 20: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 20/59

6-20

Phase 2: Analysis

Take time during analysis to get the business requirements correct. If

you find errors, fix them immediately. The cost to fix an error in the earlystages of the SDLC is relatively small. In later stages, the cost is huge.

Page 21: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 21/59

6-21

Phase 3: Design

Design phase - build a technical blueprint of howthe proposed system will work

Two primary design activities:

1. Design the technical architecture

Technical architecture - defines the hardware,software, and telecommunications equipment requiredto run the system

Page 22: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 22/59

6-22

Phase 3: Design

2. Design system models 

This includes GUI screens that users will interface with,database designs (see XLM/C), report formats,

software steps, etc

Starting with design, you take on less of an activeparticipation role and act more as a “quality control”

function, ensuring that the IT people are designinga system to meet your needs

Page 23: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 23/59

6-23

Phase 4: Development

Development phase - take all of your detaileddesign documents from the design phase andtransform them into an actual system

Two primary development activities:

1. Build the technical architecture

2. Build the database and programs

Both of these activities are mostly performed by ITspecialists

Page 24: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 24/59

6-24

Phase 5: Testing

Testing phase - verifies that the system worksand meets all of the business requirementsdefined in the analysis phase

Two primary testing activities:

1. Write the test conditions

Test conditions - the detailed steps the system mustperform along with the expected results of each step

Page 25: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 25/59

6-25

Phase 5: Testing

2. Perform the testing of the system

Unit testing   – tests individual units of code 

System testing   – verifies that the units of code

function correctly when integrated  Integration testing   – verifies that separate systems

work together 

User acceptance testing (UAT)  – determines if the

system satisfies the business requirements

Page 26: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 26/59

6-26

Phase 6: Implementation

Implementation phase - distribute the system toall of the knowledge workers and they begin usingthe system to perform their everyday jobs

Two primary implementation activities

1. Write detailed user documentation

User documentation - highlights how to use thesystem

Page 27: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 27/59

6-27

Phase 6: Implementation

2. Provide training for the system users

Online training - runs over the Internet or off a CD-ROM

Workshop training - is held in a classroomenvironment and lead by an instructor

Page 28: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 28/59

6-28

Phase 6: Implementation

Choose the right implementation method 

Parallel implementation   – use both the old and newsystem simultaneously 

Plunge implementation   – discard the old systemcompletely and use the new

Pilot implementation   – start with small groups ofpeople on the new system and gradually add more

users 

Phased implementation   – implement the newsystem in phases

Page 29: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 29/59

6-29

Phase 7: Maintenance

Maintenance phase - monitor and support thenew system to ensure it continues to meet thebusiness goals

Two primary maintenance activities:

1. Build a help desk to support the system users

Help desk - a group of people who responds toknowledge workers’ questions

2. Provide an environment to support system changes

COMPONENT-BASED

Page 30: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 30/59

6-30

COMPONENT BASEDDEVELOPMENT

The SDLC focuses only on the project at hand

Component-based development (CBD)  – focuseson building small self-contained blocks of code(components) that can be reused across a variety ofapplications

CBD focuses on

1. Using already-developed components to buildsystems quickly

2. Building new components as needed that can beused in all future systems

Component-Based Development

Page 31: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 31/59

6-31

Component Based DevelopmentMethodologies

Rapid application development (RAD)

Extreme programming (XP)

Agile methodology

Page 32: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 32/59

6-32

Rapid Application Development (RAD)

Rapid application development (RAD) (also calledrapid prototyping ) - emphasizes extensive userinvolvement in the rapid and evolutionary

construction of working prototypes of a system toaccelerate the systems development process

Prototypes are models of the software components

The development team continually designs,develops, and tests the component prototypes untilthey are finished

R id A li i D l (RAD)

Page 33: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 33/59

6-33

Rapid Application Development (RAD)

Build newsoftware

components

Use already-existing software

components

E t P i (XP)

Page 34: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 34/59

6-34

Extreme Programming (XP)

Extreme programming (XP) - breaks a project intotiny phases and developers cannot continue on to thenext phase until the first phase is complete

A il M th d l

Page 35: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 35/59

6-35

Agile Methodology

Agile methodology - a form of XP, aims forcustomer satisfaction through early and continuousdelivery of useful software components

S A A A hit t P ti

Page 36: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 36/59

6-36

SoA – An Architecture Perspective

Service-oriented architecture (SoA)  – perspectivethat focuses on the development, use, and reuse ofsmall self-contained blocks of code (called services )

to meet all application software needs

All CBD methodologies adhere to an SoA

Services are the same as components , which are

the same as small self-contained blocks of codeMore in Chapter 7

SELFSOURCING

Page 37: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 37/59

6-37

SELFSOURCING

Selfsourcing (end-user development)   – thedevelopment and support of IT systems by endusers with little or no help from IT specialists

Do-it-yourself systems development approach

Can relieve IT specialists of the burden ofdeveloping many smaller systems

Selfso rcing Approach

Page 38: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 38/59

6-38

Selfsourcing Approach

Is similar to traditional SDLC

Big exception is that design, development, testing,and implementation are replaced by the process of

prototyping

Prototyping is the process of building models, and – in this case – continually refining those models until

they become the final system

Selfsourcing Approach

Page 39: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 39/59

6-39

Selfsourcing Approach

Selfsourcing Advantages

Page 40: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 40/59

6-40

Selfsourcing Advantages

Improves requirements determination

Increases end user participation and sense ofownership

Increases speed of systems development

Reduces invisible backlog

Invisible backlog  – list of all systems that an

organization needs to develop but – because of theprioritization of systems development needs – neverget funded because of the lack of organizationalresources

Selfsourcing Disadvantages

Page 41: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 41/59

6-41

Selfsourcing Disadvantages

Inadequate end user expertise leads to inadequatelydeveloped systems

Lack of organizational focus creates “privatized” IT

systems

Insufficient analysis of design alternatives leads tosubpar IT systems

Lack of documentation and external support leads toshort-lived systems

The Right Tool for the Job

Page 42: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 42/59

6-42

The Right Tool for the Job

End users must have development tools that:

Are easy to use

Support multiple platforms

Offer low cost of ownership

Support a wide range of data types

PROTOTYPING

Page 43: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 43/59

6-43

PROTOTYPING

Prototype   – a model of a proposed product,service, or system 

Prototyping - the process of building a model that

demonstrates the features of a proposed product,service, or system

Proof-of-concept prototype -  used to prove thetechnical feasibility of a proposed system 

Selling prototype - used to convince people of theworth of a proposed system

The Prototyping Process

Page 44: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 44/59

6-44

The Prototyping Process

The prototyping process involves four steps:

1. Identify basic requirements

2. Develop initial prototype

3. User review

4. Revise and enhance the prototype

The Prototyping Process

Page 45: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 45/59

6-45

The Prototyping Process

Advantages of Prototyping

Page 46: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 46/59

6-46

Advantages of Prototyping

Encourages active user participation

Helps resolve discrepancies among users

Gives users a feel for the final system

Helps determine technical feasibility

Helps sell the idea of a proposed system 

Disadvantages of Prototyping

Page 47: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 47/59

6-47

Disadvantages of Prototyping

Leads people to believe the final system will follow

Gives no indication of performance underoperational conditions

Leads the project team to forgo proper testing anddocumentation 

OUTSOURCING

Page 48: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 48/59

6-48

OUTSOURCING

Outsourcing  – the delegation of specified work toa third party for a specified length of time, at aspecified cost, and at a specified level of service

The third “who” option of systems development,after insourcing and selfsourcing

OUTSOURCING

Page 49: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 49/59

6-49

OUTSOURCING

The main reasons behind the rapid growth of theoutsourcing industry include the following:

Globalization

The Internet

Growing economy and low unemployment rate

Technology

Deregulation

Outsourcing Options

Page 50: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 50/59

6-50

Outsourcing Options

IT outsourcing for software development can takeone of four forms:

1. Purchase existing software

2. Purchase existing software and pay the publisher tomake certain modifications

3. Purchase existing software and pay the publisher forthe right to make modifications yourself

4. Outsource the development of an entirely new andunique system for which no software exists

Outsourcing Options

Page 51: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 51/59

6-51

Outsourcing Options

Outsourcing Process

Page 52: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 52/59

6-52

Outsourcing Process

Like selfsourcing, the selfsourcing process lookssimilar to the traditional SDLC

Big exception here is that you “outsource” most of 

the work to another company

Outsourcing Process

Page 53: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 53/59

6-53

Outsourcing Process

When outsourcing, you’ll develop two vitally important

documents – a request for proposal and a service levelagreement

Outsourcing – RFP

Page 54: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 54/59

6-54

Outsourcing  RFP

Request for proposal (RFP)   – formal documentthat describes in excruciating detail your logicalrequirements for a proposed system and invitesoutsourcing organizations (vendors) to submit bids

for its development

In outsourcing, you must tell another organizationwhat you want developed; you do that with an RFP

Therefore, the RFP must be very detailed andcomplete

Some RFPs can take months or even years todevelop

Outsourcing – SLA

Page 55: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 55/59

6-55

Outsourcing  SLA

Service level agreement (SLA)  - formalcontractually obligated agreement between twoparties

In outsourcing, it is the legal agreement betweenyou and the vendor and specifically identifies whatthe vendor is going to do (and by when) and howmuch you’re going to pay 

Supporting SLA documents – service level specifications and service level objectives  – contain very detailed numbers and metrics

Outsourcing Options

Page 56: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 56/59

6-56

g p

There are three different forms of outsourcing: 

1. Onshore outsourcing - the process of engaginganother company within the same country for

services 2. Nearshore outsourcing - contracting an

outsourcing arrangement with a company in anearby country 

3. Offshore outsourcing - contracting with a companythat is geographically far away

Offshore Outsourcing

Page 57: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 57/59

6-57

g

Primary outsourcing countries are:

India

China

Eastern Europe (including Russia)

Ireland

Israel

Philippines

The Advantages and Disadvantages ofOutsourcing

Page 58: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 58/59

6-58

Outsourcing

Advantages:

Focus on unique core competencies

Exploit the intellect of another organization

Better predict future costs

Acquire leading-edge technology

Reduce costs

Improve performance accountability

The Advantages and Disadvantages ofOutsourcing

Page 59: Week 10 - Method of System Development

8/4/2019 Week 10 - Method of System Development

http://slidepdf.com/reader/full/week-10-method-of-system-development 59/59

6-59

Outsourcing

Disadvantages:

Reduces technical know-how for future innovation

Reduces degree of control

Increases vulnerability of your strategic information

Increases dependency on other organizations