2. 6-2
STUDENT LEARNING
OUTCOMES
1. Define the traditional systems
development life cycle (SDLC) and
describe the 7 major phases within
it.
2. Compare and contrast the various
component-based development
methodologies.
3. Describe the selfsourcing process as
an alternative to the traditional
SDLC.
3. 6-3
STUDENT LEARNING
OUTCOMES
4. Discuss the importance of
prototyping and prototyping within
any systems development
methodology
5. Describe the outsourcing
environment and how outsourcing
works.
5. 6-5
CAMERAS USE FILM?
The preceding slide – 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
6. 6-6
CAMERAS USE FILM?
1. Do you own a 35mm camera? Last
time you had 35mm film processed?
2. Will smartphones spell the end of
digital cameras?
3. Do you know someone who owns a
35mm camera? What do they use it
for?
7. 6-7
INTRODUCTION
Information systems are the support
structure for meeting the company’s
strategies and goals
New systems are created because
employees request them
New systems are created to obtain a
competitive advantage
8. 6-8
INTRODUCTION
When developing a new system, you
have 3 “who” choices…
1. Insourcing – IT specialists inside your
organization
2. Selfsourcing – do-it-yourself
approach many end users take with
little or no help from IT specialists
3. Outsourcing – a third-party
organization (i.e., let someone do the
work and pay them for it)
10. 6-10
INSOURCING AND THE SDLC
Systems development life cycle
(SDLC) - a structured step-by-step
approach for developing information
systems
7 distinct phases
Also called a waterfall
methodology, an approach in
which each phase of the SDLC is
followed by another, from planning
through implementation
13. 6-13
Phase 1: Planning
Planning phase - create a solid
plan for developing your information
system
Three primary planning activities:
1. Define the system to be developed
You can’t build every system, so you make
choices based on your organization’s
priorities, which may be expressed as
critical success factors
Critical success factor (CSF) - a factor
simply critical to your organization’s success
14. 6-14
Phase 1: Planning
2. Set the project scope
Project scope - clearly defines the high-
level system requirements
Scope creep - occurs when the scope of
the project increases
Feature creep - occurs when developers
add extra features that were not part of the
initial requirements
Project scope document - a written
definition of the project scope and is
usually no longer than a paragraph
15. 6-15
Phase 1: Planning
3. Develop the project plan including
tasks, resources, and timeframes
Project plan - defines the what, when,
and who questions of system development
Project manager - an individual who is
an expert in project planning and
management, defines and develops the
project plan and tracks the plan to ensure
all key project milestones are completed on
time
Project milestones - represent key dates
for which you need a certain group of
activities performed
17. 6-17
Phase 2: Analysis
Analysis phase - involves end users
and IT specialists working together to
gather, understand, and document
the business requirements for the
proposed system
18. 6-18
Phase 2: Analysis
Two primary analysis activities:
1. Gather the business requirements
Business requirements - the detailed set
of knowledge worker requests that the
system must meet in order to be successful
Business requirements address the “why”
and “what” of your development activities
Joint application development (JAD) -
knowledge workers and IT specialists meet,
sometimes for several days, to define or
review the business requirements for the
system
19. 6-19
Phase 2: Analysis
2. Prioritize the requirements
Requirements definition document –
prioritizes the business requirements and
places them in a formal comprehensive
document
Again, you probably can’t do everything, so
prioritizing is important
Users sign off on this document which
clearly sets the scope for the project
20. 6-20
Phase 2: Analysis
Take time during analysis to get the business requirements correct. If you find
errors, fix them immediately. The cost to fix an error in the early stages of the
SDLC is relatively small. In later stages, the cost is huge.
21. 6-21
Phase 3: Design
Design phase - build a technical
blueprint of how the proposed
system will work
Two primary design activities:
1. Design the technical architecture
Technical architecture - defines the
hardware, software, and
telecommunications equipment required to
run the system
22. 6-22
Phase 3: Design
2. Design system models
This includes GUI screens that users will
interface with, database designs (see
XLM/C), report formats, software steps, etc
Starting with design, you take on
less of an active participation role
and act more as a “quality control”
function, ensuring that the IT people
are designing a system to meet your
needs
23. 6-23
Phase 4: Development
Development phase - take all of
your detailed design documents from
the design phase and transform
them into an actual system
Two primary development activities:
1. Build the technical architecture
2. Build the database and programs
Both of these activities are mostly
performed by IT specialists
24. 6-24
Phase 5: Testing
Testing phase - verifies that the
system works and meets all of the
business requirements defined in
the analysis phase
Two primary testing activities:
1. Write the test conditions
Test conditions - the detailed steps the
system must perform along with the
expected results of each step
25. 6-25
Phase 5: Testing
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
26. 6-26
Phase 6: Implementation
Implementation phase -
distribute the system to all of the
knowledge workers and they begin
using the system to perform their
everyday jobs
Two primary implementation
activities
1. Write detailed user documentation
User documentation - highlights how to
use the system
27. 6-27
Phase 6: Implementation
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
28. 6-28
Phase 6: Implementation
Choose the right implementation
method
Parallel implementation – use both
the old and new system simultaneously
Plunge implementation – discard the
old system completely and use the new
Pilot implementation – start with
small groups of people on the new
system and gradually add more users
Phased implementation – implement
the new system in phases
29. 6-29
Phase 7: Maintenance
Maintenance phase - monitor
and support the new system to
ensure it continues to meet the
business goals
Two primary maintenance activities:
1. Build a help desk to support the system
users
Help desk - a group of people who
responds to knowledge workers’ questions
2. Provide an environment to support
system changes
30. 6-30
COMPONENT-BASED
DEVELOPMENT
The SDLC focuses only on the project
at hand
Component-based development
(CBD) – focuses on building small
self-contained blocks of code
(components) that can be reused
across a variety of applications
1. Using already-developed components
2. Building new components as needed
32. 6-32
Rapid Application
Development (RAD)
Rapid application development (RAD)
(also called rapid prototyping) -
emphasizes extensive user involvement in
the rapid and evolutionary construction of
working prototypes of a system to
accelerate systems development
Prototypes are models of software
The development team continually designs,
develops, and tests the component prototypes
until they are finished
34. 6-34
Extreme Programming (XP)
Extreme programming (XP) - breaks
a project into tiny phases and developers
cannot continue on to the next phase
until the first phase is complete
35. 6-35
Agile Methodology
Agile methodology - a form of XP,
aims for customer satisfaction
through early and continuous
delivery of useful software
components
36. 6-36
SoA – An Architecture
Perspective
Service-oriented architecture
(SoA) – perspective that focuses on
the development, use, and reuse of
small self-contained blocks of code
(called services) to meet all
application software needs
All CBD methodologies adhere to an SoA
Services are the same as components,
which are the same as small self-
contained blocks of code
37. 6-37
SELFSOURCING
Selfsourcing (end-user
development) – the development
and support of IT systems by end
users with little or no help from IT
specialists
Do-it-yourself systems development
approach
Can relieve IT specialists of the
burden of developing many smaller
systems
38. 6-38
Selfsourcing Approach
Is similar to traditional SDLC
Big exception is that design,
development, testing, and
implementation are replaced by the
process of prototyping
Prototyping is the process of building
models, and – in this case –
continually refining those models
until they become the final system
40. 6-40
Selfsourcing Advantages
Improves requirements determination
Increases end user participation and
sense of ownership
Increases speed of development
Reduces invisible backlog
Invisible backlog – list of all systems
that an organization needs to develop
but never get funded because of the lack
of organizational resources
41. 6-41
Selfsourcing Disadvantages
Inadequate end user expertise leads
to inadequately developed systems
Lack of organizational focus creates
“privatized” IT systems
Insufficient analysis of design
alternatives leads to subpar IT
systems
Lack of documentation and external
support leads to short-lived systems
42. 6-42
The Right Tool for the Job
End users must have development
tools that:
Are easy to use
Support multiple platforms
Offer low cost of ownership
Support a wide range of data types
43. 6-43
PROTOTYPING
Prototype – a model of a proposed
product, service, or system
Prototyping - the process of building a
model that demonstrates the features of
a proposed product, service, or system
Proof-of-concept prototype - prove the
technical feasibility of a proposed system
Selling prototype - used to convince
people of the worth of a proposed system
44. 6-44
The Prototyping Process
The prototyping process involves
four steps:
1. Identify basic requirements
2. Develop initial prototype
3. User review
4. Revise and enhance the prototype
46. 6-46
Advantages of Prototyping
Encourages active user participation
Helps resolve discrepancies among
users
Gives users a feel for the final system
Helps determine technical feasibility
Helps sell the idea of a proposed
system
47. 6-47
Disadvantages of Prototyping
Leads people to believe the final
system will follow
Gives no indication of performance
under operational conditions
Leads the project team to forgo
proper testing and documentation
48. 6-48
OUTSOURCING
Outsourcing – the delegation of
specified work to a third party for a
specified length of time, at a
specified cost, and at a specified
level of service
The third “who” option of systems
development, after insourcing and
selfsourcing
49. 6-49
OUTSOURCING
The main reasons behind the rapid
growth of the outsourcing industry
include the following:
Globalization
The Internet
Growing economy and low
unemployment rate
Technology
Deregulation
50. 6-50
Outsourcing Options
IT outsourcing for software development
can take one of four forms:
1. Purchase existing software
2. Purchase existing software and pay the
publisher to make certain modifications
3. Purchase existing software and pay the
publisher for the right to make modifications
yourself
4. Outsource the development of an entirely
new and unique system for which no
software exists
52. 6-52
Outsourcing Process
Like selfsourcing, the selfsourcing
process looks similar to the
traditional SDLC
Big exception here is that you
“outsource” most of the work to
another company
54. 6-54
Outsourcing – RFP
Request for proposal (RFP) – formal
document that describes in excruciating detail
your logical requirements for a proposed
system and invites outsourcing organizations
to submit bids for its development
In outsourcing, you must tell another organization
what you want developed; you do that with an
RFP
Therefore, the RFP must be very detailed
Some RFPs can take years to develop
55. 6-55
Outsourcing – SLA
Service level agreement (SLA) - formal
contractually obligated agreement between
two parties
In outsourcing, it is the legal agreement
between you and the vendor and specifically
identifies what the vendor is going to do (and
by when) and how much you’re going to pay
Supporting SLA documents – service level
specifications and service level objectives
– contain very detailed numbers and metrics
56. 6-56
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
57. 6-57
Offshore Outsourcing
Primary outsourcing countries are:
India
China
Eastern Europe (including Russia)
Ireland
Israel
Philippines
58. 6-58
The Advantages and
Disadvantages of
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
59. 6-59
Disadvantages:
Reduces technical know-how for future
innovation
Reduces degree of control
Increases vulnerability of your strategic
information
Increases dependency on other
organizations
The Advantages and
Disadvantages of Outsourcing