52
1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

  • View
    223

  • Download
    2

Embed Size (px)

Citation preview

Page 1: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

1

Software Project Management

Session 1: Introduction, Fundamentals, Classic Mistakes

Page 2: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

2

Today

• Course basics,

• Introductions

• Fundamentals

Page 3: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

3

Review

• Grades

• Paper 40%

• Assignment 20%

• Experiments 20%

• Attendance 20%

Page 4: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

4

Textbooks

• Required texts– “IT Project Management”, Kathy Schwalbe

• Recommended reading– “Quality Software Project Management”, D.

Shafer – “Software Project Survival Guide”, Steve

McConnell– “Peopleware”, T. DeMarco and T. Lister

Page 5: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

5

Basics

• What is project management• the application of knowledge, skills, tools

and techniques to project activities to meet project requirements

• Practical, rapid development focus• Real-world case studies

– And other examples like job interviews

• Highly interactive

Page 6: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

6

My Background

• Studied and worked in Philadelphia, USA since 1999

• PECO, Vanguard, Double Star.

Page 7: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

7

Your Background

• Name

• Project Management Experience

• Optional: Expectations & goals from the class

Page 8: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

8

The Field

• Jobs: where are they?• Professional Organizations

– Project Management Institute (PMI) (pmi.org)

– Software Engineering Institute (SEI)

– IEEE Software Engineering Group

• Certifications– PMI PMP

• Tools– MS Project 2003

Page 9: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

9

The Field Part 2

• Average PM salary $81,000

• Contract rates for PM’s can match techies

• PMI certification adds avg. 14% to salary

• PMI certs, 1993: 1,000; 2002: 40,000

• Other cert: CompTIA Project+

Page 10: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

10

Job Fundamentals

• Skills required

• PM Positions and roles

• The process

Page 11: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

11

Project Management Skills

• Leadership

• Communications

• Problem Solving

• Negotiating

• Influencing the Organization

• Mentoring( 导师 顾问)• Process and technical expertise

Page 12: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

12

Project Manager Positions

• Project Administrator / Coordinator

• Assistant Project Manager

• Project Manager / Program Manager

• Executive Program Manager

• Program Development

Page 13: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

13

Software Project Management

Management

ProjectManagement

SoftwareProject

Management

Page 14: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

14

PM History in a Nutshell

• Birth of modern PM: Manhattan Project (the bomb)

• 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: Global projects

Page 15: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

15

Project Management

• 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

Page 16: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

16

Project vs. Program Management

• 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

Page 17: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

17

Interactions / Stakeholders

• As a PM, who do you interact with?

• Project Stakeholders– Project sponsor– Executives– Team– Customers– Contractors– Functional managers

Page 18: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

18

PM Tools: Software

• Low-end– Basic features, tasks management, charting

– MS Excel, Milestones Simplicity

• Mid-market– Handle larger projects, multiple projects, analysis tools

– MS Project (approx. 50% of market)

• High-end– Very large projects, specialized needs, enterprise

– Primavera Project Manager

Page 19: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

19

Tools: Gantt Chart

Page 20: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

20

Tools: Network Diagram

Page 21: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

21

PMI’s 9 Knowledge Areas

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

Page 22: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

22

First Principles

• One size does not fit all

• Patterns and Anti-Patterns

• Spectrums– Project types– Sizes– Formality and rigor

Page 23: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

23

Why Rapid Development

• Faster delivery

• Reduced risk

• Increased visibility to customer

• Don’t forsake ( give up) quality

Page 24: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

24

Strategy

• Classic Mistake Avoidance

• Development Fundamentals

• Risk Management

• Schedule-Oriented Practices

Page 25: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

25

Four Project Dimensions

• People

• Process

• Product

• Technology

Page 26: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

26

Trade-off Triangle

• Fast, cheap, good. Choose two.

Page 27: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

27

Trade-off Triangle

• Know which of these are fixed & variable for every project

Page 28: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

28

People

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

• Developer productivity: 10-to-1 range

- Improvements:- Team selection- Team organization– Motivation

Page 29: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

29

People 2

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

Page 30: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

30

Process

• Is process stifling?

• 2 Types: Management & Technical

• Development fundamentals

• Quality assurance

• Risk management

• Lifecycle planning

• Avoid abuse by neglect

Page 31: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

31

Process 2

• Customer orientation

• Process maturity improvement

• Rework avoidance

Page 32: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

32

Product

• The “tangible” dimension

• Product size management

• Product characteristics and requirements

• Feature creep management

Page 33: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

33

Technology

• Often the least important dimension

• Language and tool selection

• Value and cost of reuse

Page 34: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

34

Planning

• Determine requirements

• Determine resources

• Select lifecycle model

• Determine product features strategy

Page 35: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

35

Tracking

• Cost, effort, schedule

• Planned vs. Actual

• How to handle when things go off plan?

Page 36: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

36

Measurements

• To date and projected– Cost– Schedule– Effort– Product features

• Alternatives– Earned value analysis– Defect rates– Productivity (ex: SLOC)– Complexity (ex: function points)

Page 37: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

37

Technical Fundamentals

• Requirements

• Analysis

• Design

• Construction

• Quality Assurance

• Deployment

Page 38: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

38

Project Phases

• 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

Page 39: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

39

Lifecycle Relationships

Page 40: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

40

Seven Core Project Phases

Page 41: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

41

Project Phases A.K.A.

Page 42: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

42

Phases Variation

Concept

Exploration

SystemExploration

Requirements

Design

Implementation

Installation

Operations andSupport

Maintenance

Retirement

Page 43: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

43

36 Classic Mistakes

• McConnell’s Anti-Patterns• Seductive Appeal• Types

– People-Related– Process-Related– Product-Related– Technology-Related

• Gilligan’s Island

Page 44: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

44

People-Related Mistakes Part 1

• Undermined motivation

• Weak personnel– Weak vs. Junior

• Uncontrolled problem employees

• Heroics

• Adding people to a late project

Page 45: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

45

People-Related Mistakes Part 2

• Noisy, crowded offices

• Customer-Developer friction

• Unrealistic expectations

• Politics over substance

• Wishful thinking

Page 46: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

46

People-Related Mistakes Part 3

• Lack of effective project sponsorship

• Lack of stakeholder buy-in

• Lack of user input

Page 47: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

47

Process-Related Mistakes Part 1

• Optimistic schedules

• Insufficient risk management

• Contractor failure

• Insufficient planning

• Abandonment of plan under pressure

Page 48: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

48

Process-Related Mistakes Part 2

• Wasted time during fuzzy front end

• Shortchanged upstream activities

• Inadequate design

• Shortchanged quality assurance

Page 49: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

49

Process-Related Mistakes Part 3

• Insufficient management controls

• Frequent convergence

• Omitting necessary tasks from estimates

• Planning to catch-up later

• Code-like-hell programming

Page 50: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

50

Product-Related Mistakes

• Requirements gold-plating– Gilding the lily ( 画蛇添足 )

• Feature creep

• Developer gold-plating– Beware the pet project

• Push-me, pull-me negotiation

• Research-oriented development

Page 51: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

51

Technology-Related Mistakes

• Silver-bullet syndrome

• Overestimated savings from new tools and methods– Fad warning

• Switching tools in mid-project

• Lack of automated source-code control

Page 52: 1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes

52

Question

• Any questions?