McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming...

30
McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations

Transcript of McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming...

Page 1: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved

UNIT FIVE

Transforming Organizations

Page 2: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-2

UNIT FIVE

• Chapter Seventeen – Building Software to Support an Agile Organization

• Chapter Eighteen – Managing Organizational Projects

• Chapter Nineteen - Outsourcing in the 21st Century

• Chapter Twenty – Developing a 21st Century Organization

Page 3: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved

CHAPTER 17

Building Software to Support an Agile Organization

Page 4: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-4

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.3 Summarize the different software development methodologies

Page 5: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-5

LEARNING OUTCOMES

17.4 Define the relationship between the systems development life cycle and software development

17.5 Compare the waterfall methodology and the agile methodology

Page 6: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-6

THE CRUCIAL ROLE OF SOFTWARE

• Companies are impacted by software solutions that enable them to improve their cost structure, manage people better, and develop and deliver new products to market

• Software built correctly can support nimble organizations and can transform as the organization and its business transforms

Page 7: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-7

DEVELOPING SOFTWARE

• 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

Page 8: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-8

DEVELOPING 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

Page 9: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-9

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

Page 10: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-10

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

Page 11: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-11

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

Page 12: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-12

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

Page 13: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-13

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

Page 14: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-14

SOFTWARE DEVELOPMENT METHODOLOGIES

• There are a number of different software development methodologies including:

– Agile– Waterfall– Rapid application development (RAD)– Extreme programming– Rational unified process (RUP)– Scrum

Page 15: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-15

Waterfall Methodology

• Waterfall methodology – an activity-based process in which each phase in the SDLC is performed sequentially from planning through implementation and maintenance

Page 16: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-16

AGILE SOFTWARE DEVELOPMENT METHODOLOGIES

• Agile methodology – aims for customer satisfaction through early and continuous delivery of components developed by an iterative process

– An agile project sets a minimum number of requirements and turns them into a deliverable product

– Iterative development – consists of a series of tiny projects

Page 17: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-17

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

Page 18: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-18

Rapid Application Development Methodology (RAD)

• 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

Page 19: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-19

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

Page 20: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-20

Rational Unified Process (RUP) Methodology

• Rational Unified Process (RUP) – 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

Page 21: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-21

SCRUM Methodology

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

• Under this methodology, each day ends or begins with a stand-up meeting to monitor and control the development effort

Page 22: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-22

Implementing Agile Methodologies

• The Agile Alliance Manifesto– Early and continuous delivery of valuable

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

Page 23: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-23

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

Page 24: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-24

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

Page 25: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-25

SOFTWARE PROBLEMS ARE BUSINESS PROBLEMS

• Find errors early: the later in the SDLC an error is found - the more expensive it is to fix

Page 26: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-26

CHAPTER SEVENTEENOpening Case Study Questions

1. Identify the benefits associated with successful software development

2. Which of the seven phases of the systems development life cycle is the most critical to the development of an e-espionage application?

Page 27: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-27

CHAPTER SEVENTEENOpening Case Study Questions

3. Which of the seven phases of the systems development life cycle is the least critical to the development of an e-espionage application?

4. If you were consulting to the government on building an e-espionage application which development methodology would you recommend and why?

Page 28: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-28

CHAPTER SEVENTEEN CASESoftware Developing Androids

• Android - Google developed open mobile phone platform, is a development operating system for mobile phones – designed to compete head-to-head with Apple’s iPhone

• Virtually anyone can download an Android software development kit from Google and write an application for Android

• It is posed to be the next big threat to competitors in the software industry

Page 29: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-29

CHAPTER SEVENTEEN CASE QUESTIONS

1. List and describe the seven phases in the systems development life cycle and determine which phase you think is most important to an individual developing an application for Android

2. Identify the primary difference between the different software development methodologies. Which methodology would you recommend an individual developing an application for Android use and why?

Page 30: McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved UNIT FIVE Transforming Organizations.

17-30

CHAPTER SEVENTEEN CASE QUESTIONS

3. What are the common reasons why software projects fail and how can an Android developer mitigate these risks?

4. If you could develop software for Android what would it be and what business purpose would it serve? How could you ensure the successful development of the software?