Title: Lecture%209%20SYSTEMS%20DEVELOPMENT%20Phases,%20Tools,%20and%20Techniques
1Lecture 9SYSTEMS DEVELOPMENTPhases, Tools,
and Techniques
2STUDENT LEARNING OUTCOMES
- Define the traditional systems development life
cycle (SDLC) and describe the 7 major phases
within it. - Compare and contrast the various component-based
development methodologies. - Describe the self-sourcing process as an
alternative to the traditional SDLC.
3STUDENT LEARNING OUTCOMES
- Discuss the importance of prototyping and
prototyping within any systems development
methodology - Describe the outsourcing environment and how
outsourcing works.
4SAVING LIVES THROUGH SYSTEMS DEVELOPMENT
- Centers for Disease Control (CDC) tracks a wealth
of information - Antimicrobial-resistant infections in hospitals
- Influenza outbreaks
- Terrorist biochemical attacks
- Bacteria counts in rivers and stagnant ponds, etc
- Unfortunately, most of that information is stored
in separate IT systems that do not communicate
with each other
5SAVING LIVES THROUGH SYSTEMS DEVELOPMENT
- The CDC is using a service-oriented architecture
(SoA) to integrate all those systems and
information - An SoA treats every component of an IT system a
database file, a server, a CRM software solution,
etc as a building block - Within an SoA, those building blocks can be
plugged and played so that everything works
together in an integrated fashion
6SAVING LIVES THROUGH SYSTEMS DEVELOPMENT
- All computers use a common binary base language.
That being true, why is it so difficult to get
computer systems to easily communicate with each
other? - In systems development, prototyping is used to
build a model of a proposed system. How have you
used prototyping in your personal life? - Outsourcing going to another company for
systems development is big business. Why would
the CDC not want to pursue outsourcing?
7INTRODUCTION
- Information systems are the support structure for
meeting the companys strategies and goals - New systems are created because employees request
them - New systems are created to obtain a competitive
advantage
8INTRODUCTION
- When developing a new system, you have 3 who
choices - Insourcing IT specialists inside your
organization - Selfsourcing do-it-yourself approach many end
users take with little or no help from IT
specialists - Outsourcing a third-party organization (i.e.,
let someone do the work and pay them for it)
9INSOURCING AND THE SDLC
- Systems development life cycle (SDLC) - a
structured step-by-step approach for developing
information systems - 7 distinct phases, each with well-defined
activities - Also called a waterfall methodology, an approach
in which each phase of the SDLC is followed by
another, from planning through implementation
10SDLC Phases Major Activities
11SDLC as a Waterfall Methodology
12Phase 1 Planning
- Planning phase - create a solid plan for
developing your information system - Three primary planning activities
- Define the system to be developed
- You cant build every system, so you make choices
based on your organizations priorities, which
may be expressed as critical success factors - Critical success factor (CSF) - a factor simply
critical to your organizations success
13Phase 1 Planning
- 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
14Phase 1 Planning
- 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
15Phase 1 Planning
Sample Project Plan
16Phase 2 Analysis
- Analysis phase - involves end users and IT
specialists working together to gather,
understand, and document the business
requirements for the proposed system
17Phase 2 Analysis
- Two primary analysis activities
- 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
18Phase 2 Analysis
- Prioritize the requirements
- Requirements definition document prioritizes
the business requirements and places them in a
formal comprehensive document - Again, you probably cant do everything, so
prioritizing is important - Users sign off on this document which clearly
sets the scope for the project
19Phase 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.
20Phase 3 Design
- Design phase - build a technical blueprint of how
the proposed system will work - Two primary design activities
- Design the technical architecture
- Technical architecture - defines the hardware,
software, and telecommunications equipment
required to run the system
21Phase 3 Design
- Design system models
- This includes GUI screens that users will
interface with, database designs , 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
22Phase 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
- Build the technical architecture
- Build the database and programs
- Both of these activities are mostly performed by
IT specialists
23Phase 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
- Write the test conditions
- Test conditions - the detailed steps the system
must perform along with the expected results of
each step
24Phase 5 Testing
- 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
25Phase 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
- Write detailed user documentation
- User documentation - highlights how to use the
system
26Phase 6 Implementation
- 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
27Phase 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
28Phase 7 Maintenance
- Maintenance phase - monitor and support the new
system to ensure it continues to meet the
business goals - Two primary maintenance activities
- Build a help desk to support the system users
- Help desk - a group of people who responds to
knowledge workers questions - Provide an environment to support system changes
29COMPONENT-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 - CBD focuses on
- Using already-developed components to build
systems quickly - Building new components as needed that can be
used in all future systems
30Component-Based Development Methodologies
- Rapid application development (RAD)
- Extreme programming (XP)
- Agile methodology
31Rapid 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 the systems development process - Prototypes are models of the software components
- The development team continually designs,
develops, and tests the component prototypes
until they are finished
32Rapid Application Development (RAD)
Use already-existing software components
Build new software components
33Extreme 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
34Agile Methodology
- Agile methodology - a form of XP, aims for
customer satisfaction through early and
continuous delivery of useful software components
35SoA 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 - More in Lecture 7
36SELFSOURCING
- 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
37Selfsourcing 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
38Selfsourcing Approach
39Selfsourcing Advantages
- Improves requirements determination
- Increases end user participation and sense of
ownership - Increases speed of systems development
- Reduces invisible backlog
- Invisible backlog list of all systems that an
organization needs to develop but because of
the prioritization of systems development needs
never get funded because of the lack of
organizational resources
40Selfsourcing 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
41The 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
42PROTOTYPING
- 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 - used to prove the
technical feasibility of a proposed system - Selling prototype - used to convince people of
the worth of a proposed system
43The Prototyping Process
- The prototyping process involves four steps
- Identify basic requirements
- Develop initial prototype
- User review
- Revise and enhance the prototype
44The Prototyping Process
45Advantages 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
46Disadvantages 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
47OUTSOURCING
- 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
48OUTSOURCING
- 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
49Outsourcing Options
- IT outsourcing for software development can take
one of four forms - Purchase existing software
- Purchase existing software and pay the publisher
to make certain modifications - Purchase existing software and pay the publisher
for the right to make modifications yourself - Outsource the development of an entirely new and
unique system for which no software exists
50Outsourcing Options
51Outsourcing 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
52Outsourcing Process
When outsourcing, youll develop two vitally
important documents a request for proposal and
a service level agreement
53Outsourcing RFP
- Request for proposal (RFP) formal document that
describes in excruciating detail your logical
requirements for a proposed system and invites
outsourcing organizations (vendors) 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 and
complete - Some RFPs can take months or even years to develop
54Outsourcing 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 youre going to pay - Supporting SLA documents service level
specifications and service level objectives
contain very detailed numbers and metrics
55Outsourcing Options
- There are three different forms of outsourcing
- Onshore outsourcing - the process of engaging
another company within the same country for
services - Nearshore outsourcing - contracting an
outsourcing arrangement with a company in a
nearby country - Offshore outsourcing - contracting with a company
that is geographically far away
56Offshore Outsourcing
- Primary outsourcing countries are
- India
- China
- Eastern Europe (including Russia)
- Ireland
- Israel
- Philippines
57The 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
58The Advantages and Disadvantages of Outsourcing
- Disadvantages
- Reduces technical know-how for future innovation
- Reduces degree of control
- Increases vulnerability of your strategic
information - Increases dependency on other organizations
59End of Lecture