Transcript Slide 1

McGraw-Hill/Irwin

Unit Five Transforming Organizations

© 2008 The McGraw-Hill Companies, All Rights Reserved

Unit Five

Chapter Seventeen

– Building Software to Support an Agile Organization •

Chapter Eighteen

21 st Century – Outsourcing in the •

Chapter Nineteen

– Developing a 21st Century Organization

17-2

McGraw-Hill/Irwin

Chapter 17 Building Software to Support an Agile Organization

© 2008 The McGraw-Hill Companies, All Rights Reserved

Learning Outcomes

17.1

Identify the business benefits associated with successful software development

17.2

Describe the seven phases of the systems development life cycle

17-4

Learning Outcomes

17.3

Summarize the different software development methodologies

17.4

Explain project management and its three interdependent variables

17-5

Systems Development

• 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

17-6

Systems Development

• 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

17-7

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

17-8

Developing Software – The Systems Development Life Cycle (SDLC)

1.

Planning phase

– involves establishing a high-level 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 requirement

– detailed set of business requests that the system must meet in order to be successful

17-9

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

17-10

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

17-11

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

17-12

Software Development Methodologies

• There are a number of different software development methodologies including: – Waterfall – Rapid application development (RAD) – Extreme programming – Agile

17-13

Waterfall Methodology

Waterfall methodology

– a sequential, activity based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenance

17-14

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

17-15

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

17-16

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

17-17

Developing Successful Software

• – – – – – Primary principles for successful agile software development include: 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

17-18

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

17-19

Project Managing The Systems Development Effort

Project management interdependent variables

17-20

Project Managing The Systems Development Effort

Common reasons why IT projects fall behind schedule or fail

17-21

Project Managing The Systems Development Effort

Expected growth for project management software

17-22

CHAPTER SEVENTEEN

Opening Case Study Questions 1.

How are hospitals using new software to improve their operations?

2.

List and describe the seven phases in the systems development life cycle and determine which phase is most important to a hospital when it is developing software

17-23

CHAPTER SEVENTEEN

Opening Case Study Questions 3.

Review the primary principles of successful software development and list them in order of importance for Hackensack University Medical Center’s business strategy 4.

Why is building agile software important to Hackensack University Medical Center 5.

Assess the impact to a hospital if it decided to use the waterfall methodology to build its customers’ information systems

17-24

CHAPTER SEVENTEEN 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

17-25

Chapter Seventeen 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?

17-26

Chapter Seventeen Case Questions

4.

Why would prototyping be a good idea for Netflix if it decides to build a CRM system?

5.

Given $10,000, would you recommend purchasing Netflix or Blockbuster stock?

17-27