43
Software Project Management Dr. Nguyen Hai Quan

Dr. Nguyen Hai Quan. Overview Classic Mistakes Project Manager Requirements Project Management Phases

Embed Size (px)

Citation preview

Software Project Management

Dr. Nguyen Hai Quan

OverviewClassic MistakesProject Manager Requirements

Project Management Phases

Agenda

OverviewClassic MistakesProject Manager Requirements

Project Management Phases

Agenda

4

What’s a project? PMI definition

◦ A project is a temporary endeavor undertaken to create a unique product or service

Progressively elaborated◦ With repetitive elements

A project manager◦ Analogy: conductor, coach, captain

Overview

5

1970’s: military, defense, construction industry were using PM software

1990’s: large shift to PM-based models◦ 1985: TQM◦ 1990-93: Re-engineering, self-directed teams◦ 1996-99: Risk mgmt, project offices◦ 2000: M&A, global projects

PM History in a Nutshell

6

What’s a ‘program’? Mostly differences of scale Often a number of related projects Longer than projects Definitions vary Ex: Program Manager for MS Word

Project vs. Program Management

7

Jobs: where are they? Professional Organizations

◦ Project Management Institute (PMI) (pmi.org)◦ Software Engineering Institute (SEI)◦ IEEE Software Engineering Group

Certifications◦ PMI PMP

The “PMBOK” – PMI Body of Knowledge Tools

◦ MS Project

The Field

People begin programming before they understand the problem

The team has an unrealistic idea about how much work is involved.

Defects are injected early but discovered late.

Programmers have poor habits – and they don’t feel accountable for their work.

Managers try to test quality into the software.

Why do software projects fail?

OverviewClassic MistakesProject Manager Requirements

Project Management Phases

Agenda

10

Types◦ People-Related◦ Process-Related◦ Product-Related◦ Technology-Related

Classic Mistakes

11

Undermined motivation Weak personnel

◦ Weak vs. Junior Uncontrolled problem employees Heroics Adding people to a late project

People-Related Mistakes

12

Noisy, crowded offices Customer-Developer friction Unrealistic expectations Politics over substance Wishful thinking

People-Related Mistakes (cont.)

13

Lack of effective project sponsorship Lack of stakeholder buy-in Lack of user input

People-Related Mistakes (cont.)

14

Optimistic schedules Insufficient risk management Contractor failure Insufficient planning Abandonment of plan under pressure

Process-Related Mistakes

15

Wasted time during fuzzy front end Shortchanged upstream activities Inadequate design Shortchanged quality assurance

Process-Related Mistakes (cont.)

16

Insufficient management controls Frequent convergence Omitting necessary tasks from estimates Planning to catch-up later Code-like-hell programming

Process-Related Mistakes (cont.)

17

Requirements gold-plating◦ Gilding the lily

Feature creep Developer gold-plating

◦ Beware the pet project Push-me, pull-me negotiation Research-oriented development

Product-Related Mistakes

18

Silver-bullet syndrome Overestimated savings from new tools and

methods◦ Fad warning

Switching tools in mid-project Lack of automated source-code control

Technology-Related Mistakes

OverviewClassic MistakesProject Manager Requirements

Project Management Phases

Agenda

20

As a PM, who do you interact with? Project Stakeholders

◦ Project sponsor◦ Executives◦ Team◦ Customers◦ Contractors◦ Functional managers

Interactions / Stakeholders

21

Three angles of a project manager◦Skills required◦PM Positions and roles◦The process

Project Manager Fundamentals

22

Leadership Communications Problem Solving Negotiating Influencing the Organization Mentoring Process and technical expertise

Project Management Skills

23

Project Administrator / Coordinator Assistant Project Manager Project Manager / Program Manager Executive Program Manager V.P. Program Development

Project Manager Positions

24

Software Project Management

Management

ProjectManagement

SoftwareProject

Management

25

Project integration management Scope Time Cost Quality Human resource Communications Risk Procurement

PMI’s 9 Knowledge Areas

26

People Process Product Technology

Four Project Dimensions

27

Fast, cheap, good. Choose two.

Trade-off Triangle

28

Trade-off Triangle Know which of these are fixed & variable

for every project

29

“It’s always a people problem” Gerald Weinberg, “The Secrets of Consulting”

Developer productivity: 10-to-1 range- Improvements:

- Team selection- Team organization◦ Motivation

People

30

Other success factors◦ Matching people to tasks◦ Career development◦ Balance: individual and team◦ Clear communication

People (cont.)

31

Is process stifling? 2 Types: Management & Technical Development fundamentals Quality assurance Risk management Lifecycle planning Avoid abuse by neglect

Process

32

Customer orientation Process maturity improvement Rework avoidance

Process (cont.)

33

The “tangible” dimension Product size management Product characteristics and requirements Feature creep management

Product

34

Often the least important dimension Language and tool selection Value and cost of reuse

Technology

OverviewClassic MistakesProject Manager Requirements

Project Management Phases

Agenda

36

All projects are divided into phases All phases together are known as the

Project Life Cycle Each phase is marked by completion of

Deliverables Identify the primary software project phases

Project Phases

37

Lifecycle Relationships

38

Seven Core Project Phases

The Planning Phase◦ Establish the Project Objectives◦ Define the Work◦ Determine the Work Timing◦ Establish Resource Availability and Resource

Requirements◦ Establish the Cost Baseline

Setting the Baseline◦ Evaluate the Baseline Plan◦ Optimize the Baseline Plan◦ Freeze the Baseline Plan

Typical Planning and Control Functions

The Tracking Phase◦ Change Control◦ Track Work Progress◦ Track Resource and Cost Actuals◦ Compare to Baseline◦ Evaluate Performance◦ Forecast, Analyze, and Recommend Corrective

Action

Typical Planning and Control Functions (cont.)

1. Describe your old projects, your role, your achievements

1. Did the project succeed ? Any mistakes ?2. Did you apply project management process ?

How about documentations ?

2. Define a template for documenting the project (Analysis, Design, Implementation, Testing, Deployment, Maintenance).

3. Choosing one project for the final test.

Excercises