Chapter 6
Systems Development
Steps, Tools, and Techniques
MAIN MAP
INTRODUCTION
n
Why do businesses build information systems
?
n
How does a business know when it is time to
replace the old information system with a new one ?
n
TYPICALLY: Knowledge workers will request
new systems to help them perform their work.
INTRODUCTION
n
Developing of an information system may
fail.
n
There are many factors that must be
considered and come together in order to develop a successful information
system.
n
The SDLC = Systems Development Life Cycle
is one approach to reduce the risk of failure.
Introduction
n
Systems development life cycle (SDLC) - a structured step-by-step approach for developing
information systems.
INTRODUCTION
n
In this chapter we focus
on:
t
Seven Phases In The
Systems Development Life Cycle
t
Knowledge Workers and
Their Roles In The Systems Development Life Cycle
t
Why Systems Fail
t
Sourcing
"
In sourcing
"
Self sourcing
"
Outsourcing
t
Prototyping
7 PHASES OF SDLC
Seven Phases in the SDLC
n
There are literally hundreds of activities
associated with each phase of the SDLC
n
Such activities include:
t
Determining budgets
t
Gathering systems requirements
t
Documentation
t
Modeling
Seven Phases in the SDLC
Figure 6.2
Important Activities in the Systems
Development Life Cycle
page 219
Seven Phases in the SDLC
Phase 1:
Plan
n
Activities
t
Define the system to be developed.
t
Set the project scope.
t
Develop the project plan including tasks,
resources, and timeframes.
Seven Phases in the SDLC
Phase 1:
Plan
n
Planning phase - involves
determining a solid plan for developing your information system.
n
The three of the most
important activities involved during the planning phase:
t
Identify and select the
system for development
t
Set project scope
t
Develop project plan
Seven Phases in the SDLC
Phase 1:
Plan
n Identify and select the
system for development
t Key question: “What
systems are required to support the strategic goals of your organization?”
t KW generate proposals to
build new information systems when they are having a difficult time performing their jobs.
t Companies cannot develop
all proposed IS, so they look into the critical success factors.
n
Critical success factor (CSF) - a factor simply critical to your organization’s success.
Seven Phases in the SDLC
Phase 1:
Plan
n Once the system to be
developed in defined, then the project needs to be scoped.
n
Set project scope - clearly
defines the high-level system requirements.
n
It is a birds-eye-view of
the project.
n
Project scope document - a written
definition of the project scope and is usually no longer than a paragraph.
Seven Phases in the SDLC
Phase 1:
Plan
n Developing a project plan
is the final activity of the planning phase.
n
Project plan - defines
the what, when, and who questions of system development including all
activities to be performed, the individuals, or resources, who will perform the
activities, and the time required to complete each activity.
Seven Phases in the SDLC
Phase 1:
Plan
n The project plan should
include:
t
Project milestones - represent
key dates for which you need a certain group of activities performed.
t
Project manager - an individual
who is an expert in project planning and management, defines and develops the
project plan and tracks the plan to ensure all key project milestones are
completed on time.
Seven Phases in the SDLC
Phase 2:
Analysis
n
The analysis phase involves
t
The end users
t
The IT specialists
Working together
t
To understand and
t
Document
the business requirements for the system.
Seven Phases in the SDLC
Phase 2:
Analysis
n
Gather Business requirements - the detailed set of knowledge worker requests that the
system must meet in order to be successful.
n
Key activity = Gathering
clearly defined business requirements.
n
Gathering business
requirements = investigation.
Seven Phases in the SDLC
Phase 2:
Analysis
n A useful way to gather
system requirements is:
t
Joint application development (JAD)
- knowledge workers and IT specialists meet, sometimes for several days, to
define or review the business requirements for the system.
t
Requirements definition document – prioritizes the business requirements and places them in a
formal comprehensive document.
t
Sign-off - the knowledge workers’
actual signatures indicating they approve all of the business requirements.
Seven Phases in the SDLC
Phase 3:
Design
n
The primary goal of the design phase
t
Build the technical architecture required
to support the system.
n
This includes
t
Design of the technical architecture
t
Design system models.
Seven Phases in the SDLC
Phase 3:
Design
n Technical architecture –
t
Defines the hardware,
software, and telecommunications equipment required to run the system.
n
The final architecture
must meet you needs in terms of
t
Time
t
Cost
t
Technical feasibility
t
Flexibility
Seven Phases in the SDLC
Phase 3:
Design
n It is important to ensure that the final
architecture meet
t Current system needs
t Future system needs
Seven Phases in the SDLC
Phase 3:
Design
n
Modeling - the activity of drawing
a graphical representation of a design.
n
You model everything you
build including
t
Reports
t
Programs
t
databases
Seven Phases in the SDLC
Phase 3:
Design
n There are many different
types of modeling activities performed during the design stage
t
Graphical user interface
(GUI)
"
The interface to an
information system.
"
the ability to model the
information system screens for an entire system.
t
Entity relationship
diagram
t
Data flow diagram
t
Flowcharting
Seven Phases in the SDLC
Phase 3:
Design
Seven Phases in the SDLC
Phase 4:
Development
n Development phase
t
Take all of your detailed design documents
from the design phase and transform them into an actual system.
Seven Phases in the SDLC
Phase 4:
Development
n
Activities during this phase include
t
Coding programs
t
Creating databases
t
Deploying the telecommunications equipment
t
Installing hardware and software
n
In other words
t
Build the technical architecture.
t
Build the database and programs.
Seven Phases in the SDLC
Phase 5:
Test
n
Testing
phase
t
Verifies that the system works and meets
all of the business requirements defined in the analysis phase.
n
Test
conditions - the detailed steps the system must
perform along with the expected results of each step.
Seven Phases in the SDLC
Phase 5:
Test
n
Testing is critical
t
Must have test plans
t
Write the test conditions.
n
Perform the testing of the system.
Seven Phases in the SDLC
Phase
6: Implement
n Implementation phase
t
Bringing the system into life
by placing it in the organization
n
During this phase
t
You distribute the system
to all of the knowledge workers and they begin using the system to perform
their everyday jobs.
Seven Phases in the SDLC
Phase
6: Implement
n
During this phase
t
You distribute the system to all of the
knowledge workers and they begin using the system to perform their everyday
jobs.
t
You
create User documentation
"
Highlights how to use the system.
t
You perform training to the employees to
use the system
Seven Phases in the SDLC
Phase
6: Implement
n
Online
training - runs over the Internet or off a CD-ROM.
n
Workshop
training - is held in a classroom environment and lead
by an instructor.
Seven Phases in the SDLC
Phase
7: Maintain
n Maintenance phase
t It is the final phase of the system development effort
t Monitor and support the new system to ensure it continues to
meet the business goals.
Seven Phases in the SDLC
Phase
7: Maintain
n
Once the system is in place you need to
provide support
t
Build a help desk to support the system
users.
t
Provide an environment to support system
changes.
KW & ROLES IN SDLC
Knowledge Workers and Their Roles
in the SDLC
n
Your participation in the systems
development process is vitally important because you are (or will be) a:
n
Business process expert
n
Liaison to the customer
n
Quality control analyst
n
Manager of other people
Knowledge Workers and Their Roles
in the SDLC
Plan
n
The role KW play in the planning phase is
t
Define which systems are to be developed.
t
Define the
"
project scope,
"
project plan, and
"
project milestones.
n
Allocate individuals to work on the
different activities.
Knowledge Workers and Their Roles
in the SDLC
Analysis
n
As a KW, you are the
business process expert
t
This means that you are the
one who knows how current processes and current systems work
t
This means that you are the
one who knows how things need to change
n
One of the primary
activities is
t
Review all business
requirements.
n
It’s far cheaper to find
an error during the planning or analysis phase than it is to find the same
error during the implementation or maintenance phase.
Knowledge Workers and Their Roles
in the SDLC
Analysis
Knowledge Workers and Their Roles
in the SDLC
Design
n
As a KW your role during the design phase
t
Decreases as a business expert and
t
Increases as a quality control analyst
n
IT specialists perform most of the
activities during the design phase.
Knowledge Workers and Their Roles
in the SDLC
Develop
n
Your role during the development phase is
to
t
Confirm any changes to business
requirements.
t
Track the progress of tasks on the project
plan to ensure timely delivery of the system.
n
IT specialists complete many of the
activities in the development phase.
Knowledge Workers and Their Roles
in the SDLC
Test
n
Your role in the testing phase is as a
quality assurance expert
t
Review the test conditions to ensure the IT
specialists have tested all of the system functionality and that every single
test condition has passed.
t
You perform the User acceptance testing (UAT) - determines if the system
satisfies the business requirements and enables the knowledge workers to
perform their jobs correctly.
Knowledge Workers and Their Roles
in the SDLC
Implement
n
During the implementation phase, your role
would be
t
Attend training
t
Help to perform training
n
Ensure all of the knowledge workers have
the required training in order to use the system correctly.
Knowledge Workers and Their Roles
in the SDLC
Maintain
n
Your primary role during the maintenance
phase is to
t
Ensure all of the knowledge workers have
the support they require in order to use the system.
t
Develop a help desk.
t
Develop change request forms for your users
to fill out if they require a change to the system.
Knowledge
Workers and Their Roles in the SDLC
IT Specialists
and Knowledge Workers Working Together
WHY SYSTEMS FAIL
Why Systems Fail
n
Only 20% of systems built
today are successful, 80% of systems development fail.
n
Five primary reasons why
systems fail include:
t
Unclear or missing
requirements
t
Skipping SDLC phases
t
Failure to manage project
scope
t
Failure to manage project
plan
t
Changing technology
Why Systems Fail
Unclear or
Missing Requirements
n
The business requirements drive the entire
system.
n
If they are not accurate or complete there
is no way the system will be successful.
Why Systems Fail
Unclear or
Missing Requirements
n
Gathering inaccurate
requirements?
t OSystem must
not allow students to add classes
t PSystem must allow students to add classes
n
Missing Requirement?
t
Forgetting to include into
the system the calculation of a student grade point average
Why Systems Fail
Skipping
SDLC Phases
n
The first thing individuals tend to do when
a project falls behind schedule is to start skipping phases in the SDLC.
n
Skipping any of the phases is sure to lead
to system failure.
Why Systems Fail
Failure To
Manage Project Scope
n
The project manager must
track the status of each activity and adjust the project plan if a activity is
added or taking longer than expected.
n What could happen in a project
to this effect is
t
Scope creep - occurs
when the scope of the project increases.
t
Feature creep - occurs
when developers add extra features that were not part of the initial
requirements.
Why Systems Fail
Failure To
Manage Project Plan
n
Managing the project plan is one of the
biggest challenges during systems development
Why Systems Fail
Failure To
Manage Project Plan
n
The project plan is the
road map you follow during the development of the system.
n
Developing the initial
project plan is the easy.
n
Managing, revising, and
updating the project plan is the hard part.
Why Systems Fail
Changing
Technology
n
Technology changes so fast that it’s almost
impossible to deliver an information system without feeling the pain of
changing technology.
SOURCING
Insourcing
n
Now that you understand the SDLC, the next
question is “who will build the system?”. This is referred to as “sourcing”.
t
Insourcing: Using IT within the resources
of the organization
t
Selfsourcing: Using KWs
t
Outsourcing: Using another organization
Insourcing
n
Insourcing
- IT specialists within your organization will develop
the system.
n
Insourcing is one of the most common
methods to develop a system.
t
Typically cheapest
t
Company does not have to hire contractors
Selfsourcing
n
Selfsourcing (also
called knowledge worker development or end user development) - the
development and support of IT systems by knowledge workers with little or no
help from IT specialists.
Selfsourcing > The
selfsourcing process
n Many parts of an IS can be
created using the smaller knowledge worker computing systems
t
Customizing reports
t
Creating macros
t
Interfacing a letter in
word
t
Customer database
n
Other parts are more
complicated such as the student registration system
Selfsourcing > The
selfsourcing process
n The key activities in selfsourcing include
t
Plan
t
Analyze
t
Identify basic requirements
t
Develop initial prototype
t
KW reviewing
t
Revise and enhance the prototype
t
support
Selfsourcing
The
Selfsourcing Process
Selfsourcing > The
selfsourcing process
n During the selfsourcing process you should
consider the following issues
t
Aligning your efforts with the
organizational goals
t
Determining what external support you will
require
t
Documenting the system once complete
t
Providing ongoing support
t
Advantages
t
Pitfalls and risks
Selfsourcing
The
Advantages of Selfsourcing
n
Some of the advantages of selfsourcing:
t
Improves requirements determination.
t
Increases knowledge worker participation
and sense of ownership.
t
Increases speed of systems development.
Selfsourcing
Potential
Pitfalls and Risks of Selfsourcing
n
Some pitfalls and risks of selfsourcing
t
Inadequate knowledge worker expertise leads
to inadequately developed systems.
t
Lack of organizational focus creates
“privatized” IT systems.
t
Insufficient analysis of design
alternatives leads to subpar IT systems.
t
Lack of documentation and external support
leads to short-lived systems.
Outsourcing
Developing
Strategic Partnerships
n
Outsourcing - the
delegation of specific work to a third party for a specified length of time, at
a specified cost, and at a specified level of service.
Outsourcing
Developing
Strategic Partnerships
n
IT outsourcing takes on 1
of 4 forms:
t
Purchasing existing
software.
t
Purchasing existing
software and pay the publisher to make certain modifications.
t
Purchasing existing
software and pay the publisher for the right to make modifications yourself.
t
Outsourcing the
development of an entirely new and unique system for which no software exists.
Outsourcing
Developing
Strategic Partnerships
Outsourcing
The Outsourcing
Process
n
Steps of the outsourcing process
n
Plan
n
Define project scope
n
Select a target system
n
Establish logical requirements
Outsourcing
The
Outsourcing Process
n
Develop a request for
proposal
t
Request for proposal (RFP) - a formal
document that describes in detail your logical requirements for a proposed
system and invites outsourcing organizations to submit bids for its
development.
n
Evaluate request for
proposal returns and choose a vendor
n
Test and accept solution
n
Monitor and reevaluate
Outsourcing
The
Outsourcing Process
Outsourcing
The
Advantages and Disadvantages of Outsourcing
n
Advantages of outsourcing include:
t
Focus on unique core competencies.
t
Exploit the intellect of another
organization.
t
Better predict future costs.
t
Acquire leading-edge technology.
t
Reduce costs.
t
Improve performance accountability.
Outsourcing
The
Advantages and Disadvantages of Outsourcing
n
Disadvantages of outsourcing include:
t
Reduces technical know-how for future
innovation.
t
Reduces degree of control.
t
Increases vulnerability of strategic
information.
t
Increases dependency on other
organizations.
Outsourcing
The
Advantages and Disadvantages of Outsourcing
PROTOTYPING
Prototyping
n
Prototyping
- the process of building a model that demonstrates the features of a proposed
product, service, or system.
n
Prototype
- a model of a proposed product, service, or system.
Prototyping
n Prototyping can be used to
perform a variety of functions
t Gathering requirements
t Helping determine
requirements
t
Proof-of-concept prototype - used to prove the
technical feasibility of a proposed system.
t
Selling prototype - used to
convince people of the worth of a proposed system.
Prototyping
The
Prototyping Process
n
The prototyping process involves four
steps:
t
Identify basic requirements
t
Develop initial prototype
t
Knowledge worker review
t
Revise and enhance the prototype
Prototyping
The
Prototyping Process
Prototyping
The
Advantages of Prototyping
t The advantages of prototyping include
"
Encourages active
knowledge worker participation.
"
Helps resolve
discrepancies among knowledge workers.
"
Gives knowledge workers a
feel for the final system.
"
Helps determine technical
feasibility.
"
Helps sell the idea of a
proposed system.
Prototyping
The
Disadvantages of Prototyping
t
The disadvantages of prototyping may
include
"
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.
Closing Case Study One
Some
Prototypes Hit, Some Miss, and Some We Are Just Not Sure About
n
There are many hilarious prototypes that
failed such as garlic cake and toaster eggs.
n
How can prototyping help you develop a
successful system?
Closing Case Study Two
Al’s
Barbeque Restaurant
n
Automating a manual business is an
extremely difficult task.
n
How can the systems development life cycle
help you implement a new system?
Summary
Student
Learning Outcomes
n
List the seven steps in the systems
development life cycle and an associated activity for each step.
n
List four reasons why your participation
during the systems development life cycle is critical.
n
Describe three reasons why projects
fail.
Summary
Student
Learning Outcomes
n
Define the three different ways you can
staff a system development project.
n
List two advantages of selfsourcing.
n
Describe prototyping and profile an example
of a prototype.
n
Describe the advantages of prototyping.
Summary
Assignments
& Exercises
n SDLC and the real world
n How creative are you?
n Request for proposal
n Understanding insourcing
n Managing the project plan
n Why prototype?
n Business requirements
n Why projects fail
n Construction and the SDLC
Visit the Web to Learn More
www.mcgrawhill.ca/college/haag
n
Using your computer for more than work
n
Animating your computer screen
n
Protecting your computer investment
n
Searching for freeware and shareware
n
Project planning and project management