Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS...

59
McGraw-Hill © 2008 The McGraw-Hill Companies, Inc. All rights reser Chapter 6 Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniques Phases, Tools, and Techniques

Transcript of Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS...

Page 1: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

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

Chapter 6Chapter 6 SYSTEMS DEVELOPMENT

Phases, Tools, and TechniquesPhases, Tools, and Techniques

Page 2: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-2

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-3

STUDENT LEARNING OUTCOMES

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

2. Describe the outsourcing environment and how outsourcing works.

Page 4: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-4

SAVING LIVES THROUGH SYSTEMS DEVELOPMENT

Centers for Disease Control (CDC) tracks a wealth of informationAntimicrobial-resistant infections in hospitalsInfluenza outbreaksTerrorist biochemical attacksBacteria counts in rivers and stagnant ponds, etc

Unfortunately, most of that information is stored in separate IT systems that do not communicate with each other

Page 5: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-5

SAVING LIVES THROUGH SYSTEMS DEVELOPMENT

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 – a database 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 works together in an integrated fashion

Page 6: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-6

SAVING LIVES THROUGH SYSTEMS DEVELOPMENT

l All computers use a common binary base language. That being true, why is it so difficult to get computer systems to easily communicate with each other?

l In systems development, prototyping is used to build a model of a proposed system. How have you used prototyping in your personal life?

l Outsourcing – going to another company for systems development – is big business. Why would the CDC not want to pursue outsourcing?

Page 7: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-7

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-8

INTRODUCTION

When developing a new system, you have 3 “who” choices…l Insourcing – IT specialists inside your organizationl Selfsourcing – do-it-yourself approach many end

users take with little or no help from IT specialistsl Outsourcing – a third-party organization (i.e., let

someone do the work and pay them for it)

Page 9: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-9

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-10

INSOURCING AND THE SDLC

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

7 distinct phases, each with well-defined activitiesAlso called a waterfall methodology, an approach

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

Page 11: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-11

SDLC Phases & Major Activities

Page 12: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-12

SDLC as a Waterfall Methodology

Page 13: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-13

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-14

Phase 1: Planning

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-15

Phase 1: Planning

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-16

Phase 1: Planning

Sample Project Plan

Page 17: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-17

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-18

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-19

Phase 2: Analysis

1. 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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

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 early stages of the SDLC is relatively small. In later stages, the cost is huge.

Page 21: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-21

Phase 3: Design

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

Two primary design activities: Design the technical architecture

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

Page 22: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-22

Phase 3: Design

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-23

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 architecture

2. Build the database and programs Both of these activities are mostly performed by IT

specialists

Page 24: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-24

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-25

Phase 5: Testing

1. 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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-26

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 activities1. Write detailed user documentation

User documentation - highlights how to use the system

Page 27: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-27

Phase 6: Implementation

1. 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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-28

Phase 6: Implementation

Choose the right implementation methodParallel implementation – use both the old and new

system simultaneouslyPlunge 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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-29

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-30

COMPONENT-BASED DEVELOPMENT

The SDLC focuses only on the project at handComponent-based development (CBD) – focuses

on building small self-contained blocks of code (components) that can be reused across a variety of applications

CBD focuses on1. Using already-developed components to build

systems quickly

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

Page 31: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-31

Component-Based Development Methodologies

Rapid application development (RAD)Extreme programming (XP)Agile methodology

Page 32: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-32

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 the systems development process

Prototypes are models of the software componentsThe development team continually designs,

develops, and tests the component prototypes until they are finished

Page 33: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-33

Rapid Application Development (RAD)

Build new software

components

Use already-existing software

components

Page 34: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-34

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-35

Agile Methodology

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

Page 36: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-36

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 SoAServices are the same as components, which are

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

Page 37: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-37

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-38

Selfsourcing Approach

Is similar to traditional SDLCBig 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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-39

Selfsourcing Approach

Page 40: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-40

Selfsourcing Advantages

Improves requirements determinationIncreases end user participation and sense of

ownershipIncreases speed of systems developmentReduces invisible backlog

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

Page 41: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-41

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-42

The Right Tool for the Job

End users must have development tools that:Are easy to useSupport multiple platformsOffer low cost of ownershipSupport a wide range of data types

Page 43: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

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 the

technical feasibility of a proposed systemSelling prototype - used to convince people of the

worth of a proposed system

Page 44: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

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

Page 45: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-45

The Prototyping Process

Page 46: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-46

Advantages of Prototyping

Encourages active user participation Helps resolve discrepancies among usersGives users a feel for the final systemHelps determine technical feasibility Helps sell the idea of a proposed system

Page 47: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-47

Disadvantages of Prototyping

Leads people to believe the final system will followGives no indication of performance under

operational conditionsLeads the project team to forgo proper testing and

documentation

Page 48: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-48

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-49

OUTSOURCING

The main reasons behind the rapid growth of the outsourcing industry include the following: GlobalizationThe Internet Growing economy and low unemployment rateTechnology Deregulation

Page 50: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-50

Outsourcing Options

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

1. Purchase existing software

2. Purchase existing software and pay the publisher to make certain modifications

3. 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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-51

Outsourcing Options

Page 52: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-52

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-53

Outsourcing Process

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

agreement

Page 54: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-54

Outsourcing – RFP

Request for proposal (RFP) – formal document that describes in excruciating detail your logical requirements for a proposed system and invites outsourcing organizations (vendors) 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 and complete

Some RFPs can take months or even years to develop

Page 55: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-55

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: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-56

Outsourcing Options

There are three different forms of outsourcing: Onshore outsourcing - the process of engaging

another company within the same country for services

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

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

Page 57: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-57

Offshore Outsourcing

Primary outsourcing countries are:IndiaChinaEastern Europe (including Russia)IrelandIsraelPhilippines

Page 58: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-58

The Advantages and Disadvantages of Outsourcing

Advantages:Focus on unique core competenciesExploit the intellect of another organizationBetter predict future costsAcquire leading-edge technologyReduce costsImprove performance accountability

Page 59: Chapter 6 SYSTEMS DEVELOPMENT Phases, Tools, and Techniqueshsharp/cis2010/ch6_book.pdf · SYSTEMS DEVELOPMENT Phases, Tools, and Techniques. 6-2 ... tiny phases and developers cannot

6-59

The Advantages and Disadvantages of Outsourcing

Disadvantages:Reduces technical know-how for future innovationReduces degree of controlIncreases vulnerability of your strategic informationIncreases dependency on other organizations