Title: BUSINESS DRIVEN TECHNOLOGY
1BUSINESS DRIVEN TECHNOLOGY Chapter Nineteen
Building Software to Support an Agile
Organization
2LEARNING 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
3LEARNING 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
4CHAPTER 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
5CHAPTER 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
6DEVELOPING 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
7The Systems Development Life Cycle Overview
Start
8DEVELOPING SOFTWARE The Systems Development
Life Cycle (SDLC)
- Planning phase involves establishing a
high-level plan of the intended project and
determining project goals - 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
9The Systems Development Life Cycle Planning
Start
10The Systems Development Life Cycle Analysis
Start
11DEVELOPING SOFTWARE The Systems Development
Life Cycle (SDLC)
- Design phase involves describing the desired
features and operations of the system including
screen layouts, business rules, process diagrams,
pseudo code, and other documentation - Development phase involves taking all of the
detailed design documents from the design phase
and transforming them into the actual system
12The Systems Development Life Cycle Design
Start
13DEVELOPING SOFTWARE The Systems Development
Life Cycle (SDLC)
- 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 - Implementation phase involves placing the
system into production so users can begin to
perform actual business operations with the system
14The Systems Development Life Cycle Implementation
Start
15DEVELOPING SOFTWARE The Systems Development
Life Cycle (SDLC)
- Maintenance phase involves performing changes,
corrections, additions, and upgrades to ensure
the system continues to meet the business goals
16The Systems Development Life Cycle Maintenance
Start
17SOFTWARE DEVELOPMENT METHODOLOGIES
- There are a number of different software
development methodologies including - Waterfall
- Rapid application development (RAD)
- Extreme programming
- Agile
18Waterfall Methodology
- Waterfall methodology a sequential,
activity-based process in which each phase in the
SDLC is performed sequentially from planning
through implementation and maintenance
19Rapid 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
20Extreme 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
21Agile 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
22DEVELOPOING SUCCESSFUL SOFTWARE
- Primary principles for successful agile software
development - Slash the budget
- If it doesnt work, kill it
- Keep requirements to a minimum
- Test and deliver frequently
- Assign non-IT executives to software projects
23PROJECT 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
24PROJECT MANAGING THE SYSTEMS DEVELOPMENT EFFORT
- Project management interdependent variables
25PROJECT MANAGING THE SYSTEMS DEVELOPMENT EFFORT
- Common reasons why IT projects fall behind
schedule or fail
26PROJECT MANAGING THE SYSTEMS DEVELOPMENT EFFORT
- Expected growth for project management software
27CHAPTER NINETEENOpening 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 - Review the primary principles of successful
software development and prioritize them in order
of importance for Amazon.coms business strategy - Explain why building agile software is important
to all seven of the companies - Assess the impact to IBMs business if it decided
to use the waterfall methodology to build its
customers information systems
28CHAPTER NINETEEN CASETransforming 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 companys catalog
29CHAPTER NINETEEN CASE QUESTIONS
- Assess the business-related consequences of a
failure in Netflixs proprietary supply chain
management system - 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 - Determine the primary differences between the
waterfall development methodology and the agile
development methodology. Which methodology would
you recommend Netflix use and why? - Explain why prototyping would be a good idea for
Netflix if it decides to build a CRM system