Building Software

advertisement
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
Download