4 c h a p t e r project management. chapter four learning objectives define the terms project and...

46
4 C H A P T E R PROJECT MANAGEMENT

Upload: nathaniel-simmons

Post on 26-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

4C H A P T E R

PROJECT MANAGEMENT

Page 2: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Chapter Four Learning objectives

• Define the terms project and project management, and differentiate between project and process management.

• Describe the causes of failed information systems and technology projects.

• Describe the basic competencies required of project managers.

• Describe the basic functions of project management.• Differentiate between PERT and Gantt charts as project

management tools.• Describe eight activities in project management.• Define joint project planning and its role in project

management.• Estimate tasks’ durations, and specify intertask

dependencies on a PERT chart

Page 3: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Project and Project Management

A project is a sequence of unique, complex, and connected activities having one goal or purpose and that must be completed by specific time, within budget, and according to specification.

Project management is the process of scoping, planning, staffing, organizing, directing, and controlling the development of an acceptable system at a minimum cost within a specified time frame.

Page 4: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Project versus Process Management

Project management is the process of scoping, planning, staffing, organizing, directing, and controlling the development of an acceptable system at a minimum cost within a specified time frame.

Process management is an ongoing activity that documents, manages the use of, and improves an organization’s chosen methodology (the “process”) for system development. Process management is concerned with the activities, deliverables, and quality standards to be applied to all projects.

Page 5: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Causes of Project Failure

• Taking shortcuts through or around the system development methodology

• Poor expectations management• Premature commitment to a fixed budget and

schedule• Poor estimating techniques• Inadequate people management skills• Failure to adapt to business change• Insufficient resources• Failure to “manage to the plan”

Page 6: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Project Manager Competencies

• Business awareness

• Business partner orientation

• Commitment to quality

• Initiative

• Information gathering

• Analytical thinking

• Interpersonal awareness

• Organizational awareness

• Anticipation of impact

• Resourceful use of influence

• Motivating others

• Communication skills

• Developing others

• Monitoring and controlling

• Self-confidence

• Stress management

• Flexibility

(Adapted from Wysocki, Beck, and Crane, Effective Project Management: How to Plan, Manage, and Deliver Projects on Time

and within Budget.)

Page 7: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Project Management Functions

– Scoping

– Planning

– Estimating

– Scheduling

– Organizing

– Directing      

– Controlling

– Closing

Page 8: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Project Management Tools & Techniques

A PERT chart is a graphical network model that depicts a project’s tasks and the relationships between those tasks.

A Gantt chart is a simple horizontal bar chart that depicts project tasks against a calendar. Each bar represents a named project task. The tasks are listed vertically in the left-hand column. The horizontal axis is a calendar timeline.

Page 9: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

PERT Chart

5-3-2001 5-12-2001

5-3-2001 5-11-2001

Preliminary Investigation

5-12-2001 6-12-2001

5-12-2001 6-14-2001

Problem Analysis

5-28-2001 7-15-2001

5-30-2001 7-18-2001

Requirements Analysis

6-13-2001 7-30-2001

6-13-2001 8-3-2001

Decision Analysis

9-10-2001 12-14-2001

TBD TBD

Implementation

7-19-2001 11-13-2001

7-20-2001 In Progress

Construction

7-3-2001 9-25-2001

7-5-2001 10-9-2001

Design

5-3-2001 N/A

5-3-2001 N/A

Project Initiation

ScheduledStart

Scheduled

Finish

Actual Start ActualFinish

Taskintertask

dependency

Legend

ScheduledStart

Scheduled

Finish

Actual Start ActualFinish

Task

Page 10: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Gantt Chart

Incomplete Task

Complete Task

Legend

ID

1

2

3

4

5

6

7

Preliminary investigation

Problem analysis

Requirements analysis

Decision analysis

Design

Construction

Implementation

May Jun Jul Aug Sep Oct Nov Dec

2001Task Name

Today

Page 11: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Activity 3: Estimate Task Durations

1.  Estimate the minimum amount of time it would take to perform the task. We'll call this the optimistic duration (OD).

2.  Estimate the maximum amount of time it would take to perform the task. We'll call this the pessimistic duration (PD).

3.  Estimate the expected duration (ED) that will be needed to perform the task.

4.  Calculate the most likely duration (D) as follows:

D = (1 x OD) + (4 x ED) + (1 x PD) 6

Page 12: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Activity 3: Estimate Task Durations1.       

         

         

Task Optimistic duration

(OD)

Pessimistic duration

(PD)

Expected duration

(ED)

Most likely duration((1*OD)+(4*ED)+(1*PD))/6

A 3 6 4 4.17

B 1 3 2 2.00

C 4 7 6 5.83

D 2 5 3 3.17

E 3 9 6 6.00

F 3 3 4 3.67

Example

Page 13: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Software Quality Assurance

Page 14: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Chapter Learning objectives

• Understand the terms Quality, Software Quality, Software Quality Assurance,

• Understand the need for quality assurance of software products

• Specify the role of quality assurance in software development and maintenance

Page 15: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

What is Quality

The Institute of Electrical and Electronics Engineers' (IEEE) Standard Glossary of Software Engineering Terminology defines quality as:

The degree to which a system, component, or process meets (1) specified requirements, and (2) customer or user needs or expectations

Page 16: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

What is Quality

The International Standards Organization defines quality in ISO 9003-3-1991 as:

The totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs

ISO-8402

Quality is all the features that allow a product to satisfy stated or implied needs at an affordable cost

Page 17: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

What is Quality

Philip B Crosby defines quality as:

"Quality is conformance to requirements”

Requirements are important?

Page 18: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

What is Software Quality

Donald and Fisher define software quality as:

The degree to which a software product possesses a specified set of attributes necessary to fulfill a stated purpose

Handbook of software quality assurance defines software quality as:

Software quality is the fitness for use of the software product

Page 19: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Quality Criteria for Software

Correctness:Extent to which a program fulfills its specification

Efficiency:Use of resources execution and storage

Flexibility:Ease of making changes

Integrity:Protection of the program from unauthorized access

Page 20: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Quality Criteria for Software

Interoperability:Effort required to couple the system to another system

Maintainability:Effort required to locate and fix a fault in the program within its operating environment

Portability:Effort required to transfer a program from one environment to another

Reliability:Ability not to fail

Page 21: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Quality Criteria for Software

Reusability:Ease of re-using software in a different context

Testability:Ease of testing the program to ensure that it is error-free and meets its specification

Usability:Ease of use of the software

Page 22: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Software Quality Assurance

IEEE:

A planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements

Handbook of Software Quality Assurance:

Software quality assurance is the set of systematic activities providing evidence of the ability of the software process to produce a software product that is fit to use

Page 23: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Software Quality Assurance

Software quality Assurance requires monitoring both the processes and products

In process assurance, SQA provides management with objective feedback regarding compliance to approved plans, procedures, standards, and analyses.

Product assurance activities focus on each phase of the life cycle, such as the requirements, design, code, and test plan.

The objective is to identify and eliminate defects throughout the life cycle as early as possible, thus reducing test and maintenance costs

Linda, 2002

Page 24: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Why is quality important?Why is quality important?

Make profitSurvival of OrganizationUser SatisfactionDelivery of defects free products

Linda, 2002

Page 25: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Software Testing

IEEE:

Testing is the process of operating a system or system component under specified conditions, observing or recording the results, and making an evaluation of some aspect of the system or component.

Ronald Reifer:

Software quality testing is the systematic series of evaluation activities performed to validate that the software fulfills technical and performance requirements.

Page 26: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Software Testing

Testing involves operation of a system or application under controlled conditions and evaluating the results (eg, 'if the user is in interface A of the application while using hardware B, and does C, then D should happen').

The controlled conditions should include both normal and abnormal conditions. Testing should intentionally attempt to make things go wrong to determine if things happen when they shouldn't or things don't happen when they should.

Page 27: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Software Testing

• Testing is a process of executing a program with the intent of finding an error

• A good test is one that has a high probability of finding an as yet undiscovered error

• Demonstrate that software functions appear to be working according to specification

Page 28: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Software Testing

Black box testing:

• Not based on any knowledge of internal design or code.

• Tests are based on requirements and functionality. • Attempts to find incorrect or missing functions and

interface and performance errors.

White box testing

• Based on knowledge of the internal logic of an application's code. • Tests are based on coverage of code statements,

branches, paths, conditions.

Page 29: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Software TestingUnit testing• The most 'micro' scale of testing; to test particular functions or

code modules. • Typically done by the programmer and not by testers, as it

requires detailed knowledge of the internal program design and code.

• Not always easily done unless the application has a well-designed architecture with tight code.

Incremental integration testing• Continuous testing of an application as new functionality is

added; requires that various aspects of an application's functionality be independent enough to work separately before all parts of the program are completed.

system testing • Black-box type testing that is based on overall requirements

specifications; covers all combined parts of a system.

Page 30: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Software Testing

Load testing • testing an application under heavy loads, such as

testing of a web site under a range of loads to determine at what point the system's response time degrades or fails.

Acceptance testing• Final testing based on specifications of the end-user or

customer, or based on use by end-users/customers over some limited period of time.

Install/uninstall testing• Testing of full, partial, or upgrade install/uninstall

processes.

Page 31: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Software Testing

Usability testing • Testing for 'user-friendliness'. Clearly this is

subjective, and will depend on the targeted end-user or customer. User interviews, surveys, video recording of user sessions, and other techniques can be used.

Recovery testing • Testing how well a system recovers from crashes,

hardware failures, or other catastrophic problems.

Security testing • Testing how well the system protects against unauthorized

internal or external access, willful damage, etc; may require sophisticated testing techniques.

Page 32: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Software Testing

Compatability testing • Testing how well software performs in a particular

hardware/software/operating system/network/etc. environment

Alpha testing• Testing of an application when development is nearing

completion; minor design changes may still be made as a result of such testing. Typically done by end-users or others, not by programmers or testers.

Beta testing• Testing when development and testing are essentially completed

and final bugs and problems need to be found before final release. Typically done by end-users or others, not by programmers or testers.

Page 33: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Inspections

• The subject of the inspection is typically a document such as a requirements spec or a test plan.

• The purpose is to find problems and see what's missing, not to fix anything.

• Attendees should prepare for this type of meeting by reading thru the document; most problems will be found during this preparation.

• The result of the inspection meeting should be a written report.

• Thorough preparation for inspections is difficult, painstaking work, but is one of the most cost effective methods of ensuring quality.

Page 34: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Inspections Phases

Planning:

• Identification of inspection team• Assure that the team members will be able to adequately

prepare for the inspection• Assure the availability of place for inspection• Schedule the inspection time and place• Give notice for inspection meeting

Page 35: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Inspections Phases

Overview:

• Short overview meeting about the product• Overview is given about the software, what task is

being performed, how it will perform that task, what interfaces are to be active.

• Such overview provides insight to team members and make their job easier.

Page 36: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Inspections Phases

Preparation:

• This phase begins with the receiving of materials and notice of inspection meeting

• During this phase the reader prepares the material to the inspection team and makes particular note of any difficulty in understanding the design, or code.

• Each inspector examines the material for all possible defects

• The defects are recorded on the inspection-defect log form.

Page 37: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Inspections Phases

Inspection Meeting:

• Team members discuss the discrepancies they have detected.

• Moderator makes sure that the team members approach this task in a professional manner.

• As defects are identified, they are discussed and recorded.

• The activity during the meeting is limited to finding defects not solutions

Page 38: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Inspections Phases

Rework:

• The author examines the defects found and makes the necessary corrections.

• The author discusses the corrections with the moderator.

Follow-up:

• To assure that all the defects detected during the inspection have been corrected.

• Last phase

Page 39: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Software Process Improvement

• Involves understanding existing processes and changing these processes to improve product quality and/or reduce costs and development time

• Process Improvement means change (for the better)

BusinessObjectives

NewDevelopment

Process

Change

Poorly Meets

AModel

?

DevelopmentProcess

BetterMeets

Compliance

Page 40: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Software Process Improvement

Involves understanding existing processes and changing these processes to improve product quality and/or reduce costs and development time

• CMM• SPICE• ISO 9001• BOOTSTRAP• ……• …..

Page 41: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Capability Maturity Model

OPTIMIZINGOPTIMIZING55

ORGANIZATION PROCESS FOCUSORGANIZATION PROCESS FOCUSORGANIZATION PROCESS DEFINITIONORGANIZATION PROCESS DEFINITIONPEER REVIEWSPEER REVIEWSTRAINING PROGRAMTRAINING PROGRAMINTERGROUP COORDINATIONINTERGROUP COORDINATIONSOFTWARE PRODUCT ENGINEERINGSOFTWARE PRODUCT ENGINEERINGINTEGRATED SOFTWARE MGTINTEGRATED SOFTWARE MGT

RISKRISK

PRODUCTIVITYPRODUCTIVITY

ANDAND

QUALITYQUALITY

Initial 1Initial 1

REPEATABLEREPEATABLE

22

REQUIREMENTS MGT REQUIREMENTS MGT SOFTWARE PROJECT PLANNINGSOFTWARE PROJECT PLANNING

SOFTWARE PROJECT TRACKINGSOFTWARE PROJECT TRACKINGSOFTWARE SUBCONTRACT MGTSOFTWARE SUBCONTRACT MGT

SOFTWARE QUALITY ASSURANCESOFTWARE QUALITY ASSURANCESOFTWARE CONFIGURATION MGTSOFTWARE CONFIGURATION MGT

DEFINEDDEFINED33

MANAGEDMANAGED44

DEFECT PREVENTIONDEFECT PREVENTIONTECHNOLOGY INNOVATIONTECHNOLOGY INNOVATIONPROCESS CHG MGTPROCESS CHG MGT

PROCESS MEASUREMENT ANDPROCESS MEASUREMENT AND ANALYSISANALYSISQUALITY MANAGEMENTQUALITY MANAGEMENT

RESULTRESULTKEY PROCESS AREASKEY PROCESS AREASLEVELLEVEL

Page 42: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

Capability Maturity Model (CMM)

Level5

OPTIMIZED

Level4

MANAGED

Level3

DEFINED

Level2

REPEATABLE

RISK

COMPETITIVENESS

Level1

INITIAL

Page 43: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

The CMM Process Management Model

• Level 1—Initial

–System development projects follow no prescribed process–Each developer uses his or her own tools and methods–Success or failure is usually a function of the skill and experience of the project team.

–The process is unpredictable–Documentation is not consistent from one project to the next, thus creating problems for those who must maintain a system over its lifetime

Page 44: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

The CMM Process Management Model

• Level 2—Repeatable

–Project management processes and practices are established to track project costs, schedules, and functionality.

–The focus is on project management, not system development.

–A system development process is always followed, but it may vary from project to project

Page 45: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

The CMM Process Management Model

• Level 3—Defined

–A standard system development process (sometimes called a “methodology”) is purchased or developed and integrated throughout the information systems/services unit of the organization.

–The process is stable, predictable, and repeatable

• Level 4—Managed

–Measurable goals for quality and productivity are established.

–Detailed measures of the standard system development process and product quality are routinely collected and stored in a database

Page 46: 4 C H A P T E R PROJECT MANAGEMENT. Chapter Four Learning objectives Define the terms project and project management, and differentiate between project

The CMM Process Management Model

• Level 5—Optimizing

–The standardized system development process (methodology) is continuously monitored and improved based on measures and data analysis established in Level 4