Discussion/ IT
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