54
Session 1 Course Overview Emanuele Della Valle http://home.dei.polimi.it/dellavalle

Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Embed Size (px)

Citation preview

Page 1: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Session 1

Course OverviewEmanuele Della Vallehttp://home.dei.polimi.it/dellavalle

Page 2: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Credits 2

This slides are largely based on Prof. John Musser class notes on “Principles of Software Project M t”Management”

Original slides are available at htt // j t f /http://www.projectreference.com/

Reuse and republish permission was granted

Planning and Managing Software Projects – Emanuele Della Valle

Page 3: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Today 3

Course basics, administrative items

IntroductionsIntroductions

Fundamentals

Cl i Mi t kClassic Mistakes

Planning and Managing Software Projects – Emanuele Della Valle

Page 4: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Course basics, administrative itemsSyllabus Review 4

Class web site• http://emanueledellavalle.org/Teaching/PMSP-2009-10.html

Grades

Exams

Assignments

ProjectProject

Class participation

Sessions

Planning and Managing Software Projects – Emanuele Della Valle

Page 5: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Course basics, administrative items Textbooks 5

Recommended texts (not mandatory)• These provide two very different viewpoints

I th t h PMI t tb k ti– In-the-trenches vs. PMI textbook perspective– “Rapid Development”, Steve McConnell

- http://www.stevemcconnell.com/rd.htm– “Information Technology Project Management”, Kathy

Schwalbe- http://www.kathyschwalbe.com/p y

More reading• “Quality Software Project Management”, D. Shafer

– http://books.google.com/books?id=YYFEqNz7oKcC&printsec=frontcover

• “Software Project Survival Guide”, Steve McConnell– http://www.stevemcconnell.com/sg.htmhttp://www.stevemcconnell.com/sg.htm

• “Peopleware”, T. DeMarco and T. Lister– http://systemsguild.com/GuildSite/TDM/Tom_DeMarco.html

Planning and Managing Software Projects – Emanuele Della Valle

Page 6: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Course basics, administrative items Basics 6

Essential elements of software project management

Practical, rapid development focusPractical, rapid development focus

Real-world case studies• And other examples like job interviewsp j

Highly interactive

Dry as toast?Dry as toast?

Planning and Managing Software Projects – Emanuele Della Valle

Page 7: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Course basics, administrative items My Background 7

9 years, +50 projects

Projects of all shapes and sizes80% i h 20% f i d t i• 80% in research 20% for industries

• 20% lasting 2-3 years 80% lasting 2-6 weeks

Areas of expertisep• Web

– Semantic Web– Web Services– Web 2.0

• Information System Integration– Service Oriented Architecture– Semantic SOA– Business Process Management

• Knowledge Management Systems– Information Portals – Semantic Search

Application sectors: healthcare government b2b

Planning and Managing Software Projects – Emanuele Della Valle

Application sectors: healthcare, government, b2b

Page 8: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Course basics, administrative items Your Background 8

Name

Day Job or EquivalentDay Job or Equivalent

Final Project

P j t M t E iProject Management Experience

Industry Experience

Expectations & goals from the class

Planning and Managing Software Projects – Emanuele Della Valle

Page 9: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

IntroductionThe Field 9

Jobs: where are they?• http://dice.com PM vs. Developers

Professional Organizations• Project Management Institute (PMI) (pmi.org)• Software Engineering Institute (SEI)g g ( )• IEEE Software Engineering Group

CertificationsPMI PMP• PMI PMP– http://en.wikipedia.org/wiki/Project_Management_Professional

The “PMBOK” – PMI Body of KnowledgeThe PMBOK PMI Body of Knowledge

Tools• MS Project

– Available in A3.3 where we will go for class 6– http://office.microsoft.com/project

• Other similar tools

Planning and Managing Software Projects – Emanuele Della Valle

– http://en.wikipedia.org/wiki/List_of_project_management_software

Page 10: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

IntroductionThe Field Part 2 10

Average PM salary $81,000

Contract rates for PM’s can match techiesContract rates for PM s can match techies

PMI certification adds avg. 14% to salary

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

Other cert: CompTIA Project+

Links: http://www.projectreference.com/#Certification

Planning and Managing Software Projects – Emanuele Della Valle

Page 11: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

IntroductionJob Fundamentals 11

Skills required

PM Positions and rolesPM Positions and roles

The process

Planning and Managing Software Projects – Emanuele Della Valle

Page 12: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Introduction - Job FundamentalsProject Management Skills 12

Leadership

CommunicationsCommunications

Problem Solving

N ti tiNegotiating

Influencing the Organization

Mentoring

Process and technical expertisep

Planning and Managing Software Projects – Emanuele Della Valle

Page 13: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Introduction - Job Fundamentals Project Manager Positions 13

Project Administrator / Coordinator

Assistant Project ManagerAssistant Project Manager

Project Manager / Program Manager

E ti P MExecutive Program Manager

V.P. Program Development

Planning and Managing Software Projects – Emanuele Della Valle

Page 14: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Introduction Software Project Management 14

Management

ProjectProjectManagement

SoftwareProject

Management

Planning and Managing Software Projects – Emanuele Della Valle

Page 15: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Introduction PM History in a Nutshell 15

Birth of modern PM: Manhattan Project (the bomb)• See http://en.wikipedia.org/wiki/Manhattan_Project

l d th 130 000 l d t l $2 – employed more than 130,000 people and cost nearly $2 billion ($24 billion in 2008 dollars)

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

1990’s: large shift to PM-based models1990 s: large shift to PM based models• 1985: Total quality management• 1990-93: Re-engineering, self-directed teams• 1996 99: Risk mgmt project offices• 1996-99: Risk mgmt, project offices• 2000: Merge & Acquisition, global projects

Planning and Managing Software Projects – Emanuele Della Valle

Page 16: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Introduction Project Management 16

What’s a project?

PMI definitionPMI definition• A project is a temporary endeavor undertaken to create

a unique product or service– “Temporary” Temporary

- Can be years- Result can be lasting

Team can be temporary- Team can be temporary– “Unique”

- Ex: thousands of buildings, but each is unique

Progressively elaborated• With repetitive elements• Scope should be constant even as elaboration happens• Scope should be constant even as elaboration happens

A project manager• Analogy: conductor, coach, captain

Planning and Managing Software Projects – Emanuele Della Valle

Analogy: conductor, coach, captain

Page 17: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Introduction Project vs. Program Management 17

What’s a ‘program’?

Mostly differences of scaleMostly differences of scale

Often a number of related projects

L th j tLonger than projects

Definitions vary

Ex: Program Manager for OpenOffice

Planning and Managing Software Projects – Emanuele Della Valle

Page 18: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Introduction Interactions / Stakeholders 18

As a PM, who do you interact with?

Project StakeholdersProject Stakeholders• Project sponsor• Executives• Team• Team• Customers• Contractors

Functional managers• Functional managers

Managing all stakeholder Expectations is challenging • conflict• conflict

Planning and Managing Software Projects – Emanuele Della Valle

Page 19: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Introduction PM Tools: Software 19

Low-end• Basic features, tasks management, charting

A spreadsheet can do Milestones Simplicity• A spreadsheet can do, Milestones Simplicity

Mid-market• Handle larger projects multiple projects analysis tools• Handle larger projects, multiple projects, analysis tools• MS Project (approx. 50% of market)• OpenProj (valid opensource alternative)

High-end• Very large projects, specialized needs, enterprise• AMS Realtime http://www amsrealtime com/• AMS Realtime http://www.amsrealtime.com/• Primavera Project Manager http://www.primavera.com/

Planning and Managing Software Projects – Emanuele Della Valle

Page 20: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Introduction Tools: Gantt Chart 20

Planning and Managing Software Projects – Emanuele Della Valle

Page 21: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Introduction Tools: Network Diagram 21

Planning and Managing Software Projects – Emanuele Della Valle

Page 22: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals PMI’s 9 Knowledge Areas 22

Project integration management

ScopeScope

Time

C tCost

Quality

Human resource

Communications

Risk

ProcurementProcurement

Planning and Managing Software Projects – Emanuele Della Valle

Page 23: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals First Principles 23

One size does not fit all!

Patterns and Anti-Patterns (see Classic Mistakes later)Patterns and Anti Patterns (see Classic Mistakes later)

Spectrums• Project typesj yp• Sizes• Formality and rigor

Project are like families, each dysfunctional in it’s own “special way”special way

Planning and Managing Software Projects – Emanuele Della Valle

Page 24: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Our Pattern: Rapid Development 24

Faster delivery

Reduced riskReduced risk

Increased visibility to customer

D ’t f k litDon’t forsake quality

Planning and Managing Software Projects – Emanuele Della Valle

Page 25: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Rapid Development Strategy 25

Classic Mistake Avoidance

Development FundamentalsDevelopment Fundamentals

Risk Management

S h d l O i t d P tiSchedule-Oriented Practices

Planning and Managing Software Projects – Emanuele Della Valle

Page 26: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Four Project Dimensions 26

People

ProcessProcess

Product

T h lTechnology

Planning and Managing Software Projects – Emanuele Della Valle

Page 27: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Trade-off Triangle 27

Fast, cheap, good. Choose two.

Planning and Managing Software Projects – Emanuele Della Valle

Page 28: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Comics 28

Planning and Managing Software Projects – Emanuele Della Valle

Source: http://geekandpoke.typepad.com/geekandpoke/2009/11/thats-why-we-love-this-job.html

Page 29: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Trade-off Triangle 29

Know which of these are fixed & variable for every project

Planning and Managing Software Projects – Emanuele Della Valle

Page 30: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals – Four Dimensions People 30

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

Developer productivity: 10-to-1 range• Read more:

http://forums construx com/blogs/stevemcc/archive/200http://forums.construx.com/blogs/stevemcc/archive/2008/03/27/productivity-variations-among-software-developers-and-teams-the-origin-of-quot-10x-quot.aspx

Improvements:• Team selection• Team organizationTeam organization• Motivation

Planning and Managing Software Projects – Emanuele Della Valle

Page 31: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals – Four DimensionsPeople 2 31

Other success factors• Matching people to tasks

Career development• Career development• Balance: individual and team• Clear communication

Planning and Managing Software Projects – Emanuele Della Valle

Page 32: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals – Four DimensionsProcess 32

Is process stifling?

2 Types: Management & Technical2 Types: Management & Technical

Development fundamentals

Q lit Quality assurance

Risk management

Lifecycle planning

Avoid abuse by neglecty g

Planning and Managing Software Projects – Emanuele Della Valle

Page 33: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals – Four DimensionsProcess 2 33

Customer orientation

Process maturity improvementProcess maturity improvement

Rework avoidance

Planning and Managing Software Projects – Emanuele Della Valle

Page 34: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals – Four DimensionsProduct 34

The “tangible” dimension

Product size managementProduct size management

Product characteristics and requirements

F t tFeature creep management

Planning and Managing Software Projects – Emanuele Della Valle

Page 35: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals – Four DimensionsTechnology 35

Often the least important dimension

Language and tool selectionLanguage and tool selection

Value and cost of reuse

Planning and Managing Software Projects – Emanuele Della Valle

Page 36: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Planning 36

Determine requirements

Determine resources Determine resources

Select lifecycle model

D t i d t f t t tDetermine product features strategy

Planning and Managing Software Projects – Emanuele Della Valle

Page 37: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Tracking 37

Cost, effort, schedule

Planned vs. ActualPlanned vs. Actual

How to handle when things go off plan?

Planning and Managing Software Projects – Emanuele Della Valle

Page 38: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Measurements 38

To date and projected• Cost

Schedule• Schedule• Effort• Product features

Alternatives• Earned value analysis

Defect rates• Defect rates• Productivity (ex: SLOC)• Complexity (ex: function points)

Planning and Managing Software Projects – Emanuele Della Valle

Page 39: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Technical Fundamentals 39

Requirements

AnalysisAnalysis

Design

C t tiConstruction

Quality Assurance

Deployment

Planning and Managing Software Projects – Emanuele Della Valle

Page 40: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Project Phases 40

All projects are divided into phases

All phases together are known as the Project Life CycleAll phases together are known as the Project Life Cycle

Each phase is marked by completion of Deliverables

Id tif th i ft j t hIdentify the primary software project phases

Planning and Managing Software Projects – Emanuele Della Valle

Page 41: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Lifecycle Relationships 41

Planning and Managing Software Projects – Emanuele Della Valle

Page 42: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Seven Core Project Phases 42

Planning and Managing Software Projects – Emanuele Della Valle

Page 43: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Project Phases A.K.A. 43

Planning and Managing Software Projects – Emanuele Della Valle

Page 44: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Fundamentals Phases Variation 44

ConceptExploration

S tSystemExploration

Requirements

Design

Implementation

Installation

Operations andSupport

Maintenance

Planning and Managing Software Projects – Emanuele Della Valle

Retirement

Page 45: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

36 Classic Mistakes 45

McConnell’s Anti-Patterns• The mistakes http://www.stevemcconnell.com/rdenum.htm

A case study htt // t ll / d i t k ht• A case study http://www.stevemcconnell.com/rdmistak.htm

Seductive Appeal

Types• People-Related• Process-RelatedProcess Related• Product-Related• Technology-Related

Gilligan’s Island• Every week there's some new, crazy scheme to escape

the island, but at the end of the episode, the castaways , p , yalways end up stuck on the island for yet another week.

• See http://www.codinghorror.com/blog/archives/000889.html

Planning and Managing Software Projects – Emanuele Della Valle

Page 46: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Classic Mistakes People-Related Mistakes Part 1 46

Undermined motivation

Weak personnelWeak personnel• Weak vs. Junior

Uncontrolled problem employeesp p y

Heroics

Adding people to a late projectAdding people to a late project

Planning and Managing Software Projects – Emanuele Della Valle

Page 47: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Classic Mistakes People-Related Mistakes Part 2 47

Noisy, crowded offices

Customer-Developer frictionCustomer Developer friction

Unrealistic expectations

P liti b tPolitics over substance

Wishful thinking

Planning and Managing Software Projects – Emanuele Della Valle

Page 48: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Classic Mistakes People-Related Mistakes Part 3 48

Lack of effective project sponsorship

Lack of stakeholder buy-inLack of stakeholder buy in

Lack of user input

Planning and Managing Software Projects – Emanuele Della Valle

Page 49: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Classic Mistakes Process-Related Mistakes Part 1 49

Optimistic schedules

Insufficient risk managementInsufficient risk management

Contractor failure

I ffi i t l iInsufficient planning

Abandonment of plan under pressure

Planning and Managing Software Projects – Emanuele Della Valle

Page 50: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Classic Mistakes Process-Related Mistakes Part 2 50

Wasted time during fuzzy front end

Shortchanged upstream activitiesShortchanged upstream activities

Inadequate design

Sh t h d lit Shortchanged quality assurance

Planning and Managing Software Projects – Emanuele Della Valle

Page 51: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Classic Mistakes Process-Related Mistakes Part 3 51

Insufficient management controls

Frequent convergenceFrequent convergence

Omitting necessary tasks from estimates

Pl i t t h l tPlanning to catch-up later

Code-like-hell programming

Planning and Managing Software Projects – Emanuele Della Valle

Page 52: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Classic Mistakes Product-Related Mistakes 52

Requirements gold-plating• Gilding the lily

Feature creep

Developer gold-platingp g p g• Beware the pet project

Push-me, pull-me negotiation

Research-oriented development

Planning and Managing Software Projects – Emanuele Della Valle

Page 53: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Classic Mistakes Technology-Related Mistakes 53

Silver-bullet syndrome

Overestimated savings from new tools and methodsOverestimated savings from new tools and methods• Fad warning

Switching tools in mid-project[ source http://blogs.infosupport.com/blogs/richardz/archive/2010/02/26/dilbert-on-changing-methodology-during-a-project.aspx ]

Lack of automated source-code control

Planning and Managing Software Projects – Emanuele Della Valle

Page 54: Software Project Fundamentals and Classic Mistakes - P&MSP2010 (1/11)

Optional Reading 54

McConnell: Chapters 1-4• We covered most of Ch 3 today

Schwalbe: chapters 1-2, 11 (344-345)

Planning and Managing Software Projects – Emanuele Della Valle