Discussion/ IT

profileMasak K
Chapter12-SystemAcquisitionandDevelopment.pptx

Principles of Information Systems, Thirteenth Edition

Chapter 12

System Acquisition and Development

1

Principles of Information Systems, Thirteenth Edition

Chapter 12

System Acquisition and Development

Objectives

After completing this chapter, you will be able to:

Identify the pros and cons associated with both buying and building software

Identify the advantages and disadvantages of the waterfall approach to system development

Identify and state the goal of each of the six phases of the waterfall approach

Identify and briefly describe the primary tools and techniques used during system development

Objectives

After completing this chapter, you will be able to:

Identify the pros and cons associated with both buying and building software

Identify the advantages and disadvantages of the waterfall approach to system development

Identify and state the goal of each of the six phases of the waterfall approach

Identify and briefly describe the primary tools and techniques used during system development

2

Objectives

After completing this chapter, you will be able to (cont’d):

Define five types of feasibility that must be assessed

Identify the purpose and participants involved in various types of testing from unit testing to user acceptance testing

Identify three approaches for system cutover

Describe the agile development process

Identify the advantages and disadvantages of the agile system development approach

Objectives

After completing this chapter, you will be able to (cont’d):

Define five types of feasibility that must be assessed

Identify the purpose and participants involved in various types of testing from unit testing to user acceptance testing

Identify three approaches for system cutover

Describe the agile development process

Identify the advantages and disadvantages of the agile system development approach

3

Objectives

After completing this chapter, you will be able to (cont’d):

Describe the role of the scrum master and product owner in the scrum framework

Discuss extreme programming (XP) and DevOps

Outline a process for evaluation and selection of a software package

Identify the key factors to be considered in selecting a software package

Objectives

After completing this chapter, you will be able to (cont’d):

Describe the role of the scrum master and product owner in the scrum framework

Discuss extreme programming (XP) and DevOps

Outline a process for evaluation and selection of a software package

Identify the key factors to be considered in selecting a software package

4

Buy Versus Build

Buying off-the-shelf software is less risky and leads to quicker deployment

Maintenance and support costs may become expensive

Organizations can use several different approaches when developing their software

The waterfall and agile software development processes will be discussed in this chapter

Buy Versus Build

Buying off-the-shelf software is less risky and leads to quicker deployment

Maintenance and support costs may become expensive

Organizations can use several different approaches when developing their software

The waterfall and agile software development processes will be discussed in this chapter

5

Waterfall System Development Process

Waterfall system development process

A sequential, multistage system development process

Work on the next stage cannot begin until the results of the current stage are reviewed and approved or modified as necessary

There are six phases:

Investigation

Analysis

Design

Construction

Integration

Testing and implementation

Waterfall System Development Process

Waterfall system development process

A sequential, multistage system development process

Work on the next stage cannot begin until the results of the current stage are reviewed and approved or modified as necessary

There are six phases:

Investigation

Analysis

Design

Construction

Integration

Testing and implementation

6

Waterfall System Development Process

Waterfall System Development Process

7

Waterfall System Development Process

Waterfall System Development Process

8

System Investigation

System investigation

Initial phase in the development of a new or modified business information system whose purpose is to gain a clear understanding of the specifics of the problem to solve or the opportunity to address

Steps of the investigation phase

Review systems investigation request

Identify and recruit team leader and team members

Develop budget and schedule for investigation

Perform investigation

Perform preliminary feasibility analysis

Prepare draft of investigation report

Review results of investigation with steering team

System Investigation

System investigation

Initial phase in the development of a new or modified business information system whose purpose is to gain a clear understanding of the specifics of the problem to solve or the opportunity to address

Steps of the investigation phase

Review systems investigation request

Identify and recruit team leader and team members

Develop budget and schedule for investigation

Perform investigation

Perform preliminary feasibility analysis

Prepare draft of investigation report

Review results of investigation with steering team

9

System Investigation

Review System Investigation Request

A systems investigation request includes:

A preliminary statement of the problem or opportunity to be addressed

A brief discussion of how this effort aligns with previously defined company and organization objectives, goals, and strategies

Identification of the general areas of the business and business processes to be included in the scope of the study

System Investigation

Review System Investigation Request

A systems investigation request includes:

A preliminary statement of the problem or opportunity to be addressed

A brief discussion of how this effort aligns with previously defined company and organization objectives, goals, and strategies

Identification of the general areas of the business and business processes to be included in the scope of the study

10

System Investigation

Identify and Recruit Team Leader and Team Members

A leader is identified and recruited after managers grant approval to initiate systems investigation

Investigation team members chosen next

Investigation team responsibilities

Gather and analyze data

Prepare an investigation phase report

Present results to the project steering team

System Investigation

Identify and Recruit Team Leader and Team Members

A leader is identified and recruited after managers grant approval to initiate systems investigation

Investigation team members chosen next

Investigation team responsibilities

Gather and analyze data

Prepare an investigation phase report

Present results to the project steering team

11

System Investigation

Develop Budget and Schedule for Investigation

The team develops a list of specific objectives and activities to accomplish along with a schedule for completing the work

The team establishes major milestones to help monitor progress

A budget is prepared including travel expenses and funds for consultants

System Investigation

Develop Budget and Schedule for Investigation

The team develops a list of specific objectives and activities to accomplish along with a schedule for completing the work

The team establishes major milestones to help monitor progress

A budget is prepared including travel expenses and funds for consultants

12

System Investigation

Perform Investigation

Refine the initial problem definition and scope described in the systems investigation request

Identify the high-level business requirements the system must meet

Identify any issues or risks associated with the project

Joint Application Development

A structured meeting process that can accelerate and improve the efficiency and effectiveness of the investigation, analysis, and design phases of a systems development project

Functional Decomposition

A technique used during the investigation, analysis, and design phases to define the business processes included within the scope of the system

System Investigation

Perform Investigation

Refine the initial problem definition and scope described in the systems investigation request

Identify the high-level business requirements the system must meet

Identify any issues or risks associated with the project

Joint Application Development

A structured meeting process that can accelerate and improve the efficiency and effectiveness of the investigation, analysis, and design phases of a systems development project

Functional Decomposition

A technique used during the investigation, analysis, and design phases to define the business processes included within the scope of the system

13

System Investigation

System Investigation

14

System Investigation

System Investigation

15

System Investigation

Perform Preliminary Feasibility Analysis

Components of the feasibility analysis

Technical feasibility: examines whether a project is feasible within the current limits of available technology

Economic feasibility: determines whether the expected benefits associated with the project outweigh the expected costs sufficiently to make the project financially attractive

Legal feasibility: the process of determining whether laws or regulations may prevent or limit a system development project

Operational feasibility: the process of determining how a system will be accepted by people and how well it will meet various system performance expectations

Schedule feasibility: the process of determining whether a project can be completed within a desired time frame

System Investigation

Perform Preliminary Feasibility Analysis

Components of the feasibility analysis

Technical feasibility: examines whether a project is feasible within the current limits of available technology

Economic feasibility: determines whether the expected benefits associated with the project outweigh the expected costs sufficiently to make the project financially attractive

Legal feasibility: the process of determining whether laws or regulations may prevent or limit a system development project

Operational feasibility: the process of determining how a system will be accepted by people and how well it will meet various system performance expectations

Schedule feasibility: the process of determining whether a project can be completed within a desired time frame

16

System Investigation

Prepare Draft of Investigation Report

A systems investigation report that summarizes the results of the systems investigation and recommends a course of action

Possible actions

Continue on into systems analysis

Modify the project in some manner and perhaps repeat the systems investigation

Drop the project altogether

System Investigation

Prepare Draft of Investigation Report

A systems investigation report that summarizes the results of the systems investigation and recommends a course of action

Possible actions

Continue on into systems analysis

Modify the project in some manner and perhaps repeat the systems investigation

Drop the project altogether

17

System Investigation

System Investigation

18

System Investigation

Review Results of Investigation with Steering Team

The systems investigation report is reviewed with the steering team to gain their input and counsel

Input is used to finalize the systems investigation report

System Investigation

Review Results of Investigation with Steering Team

The systems investigation report is reviewed with the steering team to gain their input and counsel

Input is used to finalize the systems investigation report

19

System Analysis

The overall emphasis of system analysis is on:

Gathering data on the existing system

Determining requirements for the new system

Considering alternatives within identified constraints

Investigating the feasibility of alternative solutions

Steps in the systems analysis phase

Identify and recruit team leader and team members

Develop budget and schedule for systems analysis activities

Study existing system

Develop prioritized set of requirements

Identify and evaluate alternative solutions

Perform feasibility analysis

Prepare draft of systems analysis report

Review results of systems analysis with steering team

System Analysis

The overall emphasis of system analysis is on:

Gathering data on the existing system

Determining requirements for the new system

Considering alternatives within identified constraints

Investigating the feasibility of alternative solutions

Steps in the systems analysis phase

Identify and recruit team leader and team members

Develop budget and schedule for systems analysis activities

Study existing system

Develop prioritized set of requirements

Identify and evaluate alternative solutions

Perform feasibility analysis

Prepare draft of systems analysis report

Review results of systems analysis with steering team

20

System Analysis

Identify and Recruit Team Leader and Team Members

Some members of the original investigation team participating in the systems analysis provide project continuity

Develop Budget and Schedule for System Analysis Activities

The team develops a list of specific objectives and activities required to complete the systems analysis is developed along with a schedule

The team establishes major milestones to track progress

A budget is prepared including travel expenses and funds for outside resources

System Analysis

Identify and Recruit Team Leader and Team Members

Some members of the original investigation team participating in the systems analysis provide project continuity

Develop Budget and Schedule for System Analysis Activities

The team develops a list of specific objectives and activities required to complete the systems analysis is developed along with a schedule

The team establishes major milestones to track progress

A budget is prepared including travel expenses and funds for outside resources

21

System Analysis

Study Existing System

Identify the strengths and weaknesses of the existing system

Examine current inputs, outputs, processes, security and controls, and system performance

Data collection methods

JAD sessions

Direct observation

Surveys

System Analysis

Study Existing System

Identify the strengths and weaknesses of the existing system

Examine current inputs, outputs, processes, security and controls, and system performance

Data collection methods

JAD sessions

Direct observation

Surveys

22

System Analysis

Develop Prioritized Set of Requirements

Priority categories

Critical

Medium priority

Low priority

JAD sessions provide an effective way to define system requirements

Ask managers to produce a list of critical success factors (CSFs)

Processes must be further defined and individuals/organizations responsible for process steps identified

Data-flow diagrams (DFDs) provide a model of a proposed new system

System Analysis

Develop Prioritized Set of Requirements

Priority categories

Critical

Medium priority

Low priority

JAD sessions provide an effective way to define system requirements

Ask managers to produce a list of critical success factors (CSFs)

Processes must be further defined and individuals/organizations responsible for process steps identified

Data-flow diagrams (DFDs) provide a model of a proposed new system

23

System Analysis

System Analysis

24

System Analysis

Develop Prioritized Set of Requirements (cont’d)

Data modeling defines:

Databases the system will draw from

New databases the system will create

Entity-relationship (ER) diagrams show logical relationships among data entities

System Analysis

Develop Prioritized Set of Requirements (cont’d)

Data modeling defines:

Databases the system will draw from

New databases the system will create

Entity-relationship (ER) diagrams show logical relationships among data entities

25

System Analysis

Develop Prioritized Set of Requirements (cont’d)

Security and Control

System Analysis

Develop Prioritized Set of Requirements (cont’d)

Security and Control

26

System Analysis

Develop Prioritized Set of Requirements (cont’d)

System Performance

Factors in determining system performance

Timeliness of output

Ease of use

Scalability

System response time

Availability

Reliability

System Analysis

Develop Prioritized Set of Requirements (cont’d)

System Performance

Factors in determining system performance

Timeliness of output

Ease of use

Scalability

System response time

Availability

Reliability

27

System Analysis

Identify and Evaluate Alternative Solutions

The analysis team must think creatively and consider several system solution options

Pareto principle (80–20 rule): An observation that for many events, roughly 80 percent of the effects come from 20 percent of the causes

System Analysis

Identify and Evaluate Alternative Solutions

The analysis team must think creatively and consider several system solution options

Pareto principle (80–20 rule): An observation that for many events, roughly 80 percent of the effects come from 20 percent of the causes

28

System Analysis

Perform Feasibility Analysis

An in-depth feasibility analysis is done for each of the candidate solutions the team wants to consider

Prepare Draft of System Analysis Report

Systems analysis concludes with a formal systems analysis report summarizing the findings of this phase of the project

Review Results of System Analysis with Steering Team

The systems analysis report is presented to the project steering team with a recommendation to stop, revise, or go forward with the systems development project

The project sponsor and the steering team must formally approve of any changes

System Analysis

Perform Feasibility Analysis

An in-depth feasibility analysis is done for each of the candidate solutions the team wants to consider

Prepare Draft of System Analysis Report

Systems analysis concludes with a formal systems analysis report summarizing the findings of this phase of the project

Review Results of System Analysis with Steering Team

The systems analysis report is presented to the project steering team with a recommendation to stop, revise, or go forward with the systems development project

The project sponsor and the steering team must formally approve of any changes

29

System Analysis

System Analysis

30

System Design

System design creates a complete set of technical specifications that can be used to construct the information system

Steps in the systems design phase

Identify and recruit team leader and team members

Develop schedule and budget for systems design activities

Design user interface

Design system security and controls

Design disaster recovery plan

Design database

Perform feasibility analysis

Prepare draft of systems design report

Review results of systems design with steering team

System Design

System design creates a complete set of technical specifications that can be used to construct the information system

Steps in the systems design phase

Identify and recruit team leader and team members

Develop schedule and budget for systems design activities

Design user interface

Design system security and controls

Design disaster recovery plan

Design database

Perform feasibility analysis

Prepare draft of systems design report

Review results of systems design with steering team

31

System Design

Identify and Recruit Team Leader and Team Members

Some members of the systems analysis team participating in the systems design ensure project continuity

Develop Schedule and Budget for System Design Activities

The systems design team develops a list of specific objectives and activities required to complete the systems design

The group prepares a budget for completing the systems design

System Design

Identify and Recruit Team Leader and Team Members

Some members of the systems analysis team participating in the systems design ensure project continuity

Develop Schedule and Budget for System Design Activities

The systems design team develops a list of specific objectives and activities required to complete the systems design

The group prepares a budget for completing the systems design

32

System Design

Design User Interface

How the user experiences the information system determines whether the system will be accepted and used

User interface design integrates concepts and methods from computer science, graphics design, and psychology to build interfaces that are accessible, easy to use, and efficient

System Design

Design User Interface

How the user experiences the information system determines whether the system will be accepted and used

User interface design integrates concepts and methods from computer science, graphics design, and psychology to build interfaces that are accessible, easy to use, and efficient

33

System Design

Design System Security and Controls

Specific system security and controls must be developed for all aspects of the information system

Hardware

Software

Database systems

Telecommunications

Internet operations

System Design

Design System Security and Controls

Specific system security and controls must be developed for all aspects of the information system

Hardware

Software

Database systems

Telecommunications

Internet operations

34

System Design

Design Disaster Recovery Plan

Disaster recovery plan

A documented process to recover an organization’s business information system assets including hardware, software, data, networks, and facilities in the event of a disaster

Mission-critical processes play a pivotal role in an organization’s continued operations and goal attainment

System Design

Design Disaster Recovery Plan

Disaster recovery plan

A documented process to recover an organization’s business information system assets including hardware, software, data, networks, and facilities in the event of a disaster

Mission-critical processes play a pivotal role in an organization’s continued operations and goal attainment

35

System Design

Design Database

Steps in designing a database

A schema and is entered into the DBMS using a data definition language

A data dictionary is established

Choose a vendor

Final evaluation begins with a detailed investigation of the contenders’ proposals

Vendors should make a final presentation including a performance evaluation test

Perform Feasibility Analysis

Reassess the technical, economic, legal, operational, and schedule feasibility based on results of system design findings

System Design

Design Database

Steps in designing a database

A schema and is entered into the DBMS using a data definition language

A data dictionary is established

Choose a vendor

Final evaluation begins with a detailed investigation of the contenders’ proposals

Vendors should make a final presentation including a performance evaluation test

Perform Feasibility Analysis

Reassess the technical, economic, legal, operational, and schedule feasibility based on results of system design findings

36

System Design

Prepare Draft of System Design Report

Systems design concludes with a formal systems design report summarizing the findings of this phase of the project

System Design

Prepare Draft of System Design Report

Systems design concludes with a formal systems design report summarizing the findings of this phase of the project

37

System Design

Review Results of System Design with Steering Team

The systems design report is presented to the project steering team with a recommendation to stop, revise, or go forward with the systems development project

At the end of the design phase, organizations employing the waterfall system development process freeze the scope and the user and business requirements

Any potential changes must go through a formal scope change process

System Design

Review Results of System Design with Steering Team

The systems design report is presented to the project steering team with a recommendation to stop, revise, or go forward with the systems development project

At the end of the design phase, organizations employing the waterfall system development process freeze the scope and the user and business requirements

Any potential changes must go through a formal scope change process

38

Construction

System construction converts the system design into an operational system

Steps of the system construction phase

Code software components

Create and load data

Perform unit testing

Construction

System construction converts the system design into an operational system

Steps of the system construction phase

Code software components

Create and load data

Perform unit testing

39

Construction

Code Software Components

Software tools used to generate program source code

Template-driven code generators

Screen painters

Menu-creation software

Report generator software

Technical and user documentation are required

Construction

Code Software Components

Software tools used to generate program source code

Template-driven code generators

Screen painters

Menu-creation software

Report generator software

Technical and user documentation are required

40

Construction

Create and Load Data

This step involves making sure that all files and databases are populated and ready to be used with the new information system

It may be necessary to write a program:

To read the old data files from several sources

To reformat the data to be compatible with the new system

Merge data sources together

Construction

Create and Load Data

This step involves making sure that all files and databases are populated and ready to be used with the new information system

It may be necessary to write a program:

To read the old data files from several sources

To reformat the data to be compatible with the new system

Merge data sources together

41

Construction

Construction

42

Construction

Perform Unit Testing

Unit testing: testing that ideally forces an individual program to execute all of its various functions and user features

Each program is also tested with abnormal input to determine how it will handle erroneous input

Construction

Perform Unit Testing

Unit testing: testing that ideally forces an individual program to execute all of its various functions and user features

Each program is also tested with abnormal input to determine how it will handle erroneous input

43

Integration and Testing

Types of testing

Integration testing

System testing

Volume testing

User acceptance testing

Integration testing

Involves linking all of the individual components together and testing them as a group to uncover any defects between individual components

System testing

Testing the complete, integrated system to validate that the information system meets all specified requirements

Integration and Testing

Types of testing

Integration testing

System testing

Volume testing

User acceptance testing

Integration testing

Involves linking all of the individual components together and testing them as a group to uncover any defects between individual components

System testing

Testing the complete, integrated system to validate that the information system meets all specified requirements

44

Integration and Testing

Volume testing

Involves evaluating the performance of the information system under varying yet realistic work volume and operating conditions

Goals of volume testing are to:

Determine the work load at which systems performance begins to degrade

Eliminate issues that prevent the system from reaching its required performance

User Acceptance Testing

UAT is testing performed by trained system users to verify that the system can complete required tasks in a real-world operating environment and perform according to the system design specifications

Integration and Testing

Volume testing

Involves evaluating the performance of the information system under varying yet realistic work volume and operating conditions

Goals of volume testing are to:

Determine the work load at which systems performance begins to degrade

Eliminate issues that prevent the system from reaching its required performance

User Acceptance Testing

UAT is testing performed by trained system users to verify that the system can complete required tasks in a real-world operating environment and perform according to the system design specifications

45

Integration and Testing

Integration and Testing

46

Implementation

Steps involved in implementation

User preparation

Site preparation

Installation

Cutover

User preparation

User preparation is the process of readying managers, decision makers, employees, other users, and stakeholders to accept and use the new system

Successfully introducing an information system requires a mix of organizational change skills and technical skills

User training is very important

Implementation

Steps involved in implementation

User preparation

Site preparation

Installation

Cutover

User preparation

User preparation is the process of readying managers, decision makers, employees, other users, and stakeholders to accept and use the new system

Successfully introducing an information system requires a mix of organizational change skills and technical skills

User training is very important

47

Implementation

Site Preparation

Site preparation for a small system can be as simple as rearranging the furniture in an office to make room for a computer

A large system might require special wiring, air conditioning, or construction

Sufficient lead time should be built into the schedule to allow for site preparation

Installation

Installation is the process of physically placing the computer equipment on the site and making it operational

Implementation

Site Preparation

Site preparation for a small system can be as simple as rearranging the furniture in an office to make room for a computer

A large system might require special wiring, air conditioning, or construction

Sufficient lead time should be built into the schedule to allow for site preparation

Installation

Installation is the process of physically placing the computer equipment on the site and making it operational

48

Implementation

Cutover

Cutover is the process of switching from an old information system to a replacement system

Direct conversion (also called plunge or direct cutover) is a high-risk approach

The phase-in approach (piecemeal approach) involves slowly phasing the new system’s components as the old system’s components are phased out

Pilot start-up: running a complete new system for only one group of users

Parallel start-up: running both the old and new systems and comparing outputs

Implementation

Cutover

Cutover is the process of switching from an old information system to a replacement system

Direct conversion (also called plunge or direct cutover) is a high-risk approach

The phase-in approach (piecemeal approach) involves slowly phasing the new system’s components as the old system’s components are phased out

Pilot start-up: running a complete new system for only one group of users

Parallel start-up: running both the old and new systems and comparing outputs

49

Implementation

Implementation

50

System Operation and Maintenance

Steps of the operation and maintenance phase

Operation

Maintenance

Disposal

Operation

Systems operation involves using the new or modified system under all kinds of operating conditions

Getting the most out of the new system is the most important aspect of operation

A formal help desk is beneficial for employees and customers

Monitoring involves measuring system performance by tracking:

The number of errors encountered, the amount of memory required, the amount of processing or CPU time needed, etc.

Systems review: the process of analyzing systems to make sure they are operating as intended

System Operation and Maintenance

Steps of the operation and maintenance phase

Operation

Maintenance

Disposal

Operation

Systems operation involves using the new or modified system under all kinds of operating conditions

Getting the most out of the new system is the most important aspect of operation

A formal help desk is beneficial for employees and customers

Monitoring involves measuring system performance by tracking:

The number of errors encountered, the amount of memory required, the amount of processing or CPU time needed, etc.

Systems review: the process of analyzing systems to make sure they are operating as intended

51

System Operation and Maintenance

Maintenance

Systems maintenance: a stage of systems development that involves changing and enhancing the system to make it more useful in achieving user and organizational goals

Reasons for program maintenance

Poor system performance

Changes in business processes

Changes in the needs of system stakeholders, users, and managers

Bugs or errors in the program

Technical and hardware problems

Corporate mergers and acquisitions

Changes in government regulations

Changes in the operating system or hardware on which the application runs

System Operation and Maintenance

Maintenance

Systems maintenance: a stage of systems development that involves changing and enhancing the system to make it more useful in achieving user and organizational goals

Reasons for program maintenance

Poor system performance

Changes in business processes

Changes in the needs of system stakeholders, users, and managers

Bugs or errors in the program

Technical and hardware problems

Corporate mergers and acquisitions

Changes in government regulations

Changes in the operating system or hardware on which the application runs

52

System Operation and Maintenance

Maintenance (cont’d)

Four accepted categories signify the amount of change involved in maintenance

Slipstream upgrade: a minor upgrade; a code adjustment or minor bug

Patch: a minor change to make a correction or make a small enhancement

Release: a significant program change; software documentation changes are required

Version: a major program change

System Operation and Maintenance

Maintenance (cont’d)

Four accepted categories signify the amount of change involved in maintenance

Slipstream upgrade: a minor upgrade; a code adjustment or minor bug

Patch: a minor change to make a correction or make a small enhancement

Release: a significant program change; software documentation changes are required

Version: a major program change

53

System Operation and Maintenance

Disposal

System disposal involves those activities ensuring the orderly dissolution of the system

Steps involved in system disposal

Communicate intent: all key stakeholders should be notified months in advance of the actual shutdown

Terminate contracts: contact vendors well in advance to avoid penalty fees

Make backups of data: follow the organization’s record management policies

Delete sensitive data: wipe hard drives need to be wiped several times or physically destroy hard drives

Dispose of hardware: discard in an environmentally friendly manner

System Operation and Maintenance

Disposal

System disposal involves those activities ensuring the orderly dissolution of the system

Steps involved in system disposal

Communicate intent: all key stakeholders should be notified months in advance of the actual shutdown

Terminate contracts: contact vendors well in advance to avoid penalty fees

Make backups of data: follow the organization’s record management policies

Delete sensitive data: wipe hard drives need to be wiped several times or physically destroy hard drives

Dispose of hardware: discard in an environmentally friendly manner

54

Agile Development

An iterative system development process that develops the system in “sprint” increments lasting from two weeks to two months

Concentrates on maximizing the team’s ability to deliver quickly and respond to emerging requirements

Scrum: a method to keep the agile system development effort focused and moving quickly

The scrum master coordinates all activities

Extreme programming (XP) promotes incremental development of a system using short development cycles to:

Improve productivity

Accommodate new customer requirements

Agile Development

An iterative system development process that develops the system in “sprint” increments lasting from two weeks to two months

Concentrates on maximizing the team’s ability to deliver quickly and respond to emerging requirements

Scrum: a method to keep the agile system development effort focused and moving quickly

The scrum master coordinates all activities

Extreme programming (XP) promotes incremental development of a system using short development cycles to:

Improve productivity

Accommodate new customer requirements

55

Agile Development

Agile Development

56

Agile Development

Agile Development

57

Agile Development

DevOps: the practice of blending the tasks performed by the development staff and the IT operations groups to enable faster and more reliable software releases

Being used as part of a continuous development strategy, in which releases are launched daily

Agile Development

DevOps: the practice of blending the tasks performed by the development staff and the IT operations groups to enable faster and more reliable software releases

Being used as part of a continuous development strategy, in which releases are launched daily

58

Agile Development

Agile Development

59

Buying Off-the-Shelf Software

Today, most organizations purchase or rent software they need

Software applications can vary from an unmodified, commercial off-the-shelf (COTS) software package to a custom, written-from-scratch program

Buying Off-the-Shelf Software

Today, most organizations purchase or rent software they need

Software applications can vary from an unmodified, commercial off-the-shelf (COTS) software package to a custom, written-from-scratch program

60

Package Evaluation Phase

Steps in the Package Evaluation Phase include:

Identify potential solutions

Select top contenders

Research top contenders

Perform final evaluation of leading solutions

Make selection

Finalize contract

Package Evaluation Phase

Steps in the Package Evaluation Phase include:

Identify potential solutions

Select top contenders

Research top contenders

Perform final evaluation of leading solutions

Make selection

Finalize contract

61

Package Evaluation Phase

Identify Potential Solutions

Project team should make a preliminary assessment of the software marketplace to determine whether existing packages can meet the organization’s needs

Request for information (RFI) is a document that outlines an organization’s needs and requests vendors to respond with information about if and how they can meet those needs

Package Evaluation Phase

Identify Potential Solutions

Project team should make a preliminary assessment of the software marketplace to determine whether existing packages can meet the organization’s needs

Request for information (RFI) is a document that outlines an organization’s needs and requests vendors to respond with information about if and how they can meet those needs

62

Package Evaluation Phase

Select Top Contenders

Project team will review information provided by vendors in response to the RFI

Selection will be made based on:

How well the vendor’s software appears to meet the organization’s needs

Preliminary cost and timing estimates

Information gleaned from references

How easy the vendor has been to work with so far

Package Evaluation Phase

Select Top Contenders

Project team will review information provided by vendors in response to the RFI

Selection will be made based on:

How well the vendor’s software appears to meet the organization’s needs

Preliminary cost and timing estimates

Information gleaned from references

How easy the vendor has been to work with so far

63

Package Evaluation Phase

Research Top Contenders

Begins with a detailed investigation as well as in-depth discussions with two or three customers of each contender

Contenders should be asked to make a final presentation and demonstrate their solution using a performance evaluation test

Conducted in a computing environment, with a workload that matches intended operating conditions

Package Evaluation Phase

Research Top Contenders

Begins with a detailed investigation as well as in-depth discussions with two or three customers of each contender

Contenders should be asked to make a final presentation and demonstrate their solution using a performance evaluation test

Conducted in a computing environment, with a workload that matches intended operating conditions

64

Package Evaluation Phase

Make Selection

Weigh factors such as:

How well the vendor’s solution matches the needs of the users and business

The amount of effort required to integrate the new software with existing software

Results of the performance evaluation test

Relative costs (including any software modifications) and benefits

The technical, economic, legal, operational, and schedule feasibility

Input from legal and purchasing resources on the legal and financial viability of the contender

Feedback from customers on how well the software performs as well as on the quality of the support provided by the vendor

Package Evaluation Phase

Make Selection

Weigh factors such as:

How well the vendor’s solution matches the needs of the users and business

The amount of effort required to integrate the new software with existing software

Results of the performance evaluation test

Relative costs (including any software modifications) and benefits

The technical, economic, legal, operational, and schedule feasibility

Input from legal and purchasing resources on the legal and financial viability of the contender

Feedback from customers on how well the software performs as well as on the quality of the support provided by the vendor

65

Finalize Contract

Develop a fair contract when acquiring new computer hardware or software

Allow at least two months for review and negotiation of a final contract

Take special precautions in signing contracts with the service provider of cloud-computing or software-as-a-service

Contract should have provisions for:

Monitoring system modification quality and progress

Ownership and property rights of the new or modified system

Contingency provisions in case something doesn’t work as expected

Dispute resolution if something goes wrong

Finalize Contract

Develop a fair contract when acquiring new computer hardware or software

Allow at least two months for review and negotiation of a final contract

Take special precautions in signing contracts with the service provider of cloud-computing or software-as-a-service

Contract should have provisions for:

Monitoring system modification quality and progress

Ownership and property rights of the new or modified system

Contingency provisions in case something doesn’t work as expected

Dispute resolution if something goes wrong

66

Integration and Testing

Types of testing

Integration testing

System testing

Volume testing

User acceptance testing

Integration and Testing

Types of testing

Integration testing

System testing

Volume testing

User acceptance testing

67

Implementation

Key implementation tasks include:

Use data-flow diagrams to map current business processes and requirements to the software, and identify any gaps that must be filled by changing current processes or by modifying the software.

Install the software and configure all of its capabilities and options to meet the project requirements.

Customize any aspects of the solution needed for the organization.

Integrate existing software with the new software.

Train end users.

Test the software to ensure that it meets all processes and requirements.

Convert historical data from the old software so that it can be used by the new software.

Roll out the new software to users in a live work environment.

Provide for ongoing end-user support and training.

Implementation

Key implementation tasks include:

Use data-flow diagrams to map current business processes and requirements to the software, and identify any gaps that must be filled by changing current processes or by modifying the software.

Install the software and configure all of its capabilities and options to meet the project requirements.

Customize any aspects of the solution needed for the organization.

Integrate existing software with the new software.

Train end users.

Test the software to ensure that it meets all processes and requirements.

Convert historical data from the old software so that it can be used by the new software.

Roll out the new software to users in a live work environment.

Provide for ongoing end-user support and training.

68

Summary

Organizations can obtain software using one of two basic approaches: buy or build

A system under development following the waterfall approach moves from one phase to the next, with a management review at the end of each phase

Agile development is an iterative system development process that develops a system in “sprint” increments lasting from two weeks to two months

When buying off-the-shelf software, the effort required to modify the software package as well as existing software so that they work well together must be taken into account as a major factor in selecting the final vendor and software

Summary

Organizations can obtain software using one of two basic approaches: buy or build

A system under development following the waterfall approach moves from one phase to the next, with a management review at the end of each phase

Agile development is an iterative system development process that develops a system in “sprint” increments lasting from two weeks to two months

When buying off-the-shelf software, the effort required to modify the software package as well as existing software so that they work well together must be taken into account as a major factor in selecting the final vendor and software

69