SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development...

49
©2011 The McGraw-Hill Companies, All Rights Reserved CHAPTER NINE SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENT Corporate Responsibility

Transcript of SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development...

Page 1: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

©2011 The McGraw-Hill Companies, All Rights Reserved

CHAPTER NINE

SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENT

Corporate Responsibility

Page 2: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

2

CHAPTER OVERVIEW

SECTION 9.1 – Developing Enterprise Applications • Developing Software

• The Systems Development Life Cycle

• Traditional Software Development Methodology: Waterfall

• Agile Software Development Methodologies

• Developing Successful Software

SECTION 9.2 – Project Management • Managing Software Development Projects

• Choosing Strategic Projects

• Understanding Project Planning

• Managing Projects

• Outsourcing Projects

Page 3: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

©2011 The McGraw-Hill Companies, All Rights Reserved

SECTION 9.1

Developing Enterprise

Applications

Page 4: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

4

LEARNING OUTCOMES

1. Explain 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

Page 5: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

5

DEVELOPING 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

Page 6: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

6

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 7: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

7

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 8: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

8

THE SYSTEMS DEVELOPMENT

LIFE CYCLE (SDLC)

1. Planning phase – Establishes a high-level

plan of the intended project and determines

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 – Specific business

requests the system must meet to be successful

Page 9: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

9

THE SYSTEMS DEVELOPMENT

LIFE CYCLE (SDLC)

3. Design phase – Establishes descriptions of

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 10: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

10

THE SYSTEMS DEVELOPMENT

LIFE CYCLE (SDLC)

5. Testing phase – Involves bringing all the

project pieces together into a special testing

environment to eliminate errors and bugs, 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 it

Page 11: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

11

THE SYSTEMS DEVELOPMENT

LIFE CYCLE (SDLC)

7. Maintenance phase – Involves

performing changes, corrections,

additions, and upgrades to ensure the

system continues to meet its business

goals

Page 12: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

12

SOFTWARE DEVELOPMENT

METHODOLOGIES

There are a number of different

software development

methodologies including

• Waterfall

• Agile

• Rapid application development

(RAD)

• Extreme programming

• Rational unified process (RUP)

• Scrum

Page 13: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

13

Waterfall Methodology

Waterfall

methodology – A

sequence of

phases in which

the output of each

phase becomes

the input for the

next

Page 14: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

14

Agile Methodology

Iterative development –

Consists of a series of tiny

projects

Agile methodology – Aims for

customer satisfaction through

early and continuous delivery of

useful software components

developed by an iterative

process using the bare

minimum requirements

Page 15: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

15

Rapid Application Development

Methodology (RAD)

Rapid application development methodology–

Emphasizes extensive user involvement in the

rapid and evolutionary construction of working

prototypes of a system to accelerate the systems

development process

Prototype – A smaller-scale representation or

working model of the users’ requirements or a

proposed design for an information system

The prototype is an essential part of the analysis

phase when using a RAD methodology

Page 16: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

16

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 17: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

17

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 18: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

18

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 19: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

19

DEVELOPING SUCCESSFUL

SOFTWARE

Primary reasons for project failure

• Unclear or missing business requirements

• Skipping SDLC phases

• Failure to manage project scope

Scope creep

Feature creep

• Failure to manage project plan

• Changing technology

Page 20: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

20

DEVELOPING SUCCESSFUL

SOFTWARE The later in the SDLC an error is found the more

expensive it is to fix!

Page 21: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

©2011 The McGraw-Hill Companies, All Rights Reserved

SECTION 9.2

Project Management

Page 22: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

22

LEARNING OUTCOMES

4. Explain project management, the triple

constraint, and project stakeholder and

executive sponsor’s roles in choosing strategic

projects

5. Explain how project stakeholder’s choose

strategic projects

6. Describe the two primary diagrams most

frequently used in project planning

Page 23: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

23

LEARNING OUTCOMES

7. Identify the three primary areas a project

manager must focus on managing to ensure

success

8. Explain the three different types of outsourcing

along with their benefits and challenges

Page 24: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

24

MANAGING SOFTWARE

DEVELOPMENT PROJECTS

Analysts predict investment in MIS projects

worldwide is over $1 trillion

70 percent will be lost due to failed projects

The consequences of failed projects include

• Damaged brand

• Lost goodwill

• Dissolution of partnerships

• Lost investment opportunities

• Low morale

Page 25: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

25

MANAGING SOFTWARE

DEVELOPMENT PROJECTS

The Project Management Institute (PMI) develops

procedures and concepts necessary to support the

profession of project management (www.pmi.org)

and has three areas of focus

1. The distinguishing characteristics of a practicing

professional (ethics)

2. The content and structure of the profession’s body of

knowledge (standards)

3. Recognition of professional attainment (accreditation)

Page 26: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

26

MANAGING SOFTWARE

DEVELOPMENT PROJECTS

Project – Temporary activities undertaken to

create a unique product or service

Project management – The application of

knowledge, skills, tools, and techniques to

project activities to meet project requirements

Project manager – An individual who is an

expert in project planning and management,

defines and develops the project plan, and

tracks the plan to ensure the project is

completed on time and on budget

Page 27: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

27

MANAGING SOFTWARE

DEVELOPMENT PROJECTS

Project deliverable – Any measurable,

tangible, verifiable outcome, result, or item that

is produced to complete a project or part of a

project

Project milestone – Represents key dates

when a certain group of activities must be

performed

Project management office (PMO) – An

internal department that oversees all

organizational projects

Page 28: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

28

The Triple Constraint

Project Management Interdependent Variables

Page 29: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

29

The Triple Constraint

Benjamin Franklin’s timeless advice - by failing to

prepare, you prepare to fail - applies to software

development projects

The Hackett Group analyzed 2,000 companies and

discovered

• Three in 10 major IT projects fail

• 21 percent of the companies state that they cannot

adjust rapidly to market changes

• One in four validates a business case for IT projects

after completion

Page 30: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

30

Project Participants

Project stakeholder - Individuals and

organizations actively involved in the project or

whose interests might be affected as a result of

project execution or project completion

Executive sponsor - The person or group who

provides the financial resources for the project

Page 31: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

31

Project Participants

Project Management Role

Page 32: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

32

CHOOSING STRATEGIC PROJECTS

Three common techniques for selecting projects

1. Focus on organizational goals

2. Categorize projects

3. Perform a financial analysis

Page 33: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

33

UNDERSTANDING PROJECT

PLANNING

After selecting strategic projects and identifying

a project manager the next critical component is

the project plan

Building a project plan involves two key

components

• Project charter

• Project plan

Page 34: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

34

UNDERSTANDING PROJECT

PLANNING

Project charter - A document issued by the

project initiator or sponsor that formally

authorizes the existence of a project and

provides the project manager with the authority

to apply organizational resources to project

activities and includes

• Project scope statement

• Project objectives

• Project constraints

• Projects assumptions

Page 35: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

35

UNDERSTANDING PROJECT

PLANNING

SMART criteria are

useful reminders on

how to ensure that

the project has

created

understandable and

measurable

objectives

Page 36: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

36

UNDERSTANDING PROJECT

PLANNING

Project plan – A formal, approved document

that manages and controls project execution

A well-defined project plan should be

• Easy to understand and read

• Communicated to all key participants

• Appropriate to the project’s size, complexity, and

criticality

• Prepared by the team, rather than by the individual

project manager

Page 37: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

37

UNDERSTANDING PROJECT

PLANNING

Two primary diagrams used in project

planning include PERT and Gantt charts

• PERT chart

Dependency

Critical path

• Gantt chart

Page 38: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

38

UNDERSTANDING PROJECT

PLANNING PERT Chart EXPERT – PERT Chart Example

Page 39: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

39

UNDERSTANDING PROJECT

PLANNING MS Project – Gantt Chart Example

Page 40: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

40

MANAGING PROJECTS

Managing a project includes

• Identifying requirements

• Establishing clear and achievable

objectives.

• Balancing the competing demands of

quality, scope, time, and cost

• Adapting the specifications, plans, and

approach to the different concerns and

expectations of the various

stakeholders

Page 41: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

41

MANAGING PROJECTS

A project manager must focus on managing

three primary areas to ensure success

1. People

2. Communications

3. Change

Page 42: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

42

OUTSOURCING PROJECTS

In-sourcing (in-house-

development) –Uses the

professional expertise within an

organization to develop and maintain

its information technology systems

Outsourcing – An arrangement by

which one organization provides a

service or services for another

organization that chooses not to

perform them in-house

Page 43: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

43

OUTSOURCING PROJECTS

Factors driving outsourcing growth include

• Core competencies

• Financial savings

• Rapid growth

• The Internet and globalization

Page 44: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

44

OUTSOURCING PROJECTS

Onshore outsourcing

Nearshore outsourcing

Offshore outsourcing

Page 45: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

45

OUTSOURCING PROJECTS

Big selling point for offshore outsourcing

“inexpensive good work”

Page 46: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

46

OUTSOURCING PROJECTS

Most organizations outsource their noncore

business functions, such as payroll and IT

Page 47: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

47

Outsourcing Benefits

Outsourcing benefits include

• Increased quality and efficiency of business processes

• Reduced operating expenses for head count and

exposure to risk for large capital investments

• Access to outsourcing service provider’s expertise,

economies of scale, best practices, and advanced

technologies

• Increased flexibility for faster response to market changes

and less time to market for new products or services

Page 48: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

48

Outsourcing Challenges

Outsourcing challenges include

• Length of contract

1. Difficulties in getting out of a contract

2. Problems in foreseeing future needs

3. Problems in reforming an internal IT department

after the contract is finished

• Threat to competitive advantage

• Loss of confidentiality

Page 49: SYSTEMS DEVELOPMENT AND PROJECT MANAGEMENTsuwanna/1-56... · •Agile Software Development Methodologies ... environment to eliminate errors and bugs, and verify that the system meets

49

LEARNING OUTCOME REVIEW

Now that you have finished the chapter

please review the learning outcomes in

your text