software project management - introduction and fundamentals

49
Planning and Managing Software Projects 2011-12 Session 1 Course Overview Introduction, and Fundamentals Emanuele Della Valle http://emanueledellavalle.org

Upload: emanuele-della-valle

Post on 27-Jan-2015

120 views

Category:

Technology


0 download

DESCRIPTION

The introductory lesson to my Planning and Managing Software Projects (http://emanueledellavalle.org/Teaching/PMSP-2011-12.html) course at Politecnico di Milano

TRANSCRIPT

Planning and Managing Software Projects 2011-12 Session 1 Course Overview Introduction, and Fundamentals Emanuele Della Valle http://emanueledellavalle.org

Planning and Managing Software Projects – Emanuele Della Valle

Credits

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

§  Original slides are available at http://www.projectreference.com/

§  Reuse and republish permission was granted

2

Planning and Managing Software Projects – Emanuele Della Valle

Today

§  Course basics, administrative items

§  Introductions

§  Fundamentals

3

Planning and Managing Software Projects – Emanuele Della Valle

Course basics, administrative items Syllabus Review

§  URL •  http://emanueledellavalle.org/Teaching/PMSP-2011-12.html

§  Schedule •  Monday 10.15 - 12.15 (13.15 when explicitly stated)

–  If you agree, I would do 10.30-12.00 when we use 2 hours and 10.30-11.45 + 12.00–13.00 when we use 3 hours

•  Wednesday 13.15 – 15.15 –  If you agree, I would do 13.30-15.00

§  Content •  See next slide

§  Homework assignments •  We will simulate the early phases of a software project •  See slide after the next one

§  Optional Readings •  They illustrate the content of the upcoming lesson,

useful for discussion

4

Planning and Managing Software Projects – Emanuele Della Valle

Course basics, administrative items Syllabus Review

§  URL •  http://emanueledellavalle.org/Teaching/PMSP-2011-12.html

§  Schedule •  Follows project phases •  Goal:

–  walk away from this course with skills applicable to all forms of projects

–  but software and IT projects in particular, because they have special characteristics

-  I will bring in show & tell from my past/current projects -  It would be nice if you bring in discussions in relation to

your projects

5

Planning and Managing Software Projects – Emanuele Della Valle

Course basics, administrative items Syllabus Review – Homework Assignments

§  Why •  Apply, in a simplified context, some of the points

presented in class •  Develop project related capabilities •  Develop teamwork ability

§  What •  Homework 1 (7 points)

–  Statement of Work for your project •  Homework 2 (7 points)

–  Initial Work Breakdown Structure (WBS) for your project •  Homework 3 (4 points)

–  Software Factory set-up for your project •  Homework 4 (15 points)

–  Develop a final project plan in MS Project (including durations, resources, links, successors & predecessors) for your project

6

Planning and Managing Software Projects – Emanuele Della Valle

Course basics, administrative items Syllabus Review – Homework Assignments

§  How •  work in team (up to 3 people) •  Working alone is possible, but you should believe in

–  “If you want something done, do it yourself” –  “Chi fa da se, fa per tre”

§  When •  Homework 1 – class 5 – 26.3.2012 •  Homework 2 – class 9 – 16.4.2012 •  Homework 3 – class 20 – 18.6.2012 •  Homework 4 – Final review – 20.6.2012

7

Planning and Managing Software Projects – Emanuele Della Valle

Course basics, administrative items Syllabus Review – Textbooks

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

–  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/

§  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.htm •  “Peopleware”, T. DeMarco and T. Lister

–  http://en.wikipedia.org/wiki/Peopleware:_Productive_Projects_and_Teams

8

Planning and Managing Software Projects – Emanuele Della Valle

Course basics, administrative items Syllabus Review – Exams

§  For those that follow the classes •  Mid-term review: 2.5.2012 •  Final review:

–  tentatively scheduled for 20.6.2012 –  1st exam session in the summer

§  For those that do not follow the classes •  Any session will do •  The exam consists of a mid-term and a final review •  Homework assignments must be delivered one week

head the exam session

9

Planning and Managing Software Projects – Emanuele Della Valle

Course basics, administrative items Basics

§  Essential elements of software project management

§  Practical, rapid development focus

§  Real-world case studies •  And other examples like job interviews

§  Highly interactive

§  Small class == large input

§  Dry as toast?

10

Planning and Managing Software Projects – Emanuele Della Valle

Course basics, administrative items My Background §  10+ years, +50 projects

§  Engineer, team lead, project manager, program manager §  Projects of all shapes and sizes

•  90% in research 10% for industries •  20% lasting 2-3 years 80% lasting 2-6 weeks •  I’ve seen the spectrum of types and sizes of IT projects

§  Areas of expertise •  Web

–  Semantic Web –  Web Services –  Web 2.0 –  Search Engines

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

•  Knowledge Management Systems –  Information Portals –  Semantic Search

§  Application sectors: mobile, social media, open data, healthcare, government, b2b

11

Planning and Managing Software Projects – Emanuele Della Valle

Course basics, administrative items My Background – My Last Project 12

http://www.youtube.com/watch?v=XGOKe_lhSks

Planning and Managing Software Projects – Emanuele Della Valle

Introduction The Field

§  Jobs: where are they? •  http://www.linkedin.com PM vs. Developers

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

§  Certifications •  PMI PMP

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

§  The “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 –  http://en.wikipedia.org/wiki/List_of_project_management_software

13

Planning and Managing Software Projects – Emanuele Della Valle

Introduction The Field Part 2

§  Average PM salary $81,000 (in USA)

§  Contract rates for PM’s can match techies

§  PMI certification adds avg. 14% to salary

§  PMI certs •  1993: 1,000 •  2002: 40,000 •  2011: 300,000

§  Other cert: CompTIA Project+

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

14

Planning and Managing Software Projects – Emanuele Della Valle

Introduction Job Fundamentals

§  Skills required

§  PM Positions and roles

§  The process

15

Planning and Managing Software Projects – Emanuele Della Valle

Introduction - Job Fundamentals Project Management Skills

§  Leadership

§  Communications

§  Problem Solving

§  Negotiating

§  Influencing the Organization

§  Mentoring

§  Process and technical expertise

16

Planning and Managing Software Projects – Emanuele Della Valle

Introduction - Job Fundamentals Project Manager Positions and Roles

§  Project Administrator / Coordinator

§  Assistant Project Manager

§  Project Manager / Program Manager

§  Executive Program Manager

§  V.P. Program Development

17

Planning and Managing Software Projects – Emanuele Della Valle

Introduction Let’s Do a Pico-Project in the Next 30 minutes

§  What •  Make a paper airplane including

instruction to throw it •  Maximizes:

–  The range: -  the farther I can throw it

(reading the instruction), the better it is

–  The aesthetics: -  You will vote

§  How •  Work in team of 3-4 people •  Use an A4 paper and (optionally) a

clip •  You can draw whatever you like on

the surface

18

Planning and Managing Software Projects – Emanuele Della Valle

Introduction Software Project Management 19

Management

ProjectManagement

SoftwareProject

Management

Planning and Managing Software Projects – Emanuele Della Valle

Introduction PM History in a Nutshell

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

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

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

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

20

Planning and Managing Software Projects – Emanuele Della Valle

Introduction Project Management

§  What’s a project?

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

a unique product or service –  “Temporary”

-  Can be years -  Result can be lasting -  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

§  A project manager •  Analogy: conductor, coach, captain

21

Planning and Managing Software Projects – Emanuele Della Valle

Introduction 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 OpenOffice

22

Planning and Managing Software Projects – Emanuele Della Valle

Introduction Interactions / Stakeholders

§  As a PM, who do you interact with?

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

§  Managing all stakeholder Expectations is challenging •  conflict

23

Planning and Managing Software Projects – Emanuele Della Valle

Introduction PM Tools: Software

§  Low-end •  Basic features, tasks management, charting •  A spreadsheet can do, Milestones Simplicity

§  Mid-market •  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/ •  Primavera Project Manager http://www.primavera.com/

(acquired by Oracle in 2009)

24

Planning and Managing Software Projects – Emanuele Della Valle

Introduction Tools: Gantt Chart 25

Planning and Managing Software Projects – Emanuele Della Valle

Introduction Tools: Network Diagram 26

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals PMI’s 9 Knowledge Areas

§  Project integration management

§  Scope

§  Time

§  Cost

§  Quality

§  Human resource

§  Communications

§  Risk

§  Procurement

§  NOTE: more in next class

27

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals First Principles

§  One size does not fit all!

§  Patterns and Anti-Patterns (see Classic Mistakes in class 2)

§  Spectrums •  Project types •  Sizes •  Formality and rigor

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

28

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals Our Pattern: Rapid Development

§  Faster delivery

§  Reduced risk

§  Increased visibility to customer

§  Don’t forsake quality

29

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals Rapid Development Strategy

McConnell refers to four “Pillars”

§  Classic Mistake Avoidance

§  Development Fundamentals

§  Risk Management

§  Schedule-Oriented Practices

30

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals Four Project Dimensions

§  People

§  Process

§  Product

§  Technology

31

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals Trade-off Triangle

§  Fast, cheap, good. Choose two.

32

Planning and Managing Software Projects – Emanuele Della Valle

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

Fundamentals Trade-off Triangle 33

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals Comics 34

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

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals – Four Dimensions People

§  “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/2008/03/27/productivity-variations-among-software-developers-and-teams-the-origin-of-quot-10x-quot.aspx

§  Improvements: •  Team selection •  Team organization •  Motivation

35

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals – Four Dimensions People 2

Other success factors

§  Matching people to tasks

§  Career development

§  Balance: individual and team

§  Clear communication

36

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals – Four Dimensions Process

§  Is process stifling?

§  2 Types: •  Management •  Technical

§  Why processes? •  cut time-to-market •  Improve quality

§  How? •  Development fundamentals •  Quality assurance •  Risk management •  Lifecycle planning

§  Avoid abuse by neglect

37

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals – Four Dimensions The Most Important Process

§  Customer orientation

§  Foster maturity improvement

§  Rework avoidance

38

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals – Four Dimensions Product

§  The “tangible” dimension

§  Product size management

§  Product characteristics and requirements

§  Feature creep management

39

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals – Four Dimensions A Word on Technology

§  Often the least important dimension

§  Language and tool selection

§  Value and cost of reuse

40

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals Planning

§  Determine requirements

§  Determine resources

§  Select lifecycle model

§  Determine product features strategy

41

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals Tracking

§  Cost, effort, schedule

§  Planned vs. Actual

§  How to handle when things go off plan?

42

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals Measurements

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

§  Alternatives •  Earned value analysis •  Defect rates •  Productivity, e.g., Source Line of Code (SLOC) •  Complexity, e.g., function points

43

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals Technical Fundamentals

§  Requirements

§  Analysis

§  Design

§  Construction

§  Quality Assurance

§  Deployment

44

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals 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

45

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals Lifecycle Relationships 46

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals Seven Core Project Phases 47

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals Project Phases A.K.A. 48

Planning and Managing Software Projects – Emanuele Della Valle

Fundamentals Phases Variation 49

ConceptExploration

SystemExploration

Requirements

Design

Implementation

Installation

Operations andSupport

Maintenance

Retirement