Transcript Slide 1
Chapter 6
SYSTEMS DEVELOPMENT
Phases, Tools, and Techniques
Opening Case:
Cameras Use Film?
Opening Case:
Cameras Use Film?
Kodak 35mm film sales dropped from $7
billion in 2004 to an estimated $1.9
billion in 2010
Many retailers no longer process 35mm
film
Web sites like SnapFish, Photo Bucket,
and Flickr are now the norm
INTRODUCTION
Information systems are the support structure for
meeting the company’s strategies and goals
New systems are created -
because employees request it
to obtain a competitive advantage
Billions of dollars spent yearly on acquisition,
design, development, implementation, and
maintenance of IT systems
Companies depend on information more than ever
THE SYSTEMS DEVELOPMENT
LIFE CYCLE
Systems development life cycle (SDLC)
Defining Success
On time
On budget
Meets requirements
Deliverable
Milestone
SDLC Phases & Major Activities
SDLC as a Waterfall
Methodology
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 critical to
your organization’s success
Phase 1: Planning
2.
Set the project scope
Project scope - clearly defines the highlevel 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 – written
document of the project scope
Phase 1: Planning
3.
Develop the project plan including tasks,
resources, and timeframes
Project plan
Project manager
Project milestones
Phase 1: Planning
Sample Project Plan
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
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
Joint application development (JAD) knowledge workers and IT specialists meet,
sometimes for several days, to define or review the
business requirements for the system
Phase 2: Analysis
2.
Prioritize the requirements
Requirements definition document prioritizes the business requirements and
places them in a formal comprehensive
document
Users sign off on this document which
clearly sets the scope for the project
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.
Phase 3: Design
Design phase
build a technical blueprint of how the
proposed system will work
Two primary design activities:
1. Design
the hardware, software, and telecommunications
equipment required to run the system
2. Design
the technical architecture
system models
GUI screens that users will interface with,
database designs (see XLM/C), report formats,
software steps, etc
Phase 3: Design
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
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.
2.
Build the technical architecture
Build the database and programs
Both of these activities are mostly performed by IT
specialists
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
2. Perform the testing of the system
Unit testing – tests individual units of code
System testing – verifies that the units of code
function correctly when integrated
Integration testing – verifies that separate systems
work together
User acceptance testing (UAT) – determines if the
system satisfies the business requirements
Phase 6: Implementation
Implementation phase
distribute the system to all of the knowledge workers
and they begin using the system to perform their
everyday jobs
Two primary implementation activities
1. Write detailed user documentation
User documentation - highlights how to use the
system
2. Provide training for the system users
Online training - runs over the Internet or off a
CD-ROM
Workshop training - is held in a classroom
environment and lead by an instructor
Phase 6: Implementation
Choose
the right implementation method
Parallel
Plunge
Pilot
implementation
implementation
implementation
Phased
implementation
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
2.
Help desk - a group of people who responds to knowledge
workers’ questions
Provide an environment to support system changes
Sourcing the Project
Three choices for building a system
include:
Insourcing
Selfsourcing
Outsourcing
Selfsourcing
Selfsourcing (also called knowledge
worker development or end user
development)
Selfsourcing
Advantages
Improves requirements determination
Increases knowledge worker participation and sense
of ownership
Increases speed of systems development
Potential pitfalls and risks
Inadequate knowledge worker 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
OUTSOURCING
Developing strategic partnerships
Outsourcing
Developing Strategic
Partnerships
IT outsourcing takes on 1 of 4 forms:
1.
2.
3.
4.
Purchasing existing software
Purchasing existing software and pay the
publisher to make certain modifications
Purchasing existing software and pay the
publisher for the right to make modifications
yourself
Outsourcing the development of an entirely
new and unique system for which no
software exists
Outsourcing Options
There are three different forms of outsourcing:
1. Onshore outsourcing - the process of
engaging another company within the same
country for services
2. Nearshore outsourcing - contracting an
outsourcing arrangement with a company in a
nearby country
3. Offshore outsourcing - contracting with a
company that is geographically far away
Outsourcing
Advantages
Focus on unique core competencies
Exploit the intellect of another organization
Better predict future costs
Acquire leading-edge technology
Reduce costs
Improve performance accountability
Disadvantages
Reduces technical know-how for future innovation
Reduces degree of control
Increases vulnerability of strategic information
Increases dependency on other organizations
PROTOTYPING
Prototyping
Prototype
Proof-of-concept prototype
Selling prototype
Prototyping
Advantages
Encourages active knowledge worker participation
Helps resolve discrepancies among knowledge workers
Gives users a feel for the final system
Helps determine technical feasibility
Helps sell the idea of a proposed system
Disadvantages
Leads people to believe the final system will follow
shortly
Gives no indication of performance under operational
conditions
Leads the project team to forgo proper testing and
documentation