15
Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

Embed Size (px)

Citation preview

Page 1: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

Building Software to Support an Agile Organization

CHAPTER 17

Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.McGraw-Hill/Irwin

Page 2: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

LEARNING OUTCOMES

1. Identify the business benefits associated with successful software development.

2. Describe the seven phases of the systems development life cycle.

3. Summarize the different software development methodologies.

4. Explain why software problems are business problems.

17-2

Page 3: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

THE CRUCIAL ROLE OF SOFTWARE

• 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-3

Page 4: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

THE CRUCIAL ROLE OF SOFTWARE

• 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-4

Page 5: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

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

Planning Phase—Involves establishing a high-level plan of the intended project and determining project goals

17-5

Page 6: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)

Analysis Phase —Involves analyzing end-user business requirements and refining project goals into defined functions and operations of the intended system

Design Phase —Involves describing the desired features and operations of the system including screen layouts, business rules, process diagrams, pseudo code, and other documentation

17-6

Page 7: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)

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

17-7

Page 8: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC)

Implementation Phase—Involves placing the system into production so users can begin to perform actual business operations with the system

Maintenance Phase—Involves performing changes, corrections, additions, and upgrades to ensure the system continues to meet the business goals

17-8

Page 9: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

SOFTWARE DEVELOPMENT METHODOLOGY

• Waterfall Methodology —An activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenance

• Agile Methodology —Aims for customer satisfaction through early and continuous delivery of components developed by an iterative process– Iterative Development —Consists of a series of tiny

projects

17-9

Page 10: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

WATERFALL METHODOLOGY

17-10

Page 11: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

AGILE METHODOLOGY

17-11

Page 12: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

SOFTWARE DEVELOPMENT METHODOLOGY

• 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

• Fundamentals of RAD:

– Focus initially on creating a prototype that looks and acts like the desired system

– Actively involve system users in the analysis, design, and development phases

– Accelerate collecting the business requirements through an interactive and iterative construction approach

17-12

Page 13: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

SOFTWARE DEVELOPMENT METHODOLOGY

• Rational Unified Process (RUP) Methodology—Provides a framework for breaking down the development of software into four gates

– Gate One: Inception– Gate Two: Elaboration– Gate Three: Construction– Gate Four: Transition

• 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-13

Page 14: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

SOFTWARE DEVELOPMENT METHODOLOGY

• SCRUM Methodology—Uses small teams to produce small pieces of deliverable software using sprints, or 30-day intervals, to achieve an appointed goal

• Implementing Agile Methodologies– The Agile Alliance Manifesto:

• Early/continuous delivery of software will satisfy the customer

• Changing requirements are welcome• Business people and developers work together• Projects need motivated individuals• Use self-organizing teams• Reflect on how to become more effective

17-14

Page 15: Building Software to Support an Agile Organization CHAPTER 17 Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin

SOFTWARE PROBLEMS ARE BUSINESS PROBLEMS

• Primary reasons for project failure include:– Unclear or missing business requirements– Skipping SDLC phases– Failure to manage project scope

• Scope Creep—occurs when the scope increases• Feature Creep—occurs when extra features are

added– Failure to manage project plan– Changing technology

• Find Errors Early: The later in the SDLC an error is found - the more expensive it is to fix

17-15