CHAPTER 19
Building Software
1
Learning Outcomes
Identify the business benefits associated with
successful software development
Describe the seven phases of the systems
development life cycle
Summarize the different software development
methodologies
Define the relationship between the systems
development life cycle and software development
methodologies
2
Overview
Software that is built correctly can support agile
organizations and 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
3
Overview
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
4
Systems Development Life Cycle
(SDLC)
SDLC - the overall
process for
developing
information systems
from planning and
analysis through
implementation and
maintenance
5
SDLC: Planning
Planning phase – involves establishing a high-level
plan of the intended project and determining project
goals
When creating a feasibility study, it is important to
focus on
Economic feasibility- assesses the costs and benefits
of the new system – “Is building the new system cost
effective?”
Operational feasibility evaluates whether people in
the organization will use the new system – “Will the
new system be used by the people in the
organization?”
Technical feasibility examines the technical aspects
of the new system – “Is it technically possible to create
the new system?”
6
SDLC: Analysis Phase
Analysis phase – involves analyzing end-user
business requirements and refining project goals
into defined functions and operations of the
intended system
Business requirements – the detailed set of
business requests that the system must meet in
order to be successful
Three steps:
understanding the old system
identifying how the old system can be improved
developing specifications for the new system
7
SDLC: Design Phase
Design phase – involves describing the desired
features and operations of the system including
screen layouts, business rules, process diagrams,
pseudo code, and other documentation
The design phase addresses "how" the system will
accomplish the objectives
During the design phase, each portion of the new
system is designed in detail, including the user
interface, data structure, and the program design
8
SDLC: Development & Testing Phases
Development phase –
involves taking all of the
detailed design
documents from the
design phase and
transforming them into
the actual system
Testing phase –
involves bringing all the
project pieces together
into a special testing
environment to test for
errors, bugs, and
interoperability and
verify that the system
meets all of the
business requirements
defined in the analysis
phase
9
SDLC: Implementation Phase
Implementation phase – involves placing
the system into production so users can
begin to perform actual business operations
with the system
Four types of conversion methods
parallel conversion
pilot conversion
phased conversion
plunge conversion
10
SDLC: Maintenance phase
Maintenance phase – involves performing
changes, corrections, additions, and
upgrades to ensure the system continues to
meet the business goals
11
Software Development Methodologies
Waterfall
Rapid application development (RAD)
Extreme programming
Agile
12
Waterfall methodology
a sequential,
activity-based
process in which
each phase in the
SDLC is performed
sequentially from
planning through
implementation and
maintenance
13
Rapid application development
methodology (RAD)
RAD – emphasizes extensive user involvement in the
rapid and evolutionary construction of working
prototypes of a system to accelerate the systems
development process
The prototype is an essential part of the analysis
phase when using a RAD methodology.
Prototype – a smaller-scale representation or
working model of the users’ requirements or a
proposed design for an information system
14
Extreme programming (XP)
methodology
XP methodology – breaks a project into tiny phases,
and developers cannot continue on to the next phase
until the first phase is complete
15
Agile Methodology
Agile methodology – a form of XP, aims for
customer satisfaction through early and
continuous delivery of useful software
components
Agile is similar to XP but with less focus on
team coding and more on limiting project
scope
An agile project sets a minimum number of
requirements and turns them into a
deliverable product
16
Principles for successful
agile software development
Slash the budget – Small budgets force developers
and users to focus on the essentials
If it doesn’t work, kill it – Bring all key stakeholders
together to evaluate and assess the software
Keep requirements to a minimum – Start each
project with what the software must absolutely do
Test and deliver frequently – As often as once a
week, complete a part of the project
Assign non-IT executives to software projects –
Non-IT executives should coordinate with the
technical project manager, test iterations to make
sure they are meeting user needs, and act as liaisons
between executives and IT
17
Project Management
Project management –
the application of
knowledge, skills, tools,
and techniques to project
activities in order to meet
or exceed stakeholder
needs and expectations
from a project
Project management
software – supports the
long-term and day-to-day
management and
execution of the steps in a
project
Project management
interdependent variables
18
Common reasons
why IT projects fall behind schedule or fail
Opening Case Study Questions
List and describe the seven phases in the systems
development life cycle and determine which phase
is most important to Cisco when it is developing
software
2. Review the primary principles of successful
software development and prioritize them in order of
importance for Amazon.com’s business strategy
3. Explain why building agile software is important to
all seven of the companies
4. Assess the impact to IBM’s business if it decided to
use the waterfall methodology to build its
customers’ information systems
1.
20