CHAPTER NINE
SYSTEMS
DEVELOPMENT
AND PROJECT
MANAGEMENT
Corporate
Responsibility
© 2014 by McGraw-Hill Education. This is proprietary material solely for authorized instructor
use. Not authorized for sale or distribution in any manner. This document may not be copied,
scanned, duplicated, forwarded, distributed, or posted on a website, in whole or part.
2
CHAPTER OVERVIEW
SECTION 9.1 – Developing Enterprise
Applications
•
•
•
•
•
Developing Software
The Systems Development Life Cycle
Traditional Software Development Methodology: Waterfall
Agile Software Development Methodologies
Developing Successful Software
SECTION 9.2 – Project Management
•
•
•
•
•
Managing Software Development Projects
Choosing Strategic Projects
Understanding Project Planning
Managing Projects
Outsourcing Projects
SECTION 9.1
Developing
Enterprise
Applications
© 2014 by McGraw-Hill Education. This is proprietary material solely for authorized instructor
use. Not authorized for sale or distribution in any manner. This document may not be copied,
scanned, duplicated, forwarded, distributed, or posted on a website, in whole or part.
4
LEARNING OUTCOMES
1. Describe the seven phases of the
systems development life cycle
2. Summarize the different software
development methodologies
5
DEVELOPING SOFTWARE
Software that is built correctly can
transform as the organization and its
business transforms
Software that effectively meets
employee needs will help an
organization become more productive
and enhance decision making
Software that does not meet employee
needs may have a damaging effect on
productivity and can even cause a
business to fail
6
DEVELOPING SOFTWARE
As organizations’ reliance on software grows,
so do the business-related consequences of
software successes and failures including:
• Increase or decrease revenue
• Repair or damage to brand reputation
• Prevent or incur liabilities
• Increase or decrease productivity
7
THE SYSTEMS DEVELOPMENT
LIFE CYCLE (SDLC)
Systems
development life
cycle (SDLC) – The
overall process for
developing
information systems
from planning and
analysis through
implementation and
maintenance
8
THE SYSTEMS DEVELOPMENT
LIFE CYCLE (SDLC)
1. Planning phase – Establishes a high-level
plan of the intended project and determines
project goals
2. Analysis phase – Involves analyzing enduser business requirements and refining
project goals into defined functions and
operations of the intended system
9
THE SYSTEMS DEVELOPMENT
LIFE CYCLE (SDLC)
3. Design phase – Establishes
descriptions of the desired features
and operations of the system
including screen layouts, business
rules, process diagrams, pseudo
code, and other documentation
4. Development phase – Involves
taking all of the detailed design
documents from the design phase
and transforming them into the
actual system
10
THE SYSTEMS DEVELOPMENT
LIFE CYCLE (SDLC)
5. Testing phase – Involves bringing all the
project pieces together into a special testing
environment to eliminate errors and bugs, and
verify that the system meets all of the
business requirements defined in the analysis
phase
6. Implementation phase – Involves placing the
system into production so users can begin to
perform actual business operations with it
11
THE SYSTEMS DEVELOPMENT
LIFE CYCLE (SDLC)
12
THE SYSTEMS DEVELOPMENT
LIFE CYCLE (SDLC)
13
THE SYSTEMS DEVELOPMENT
LIFE CYCLE (SDLC)
7. Maintenance phase – Involves
performing changes, corrections,
additions, and upgrades to ensure the
system continues to meet its business
goals
14
SOFTWARE DEVELOPMENT
METHODOLOGIES
There are a number of different
software development
methodologies including
•
•
•
•
•
•
Waterfall
Agile
Rapid application development
(RAD)
Extreme programming
Rational unified process (RUP)
Scrum
15
Waterfall Methodology
Waterfall
methodology – A
sequence of
phases in which
the output of each
phase becomes
the input for the
next
16
Agile Methodology
Iterative development –
Consists of a series of tiny
projects
Agile methodology – Aims for
customer satisfaction through
early and continuous delivery of
useful software components
developed by an iterative
process using the bare
minimum requirements
17
Rapid Application Development
Methodology (RAD)
Rapid application development methodology–
Emphasizes extensive user involvement in the
rapid and evolutionary construction of working
prototypes of a system to accelerate the systems
development process
Prototype – A smaller-scale representation or
working model of the users’ requirements or a
proposed design for an information system
The prototype is an essential part of the analysis
phase when using a RAD methodology
18
Extreme Programming
Methodology
Extreme programming (XP) methodology – Breaks a
project into tiny phases, and developers cannot continue on
to the next phase until the first phase is complete
19
Rational Unified Process (RUP)
Methodology
Rational Unified Process (RUP) – Provides a
framework for breaking down the development of
software into four gates
• Gate One: Inception
• Gate Two: Elaboration
• Gate Three: Construction
• Gate Four: Transition
20
SCRUM Methodology
SCRUM – Uses small teams to produce small
pieces of deliverable software using sprints, or
30-day intervals, to achieve an appointed goal
Under this methodology, each day ends or
begins with a stand-up meeting to monitor and
control the development effort
21
DEVELOPING SUCCESSFUL
SOFTWARE
Primary reasons for project failure
•
•
•
•
•
Unclear or missing business requirements
Skipping SDLC phases
Failure to manage project scope
Scope creep
Feature creep
Failure to manage project plan
Changing technology
22
DEVELOPING SUCCESSFUL
SOFTWARE
23
DEVELOPING SUCCESSFUL
SOFTWARE
24
DEVELOPING SUCCESSFUL
SOFTWARE
25
DEVELOPING SUCCESSFUL
SOFTWARE
The later in the SDLC an error is found the more
expensive it is to fix!