© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

59
© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development

Transcript of © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

Page 1: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Chapter 6

Systems Development

Page 2: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

STUDENT LEARNING OUTCOMES

1. Define the traditional systems development life cycle (SDLC) and describe the 7 major phases within 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: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

STUDENT LEARNING OUTCOMES

4. Discuss the importance of prototyping and prototyping within any systems development methodology

5. Describe the outsourcing environment and how outsourcing works.

Page 4: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

CAMERAS USE FILM?

Page 5: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

CAMERAS USE FILM?

The preceding slide – Kodak 35mm film sales dropped from $7 billion in 2004 to an estimated $1.9 billion in 2010

Many retailers no longer process 35mm film

Web sites like SnapFish, Photo Bucket, and Flickr are now the norm

Page 6: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

CAMERAS USE FILM?

1. Do you own a 35mm camera? Last time you had 35mm film processed?

2. Will smartphones spell the end of digital cameras?

3. Do you know someone who owns a 35mm camera? What do they use it for?

Page 7: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

INTRODUCTION

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

New systems are created because employees request them

New systems are created to obtain a competitive advantage

Page 8: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

INTRODUCTION

When developing a new system, you have 3 “who” choices…1. Insourcing – IT specialists inside

your organization2. Selfsourcing – do-it-yourself

approach many end users 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: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

CHAPTER ORGANIZATION

1. Insourcing and the SDLC Learning outcome #1

2. Component-Based Development Learning outcome #2

3. Selfsourcing Learning outcome #3

4. Prototyping Learning outcome #4

5. Outsourcing Learning outcome #5

Page 10: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

INSOURCING AND THE SDLC

Systems development life cycle (SDLC) - a structured step-by-step approach for developing information systems

7 distinct phases Also called a waterfall

methodology, an approach in which each phase of the SDLC is followed by another, from planning through implementation

Page 11: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

SDLC Phases & Major Activities

Page 12: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

SDLC as a Waterfall Methodology

Page 13: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Phase 1: Planning

Planning phase - create a solid plan for developing 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 critical to your organization’s success

Page 14: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Phase 1: Planning

2. Set the project scope Project scope - clearly defines the

high-level system requirements Scope creep - occurs when the scope

of the project increases Feature creep - occurs when

developers add extra features that were not part of the initial requirements

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

Page 15: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

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 and develops 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: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Phase 1: Planning

Sample Project Sample Project PlanPlan

Page 17: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Phase 2: Analysis

Analysis phase - involves end users and IT specialists working together to gather, understand, and document the business requirements for the proposed system

Page 18: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Phase 2: Analysis

Two primary analysis activities:1. Gather the business requirements

Business requirements - the detailed set of knowledge worker requests that the system must meet in order to be successful

Business requirements address the “why” and “what” of your development activities

Joint application development (JAD) - knowledge workers and IT specialists meet, sometimes for several days, to define or review the business requirements for the system

Page 19: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Phase 2: Analysis

2. Prioritize the requirements Requirements definition

document – prioritizes the business 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: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Phase 2: Analysis

Take time during analysis to get the business requirements correct. If you find 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 early stages of the errors, fix them immediately. The cost to fix an error in the early stages of the

SDLC is relatively small. In later stages, the cost is huge.SDLC is relatively small. In later stages, the cost is huge.

Page 21: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Phase 3: Design

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

Two primary design activities:1. Design the technical architecture

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

Page 22: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

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 active participation role and act more as a “quality control” function, ensuring that the IT people are designing a system to meet your needs

Page 23: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Phase 4: Development

Development phase - take all of your detailed design documents from the design phase and transform them into an actual system

Two primary development activities:1. Build the technical architecture2. Build the database and programs

Both of these activities are mostly performed by IT specialists

Page 24: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Phase 5: Testing

Testing phase - verifies that the system works and meets all of the business requirements defined in the analysis phase

Two primary testing activities:1. Write the test conditions

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

Page 25: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

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: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Phase 6: Implementation

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

Two primary implementation activities

1. Write detailed user documentation User documentation - highlights how to

use the system

Page 27: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

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 classroom environment and lead by an instructor

Page 28: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Phase 6: Implementation

Choose the right implementation method Parallel implementation – use both the

old and new system simultaneously Plunge implementation – discard the

old system completely and use the new Pilot implementation – start with small

groups of people on the new system and gradually add more users

Phased implementation – implement the new system in phases

Page 29: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Phase 7: Maintenance

Maintenance phase - monitor and support the new system to ensure it continues to meet the business goals

Two primary maintenance activities:1. Build a help desk to support the system

users Help desk - a group of people who

responds to knowledge workers’ questions

2. Provide an environment to support system changes

Page 30: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

COMPONENT-BASED DEVELOPMENT

The SDLC focuses only on the project at hand

Component-based development (CBD) – focuses on building small self-contained blocks of code (components) that can be reused across a variety of applications1. Using already-developed components2. Building new components as needed

Page 31: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Component-Based Development Methodologies

Rapid application development (RAD)

Extreme programming (XP) Agile methodology

Page 32: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Rapid Application Development (RAD)

Rapid application development (RAD) (also called rapid prototyping) - emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate systems development Prototypes are models of software The development team continually designs,

develops, and tests the component prototypes until they are finished

Page 33: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Rapid Application Development (RAD)

Build new Build new software software

componentscomponents

Use already-Use already-existing existing software software

componentscomponents

Page 34: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Extreme Programming (XP)

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

Page 35: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Agile Methodology

Agile methodology - a form of XP, aims for customer satisfaction through early and continuous delivery of useful software components

Page 36: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

SoA – An Architecture Perspective

Service-oriented architecture (SoA) – perspective that focuses on the development, use, and reuse of small 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 code

Page 37: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

SELFSOURCING

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

Do-it-yourself systems development approach

Can relieve IT specialists of the burden of developing many smaller systems

Page 38: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

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

Page 39: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Selfsourcing Approach

Page 40: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Selfsourcing Advantages

Improves requirements determination Increases end user participation and

sense of ownership Increases speed of development Reduces invisible backlog

Invisible backlog – list of all systems that an organization needs to develop but never get funded because of the lack of organizational resources

Page 41: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Selfsourcing Disadvantages

Inadequate end user expertise leads to inadequately developed systems

Lack of organizational focus creates “privatized” IT systems

Insufficient analysis of design alternatives leads to subpar IT systems

Lack of documentation and external support leads to short-lived systems

Page 42: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

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

Page 43: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

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 - prove the

technical feasibility of a proposed system Selling prototype - used to convince

people of the worth of a proposed system

Page 44: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

The Prototyping Process

The prototyping process involves four steps:

1. Identify basic requirements2. Develop initial prototype3. User review4. Revise and enhance the prototype

Page 45: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

The Prototyping Process

Page 46: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

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

Page 47: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Disadvantages of Prototyping

Leads people to believe the final system will follow

Gives no indication of performance under operational conditions

Leads the project team to forgo proper testing and documentation

Page 48: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

OUTSOURCING

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

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

Page 49: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

OUTSOURCING

The main reasons behind the rapid growth of the outsourcing industry include the following: Globalization The Internet Growing economy and low

unemployment rate Technology Deregulation

Page 50: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Outsourcing Options

IT outsourcing for software development can take one of four forms:

1. Purchase existing software2. Purchase existing software and pay the

publisher to make certain modifications3. Purchase existing software and pay the

publisher for the right to make modifications yourself

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

Page 51: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Outsourcing Options

Page 52: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Outsourcing Process

Like selfsourcing, the selfsourcing process looks similar to the traditional SDLC

Big exception here is that you “outsource” most of the work to another company

Page 53: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Outsourcing Process

When outsourcing, you’ll develop two vitally When outsourcing, you’ll develop two vitally important documents – a request for proposal and a important documents – a request for proposal and a

service level agreementservice level agreement

Page 54: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Outsourcing – RFP

Request for proposal (RFP) – formal document that describes in excruciating detail your logical requirements for a proposed system and invites outsourcing organizations to submit bids for its development In outsourcing, you must tell another organization

what you want developed; you do that with an RFP Therefore, the RFP must be very detailed Some RFPs can take years to develop

Page 55: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Outsourcing – SLA

Service level agreement (SLA) - formal contractually obligated agreement between two parties In outsourcing, it is the legal agreement

between you and the vendor and specifically identifies what the vendor is going to do (and by when) and how much you’re going to pay

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

Page 56: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Outsourcing Options

There are three different forms of outsourcing:

1. Onshore outsourcing - the process of engaging another company within the same country for services

2. Nearshore outsourcing - contracting an outsourcing arrangement with a company in a nearby country

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

Page 57: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

Offshore Outsourcing

Primary outsourcing countries are: India China Eastern Europe (including Russia) Ireland Israel Philippines

Page 58: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

The Advantages and Disadvantages of

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

Page 59: © McGraw-Hill Companies, Inc., McGraw-Hill/Irwin Chapter 6 Systems Development.

© McGraw-Hill Companies, Inc., McGraw-Hill/Irwin

The Advantages and Disadvantages of

Outsourcing Disadvantages:

Reduces technical know-how for future innovation

Reduces degree of control Increases vulnerability of your

strategic information Increases dependency on other

organizations