1 Intro

43
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY T-76.5612 Software Project Management Spring 2010 1: Introduction Tuomas Niinimäki Department of Computer Science and Engineering Helsinki University of Technology

description

 

Transcript of 1 Intro

Page 1: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

T-76.5612 Software Project Management Spring 2010

1: Introduction

Tuomas Niinimäki

Department of Computer Science and Engineering Helsinki University of Technology

Page 2: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Why software projects are interesting to you?

Page 3: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Course contents   What is a software project?   Constraints, goals and types of a software project   Software processes in software project management   Software project estimation   Budgeting, scheduling and monitoring software project   Software quality and risk management   Leadership and management in software projects   Distributed software development

Page 4: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Course goals   After taking this course, one should be able to

  apply different project types and frameworks to project goals   create a budget and schedule for a small-scale software project   apply sound software project monitoring practices in a small-scale

software project   apply most common software process models to a small-scale

software project   evaluate the applicability of software estimation practices in typical

software engineering contexts   reflect the software quality requirements to project constraints   understand the basics of risk management in software project

management   find and critically assess additional material for supporting the

software project management work

Page 5: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

“The one correct answer” does not exist!

Page 6: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Course overview (1/2)   First part of the course is “theoretically” oriented

  Lectures 1-8 provide basic insights into essential software project management issues

  Assignments 1 and 2 help you to apply some of the practices presented on the lectures

  Course exam is based on contents from the first part

Page 7: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Course overview (2/2)   Second part of the course: “the Reality”

  Lectures 9-14 are visiting lectures given by people from industry - contents vary, but reflect the true context of software engineering and software project management

  Assignments 3 and 4 are based on real industrial case

  Lecture summaries are written from lectures of the second part

Page 8: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Important dates and times (1/3)   Lectures:

  Tuesdays 16-18 at lecture hall T5   Thursdays 16-18 at lecture hall T3

  First part consists of lectures given by course personnel  January 19th – February 11th  Cover various aspects of software project management

  Second part lectures are given by guest speakers from industry  February 16th – March 4th  Experience reports, useful insights, how things really work

Page 9: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Important dates and times   Exams:

  March 8th 9-12 at lecture hall T1   (optionally, February 6th 10-13 at the main building)

  Required material for exams:  Lectures 1-8 (i.e. those given by course personnel)  Reading material from Noppa

Page 10: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Course personnel   Teacher: Tuomas Niinimäki   Course assistant: Peitsa Hynninen

  Website: https://noppa.tkk.fi/noppa/kurssi/t-76.5612/etusivu   Any updates, changes to schedule or deadlines will be

announced at Noppa   Email address: [email protected]

  To ensure timely answer to your question, please use the course email address instead of personal email addresses

  Twitter: #t765612   You’re encouraged to share interesting articles, links, other

material

Page 11: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Course prerequisites   T-76.3601 Basics of Software Engineering

  Basic software development methods, concepts, terminology and discourse

  TU-22.1120 Introduction to Project Management   Basic project management methods, concepts, terminology

and discourse

Page 12: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Course material   Reading material

  No coursebook   Collection of articles from Noppa

  Lectures   Slides will be available in PDF form at Noppa   Lecture recordings (slides+audio) will be available at Noppa

  Exercises   Noppa

Page 13: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Course requirements   To pass the course, you need to do ALL of the following

  Pass the exercises (50% of max. points)   Pass the exam (50%) based on 1st part of the course   Pass the lecture summaries (50%) from 2nd part of the

course   Give course feedback

  You may earn extra points (max 10pt) by   attending the lectures (1 pt / lecture)

Page 14: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Exercises   Exercises 1 and 2 are individual work   Lecture summaries are individual work   Exercises 3 and 4 are made in groups of 1-4 people

  You may use newsgroup opinnot.tik.tik76612 to find your group

  Templates will be given to all exercises   Exercises must be submitted in DOC or PDF format in Finnish, Swedish or

English

  Deadlines are absolute and strict!   Always Thursday at 12:15   Dates: 11.2.2010, 18.2.2010, 11.3.2010, 11.3.2010

  More information about exercises is available at course web page

Page 15: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Exam   Exams:

  March 8th 9-12 at lecture hall T1   (optionally, February 6th 10-13 at the main building)

  Required material for exams:  Lectures 1-8 (i.e. those given by course personnel)  Reading material from Noppa

Page 16: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Lecture summaries   Purpose:

  To teach you to find and briefly summarize the most important points presented during the lecture

  To teach you to be critical, to analyse and evaluate different sources

  0-5 points per lecture summary, points from 5 best lecture summaries summed -> max 25 points

  5 points per summary requires   A good summary of the main points from the lecture   Discussion and comparison to reading material, other articles,

lectures, other visiting lecturers, your own opinions   Critical thinking   Proper referencing of the sources

Page 17: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Lecture summaries from seminar   Global Software Development: Towards an Agile and Lean

Future   Wednesday February 17th at 12:30-17:30   @ Dipoli Congress Centre, Espoo   http://www.soberit.hut.fi/mapit/seminar2010/

  By participating this seminar and writing one larger summary about the whole seminar, you may earn max 10 points (= equals two guest lecture summaries)

  To participate, please register via http://dy.fi/zq6 (URL also available at Noppa), DL February 11th @ 18:00!

Page 18: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Grading   Exercises: 50 points (to pass you need 25 points)

  Exercise 1: 10 p (individual)   Exercise 2: 10 p (individual)   Exercise 3: 13 p (group)   Exercise 4: 17 p (group)

  Exam: 25 p (to pass you need 12 points)   Lecture summaries: 25 p (to pass you need 12 points)   Extra points (to pass you need 0 points)

Page 19: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Grading

Points Grade

0.00-47.99 0

48.00-54.99 1

55.00-64.99 2

65.00-74.99 3

75.00-84.99 4

85.00- 5

Page 20: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

What must / should you do now?   Register to the course in OODI   Register to the exam in OODI   Read through the course web pages

  Information on exercises!   Reading material!

  Subscribe to course news (either email or RSS)   Keep track of time you spend on this course

Page 21: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

More information available at the course web page:

https://noppa.tkk.fi/noppa/kurssi/t-76.5612/etusivu

If you can’t find answer there, send email to

[email protected]

Page 22: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Introduction to software project management

Page 23: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

What is a project?

Page 24: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

What is a project?   A project is a temporary endeavor undertaken to create a unique

product or service   A project has a definitive beginning and a definitive end   Specific objectives are to be met or a specific product is to be

created

  Work is carried out for someone else than yourself   Resources available for use on the project are constrained   A project has goals, schedule, resources and budget

(PMBOK 1996)

Page 25: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Why there is a course on software project management?

Page 26: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Is software project management special?

  Many techniques of general project management are applicable to software project management   Software development projects are often very hard to

manage

  Software differs from many other deliverables, because of its   Invisibility   Complexity   Conformity   Flexibility

Page 27: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Software project management is special

  Problem of specifying the exact requirements in the beginning   Project planning and estimation is difficult

  High productivity differences between individuals   1:10 differences typical, even 1:50 reported

  A lot of changes – their effect on the system often unknown   Software complexity still increases rapidly

  Division of tasks - adding workforce in late phase can be harmful   Software development is communication intensive activity

Page 28: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

What is a software project?

Page 29: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Project types   Project target

  One-of-kind customer specific systems   Completely new software products   New versions of software products   New features or improvements to old systems

  Project scope   Requirements elicitation project   Feasibility study project   Pilot / prototyping project

  Project organization   Intra-organizationally distributed   Using software subcontractors   Using ready-made components   Developing open-source software

Page 30: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Project constraints   Projects have constrains:

  resources   time   scope

  Often one or two are more important than the others, e.g.   Time to market   Basic functionality

  Let everybody know which ones are the most important!

Time

Resources

Scope

Page 31: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Who are involved in a software project?

Page 32: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Project stakeholders   Different parties have different interests in the software project

  Motivations and objectives must be recognized, and taken into account when planning and executing the project

  Project stakeholders can be   Internal (the project team)   External to the project team but within the same organization

 E.g. marketing department   External to both the project team and the organization

 E.g. end users, customers, subcontractors

Page 33: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Different viewpoints on a project

Project X Temporary organization

Collection of products

Sequence of work to be done

€ $£

Cost / Benefit

Page 34: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

How software projects are performing?

Page 35: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

28% (34%)

23% (15%)

49% (51%)

ChallengedSucceededFailed

Software project success rates 2000 (2003)

  Successful: on time, on budget, all features

  Challenged: Completed and operational, but over-budget, over time, fewer features

  Failed: Cancelled

(Standish Group, based on US data)

Page 36: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Failure statistics – Improvements?   Average cost overrun 189 % (1994)->45 % (2000)-> 43% (2003)   Average time overrun 222% (1994)->63 % (2000)-> 82% (2003)   On average 61 % (1994) of required features were delivered -> 67

% (2000) -> 52% (2003)

0

50

100

150

200

250

Average costoverrun

Average timeoverrun

Reguiredfeatures delivered

%

1994

2000

(Standish Group, based on US data)

Page 37: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Reasons for success and failure

Reasons for failure:   “Most projects failed for lack

of skilled project management and executive support”

  “Underestimating project complexity and ignoring changing requirements are basic reasons why projects fail”

  “The problem – and the solution – lay in people and processes”

Recipe for success:   Smaller project size and

shorter duration   More manageable

  “Growing”, instead of “developing”, software engages the users earlier and confers ownership.   -> Iterative and

interactive process

(Standish Group, based on US data)

Page 38: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Classic mistakes - People

  Undermined motivation   Weak personnel   Uncontrolled problem

employees   Heroics   Adding people to a late

project   Noisy, crowded offices   Friction between

developers and customers

  Unrealistic expectations

  Lack of effective project sponsorship

  Lack of stakeholder buy-in   Lack of user input   Politics placed over substance   Wishful thinking

(Steve McConnell 1996)

Page 39: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Classic mistakes - Process

  Overly optimistic schedules

  Insufficient risk management

  Contractor failure   Insufficient planning   Abandonment of planning

under pressure   Wasted time during the

fuzzy front end   Shortchanged upstream

activities

  Inadequate design   Shortchanged quality

assurance   Insufficient management

controls   Premature or overly

frequent convergence   Omitting necessary tasks

from estimates   Planning to catch up later   Code-like-hell

programming

(Steve McConnell 1996)

Page 40: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Classic mistakes - Product&Technology

Product   Requirements gold-

plating   Feature creep   Developer gold-plating   Push-me, pull-me

negotiation   Research-oriented

development

Technology   Silver-bullet syndrome   Overestimated savings

from new tools or methods

  Switching tools in the middle of a project

  Lack of automated source-code control

(Steve McConnell 1996)

Page 41: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Advice and good practices   Be aware of the classic mistakes   Create lists of “worst practices” to avoid in the future projects   Conduct postmortems to learn from your team’s mistakes and

add to the list   Encourage other projects within your organization to conduct

postmortems so that you can learn from their mistakes   Exchange war stories with your colleagues in other organizations

and learn from their experiences   Display your list of mistakes prominently so that people will see

it and learn not to make the same mistakes yet another time

(Steve McConnell 1996)

Page 42: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

What must / should you do now?   Register to the course in OODI   Register to the exam in OODI   Read through the course web pages

  Information on exercises!   Reading material!

  Subscribe to course news (either email or RSS)   Keep track of time you spend on this course

Page 43: 1 Intro

SoberIT Software Business and Engineering Institute

HELSINKI UNIVERSITY OF TECHNOLOGY

Thank you.

Questions?

Tuomas Niinimäki

[email protected]