Transcript Slide 1

BUSINESS DRIVEN
TECHNOLOGY
Chapter Nineteen:
Building Software to Support an
Agile Organization
LEARNING OUTCOMES
19.1 Identify the business benefits associated
with successful software development
19.2 Describe the seven phases of the
systems development life cycle
19.3 Summarize the different software
development methodologies
LEARNING OUTCOMES
19.4 Define the relationship between the
systems development life cycle and
software development methodologies
19.5 Compare the waterfall methodology and
the agile methodology
CHAPTER NINETEEN 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
CHAPTER NINETEEN 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
DEVELOPING SOFTWARE – 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
The Systems Development Life Cycle:
Overview
Start
DEVELOPING SOFTWARE – The Systems
Development Life Cycle (SDLC)
1. Planning phase – involves establishing a highlevel plan of the intended project and determining
project goals
2. 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
The Systems Development Life Cycle: Planning
Start
The Systems Development Life Cycle: Analysis
Start
DEVELOPING SOFTWARE – The Systems
Development Life Cycle (SDLC)
3. Design phase – involves describing 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
The Systems Development Life Cycle: Design
Start
DEVELOPING SOFTWARE – The Systems
Development Life Cycle (SDLC)
5. 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
6. Implementation phase – involves placing the
system into production so users can begin to
perform actual business operations with the
system
The Systems Development Life Cycle:
Implementation
Start
DEVELOPING SOFTWARE – The Systems
Development Life Cycle (SDLC)
7. Maintenance phase – involves performing
changes, corrections, additions, and upgrades to
ensure the system continues to meet the
business goals
The Systems Development Life Cycle:
Maintenance
Start
SOFTWARE DEVELOPMENT
METHODOLOGIES
•
There are a number of different software
development methodologies including:
–
–
–
–
Waterfall
Rapid application development (RAD)
Extreme programming
Agile
Waterfall Methodology
•
Waterfall methodology – a sequential, activitybased process in which each phase in the SDLC
is performed sequentially from planning through
implementation and maintenance
Rapid Application Development
Methodology (RAD)
•
Rapid application development methodology
(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
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
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
DEVELOPOING SUCCESSFUL
SOFTWARE
•
Primary principles for successful agile software
development:
–
–
–
–
–
Slash the budget
If it doesn’t work, kill it
Keep requirements to a minimum
Test and deliver frequently
Assign non-IT executives to software projects
PROJECT MANAGING THE SYSTEMS
DEVELOPMENT EFFORT
•
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 MANAGING THE SYSTEMS
DEVELOPMENT EFFORT
•
Project management interdependent variables
PROJECT MANAGING THE SYSTEMS
DEVELOPMENT EFFORT
•
Common reasons why IT projects fall behind
schedule or fail
PROJECT MANAGING THE SYSTEMS
DEVELOPMENT EFFORT
•
Expected growth for project management
software
CHAPTER NINETEEN
Opening Case Study Questions
1.
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
CHAPTER NINETEEN CASE
Transforming the Entertainment Industry - Netflix
•
Netflix is transforming the way people rent videos
with its online all you can rent for $20 a month
•
Netflix attributes its success to its proprietary
software, Netflix Recommendation System, which
constantly suggests movies a customer might
like, based on how the customer rates any of the
15,000 titles in the company’s catalog
CHAPTER NINETEEN CASE QUESTIONS
1.
Assess the business-related consequences of a failure in
Netflix’s proprietary supply chain management system
2.
List and describe the seven phases in the systems
development life cycle and determine which phase you think
is most important to Netflix when it is developing software
3.
Determine the primary differences between the waterfall
development methodology and the agile development
methodology. Which methodology would you recommend
Netflix use and why?
4.
Explain why prototyping would be a good idea for Netflix if it
decides to build a CRM system