Génie Logiciel et Gestion de Projets. Project Management



Similar documents
Introduction to Software Engineering. 9. Project Management

Project management. Organizing, planning and scheduling software projects

Organizing, planning and scheduling software projects

Project management. Organizing, planning and scheduling software projects. Objectives. Chapter 3. Chapter 3 Project Management. Learning Objective

Project management. Organising, planning and scheduling software projects. Ian Sommerville 2000 Software Engineering, 6th edition.

Project management. Objectives. Topics covered. Organizing, planning and scheduling software projects DISCUSSION

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?

ICS 121 Lecture Notes Spring Quarter 96

CHAPTER 2 Project Management

Business Idea Development Product production Services. Development Project. Software project management

Project Management. Software Projects vs. Engineering Projects

Software Engineering. Project Management. Based on Software Engineering, 7 th Edition by Ian Sommerville

Organising, planning and scheduling software projects. Software management distinctions

Project management. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 5 Slide 1

Project Management. Massimo Felici Room 1402, JCMB, KB

Software Project Management Plan (SPMP)

(Refer Slide Time: 01:52)

TECH. Tracking Progress. Project Schedule PHASE 1 STEP 1 ACTIVITY 1.1. Activity and Milestone STEP 1 STEP 2 : ACTIVITY 2.2 : ACTIVITY 1.

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

SWEBOK Certification Program. Software Engineering Management

Project planning and scheduling

Chapter 23 Software Cost Estimation

PROJECT PLAN TEMPLATE

Software Project Management Plan. Team Synergy Version: 1.0 Date: 1/27/03

Software Risk Management

Project Management Planning

CHAPTER 24 SOFTWARE PROJECT SCHEDULING. Overview

Risk Management (3C05/D22) Unit 3: Risk Management. What is risk?

Scheduling. Anne Banks Pidduck Adapted from John Musser

CS 6361, SPRING 2010 Advanced Requirements Engineering Web Based Meeting Scheduler- Project Plan

How To Manage Project Management

Lecture Slides for Managing and Leading Software Projects. Chapter 1: Introduction

Develop Project Charter. Develop Project Management Plan

Software Quality Assurance: II Software Life Cycle

Project Management in the Rational Unified Process

Project management. Objectives

Software cost estimation

Software Engineering

Software cost estimation. Predicting the resources required for a software development process

Importance of Project Schedules. matter what happens on a project. projects, especially during the second half of projects

<name of project> Software Project Management Plan

2. Analysis, Design and Implementation

Introduction to the ITS Project Management Methodology

Software Project Scheduling. - Introduction - Project scheduling - Task network - Timeline chart - Earned value analysis

Project Plan Version 0.0

2. Analysis, Design and Implementation

CISC 322 Software Architecture

Topics. Project plan development. The theme. Planning documents. Sections in a typical project plan. Maciaszek, Liong - PSE Chapter 4

Pearson Education Limited 2003

Software Engineering CSCI Lesson 9 Project Management Part 1- Planning & Estimating. February 23, 2015

Lifecycle Models: Waterfall / Spiral / EVO

Software Engineering. Dilbert on Project Planning. Overview CS / COE Reading: chapter 3 in textbook Requirements documents due 9/20

pm4dev, 2015 management for development series Project Schedule Management PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS

Chapter 6: Project Time Management. King Fahd University of Petroleum & Minerals SWE 417: Software Project Management Semester: 072

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Introduction to Project Management ECE 480. Erik Goodman

Do not open this paper until instructed by the invigilator. Please note: This question paper must not be removed from the examination room.

Software Engineering Teams. Software Requirements & Project Management CITS3220

The Plan s Journey From Scope to WBS to Schedule

An Introduction to the PRINCE2 project methodology by Ruth Court from FTC Kaplan

Risk. Risk Categories. Project Risk (aka Development Risk) Technical Risk Business Risk. Lecture 5, Part 1: Risk

15 Principles of Project Management Success

4. Software Project Management

SOFTWARE RISK MANAGEMENT

Scheduling 1. You selected an Appropriate Process Model

SOFTWARE PROJECT MANAGEMENT: THE MANAGER'S VIEW

Profesor: Francisco Javier Sanz Pérez. by fjspsv, PMP Test C13_01

Software Application: Information System Elements. Project Management in Information Technology (IT) Projects. Project Scheduling basics

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Project Time Management

Project Management for Scientists

Input, Output and Tools of all Processes

PROJECT TIME MANAGEMENT. 1 Powered by POeT Solvers Limited

Demonstrate and apply knowledge of project management in

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Software cost estimation

How to introduce maturity in software change management $

Unit 15: Risk Management

PMP Exam Preparation Answer Key

Introduction to Software Engineering. 8. Software Quality

TIME MANAGEMENT TOOLS AND TECHNIQUES FOR PROJECT MANAGEMENT. Hazar Hamad Hussain *

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

Software Project Management

Contents. Today Project Management. Project Management. Last Time - Software Development Processes. What is Project Management?

Amajor benefit of Monte-Carlo schedule analysis is to

Software Project Management Part 2: Work Breakdown Structures

Research Project Management Key Concepts. Dr Robin Henderson

AIPM PROFESSIONAL COMPETENCY STANDARDS FOR PROJECT MANAGEMENT PART B CERTIFIED PRACTISING PROJECT PRACTITIONER (CPPP)

What to look for when recruiting a good project manager

Introduction to Software Engineering (ESE : Einführung in SE)

SWX: The Software Extension to the PMBOK Guide for Project Management

Project Scheduling & Tracking

Information Technology Project Management, Sixth Edition. Note: See the text itself for full citations. More courses at cie-wc.edu

Android Application for Visual Communication Software Project Management Plan

Transcription:

Génie Logiciel et Gestion de Projets Project Management 1

Roadmap Project Management: Why and what? Risk management Scoping and estimation, planning and scheduling Dealing with delays Staffing, directing, teamwork 2

Why and What?

Why Project Management? Almost all software products are obtained via projects. (as opposed to manufactured products) Project Concern = Deliver on time and within budget Achieve Interdependent & Conflicting Goals Limited Resources The Project Team is the primary Resource! 4

What is Project Management? Plan the work and work the plan Management Functions Planning: Estimate and schedule resources Organization: Who does what Staffing: Recruiting and motivating personnel Directing: Ensure team acts as a whole Monitoring (Controlling): Detect plan deviations + corrective actions 5

Scope, estimation, planning and scheduling

Focus on Scope For decades, programmers have been whining, The customers can t tell us what they want. When we give them what they say they want, they don t like it. Get over it. This is an absolute truth of software development. The requirements are never clear at first. Customers can never tell you exactly what they want. Kent Beck 7

Myth: Scope and Objectives Myth A general statement of objectives is enough to start coding. Reality Poor up-front definition is the major cause of project failure. 8

Scope and Objectives In order to plan, you must set clear scope & objectives Objectives identify the general goals of the project, not how they will be achieved. Scope identifies the primary functions that the software is to accomplish, and bounds these functions in a quantitative manner. Goals must be realistic and measurable Constraints, performance, reliability must be explicit Customer must set priorities 9

Cost Estimation activity concerned with the estimation of the necessary resources for the realisation of the project Fundamental questions: How much effort is required to complete an activity? How much calendar time is needed to complete an activity? What is the total cost of an activity? Project estimation and scheduling are interleaved management activities 10

Estimation Strategies These strategies are simple but risky: Expert judgement Estimation by analogy Parkinson's Law Pricing to win Consult experts and compare estimates cheap, but unreliable Compare with other projects in the same application domain limited applicability Work expands to fill the time available pessimistic management strategy You do what you can with the budget available requires trust between parties 11

Estimation Techniques Decomposition and Algorithmic cost modeling are used together Estimate costs for Decomposition Algorithmic cost modeling components + integration top-down or bottom-up estimation Exploit database of historical facts to map size on costs requires correlation data 12

Top-down and bottom-up estimation Any of these approaches may be used topdown or bottom-up Top-down Start at the system level and assess the overall system functionality and how this is delivered through sub-systems. Bottom-up Start at the component level and estimate the effort required for each component. Add these efforts to reach a final estimate. 13

Measurement-based Estimation A. Measure Develop a system model and measure its size C. Interpret Adapt the effort with respect to a specific Development Project Plan B. Estimate Determine the effort with respect to an empirical database of measurements from similar projects 14

Estimation and Commitment Example: The XP process 1 a. Customers write stories and b. Programmers estimate stories else ask the customers to split/rewrite stories 2 Programmers measure the team load factor, the ratio of ideal programming time to the calendar 3 Customers sort stories by priority 4 Programmers sort stories by risk 5 a. Customers pick date, programmers calculate budget, customers pick stories adding up to that number, or b. Customers pick stories, programmers calculate date (customers complain, programmers ask to reduce scope, customers complain some more but reduce scope anyway,...) 15

Planning and Scheduling Good planning depends largely on project manager s intuition and experience! Split project into tasks. Tasks into subtasks etc. For each task, estimate the time. Define tasks small enough for reliable estimation. Significant tasks should end with a milestone. Milestone = A verifiable goal that must be met after task completion Clear unambiguous milestones are a necessity! ( 80% coding finished is a meaningless statement) Monitor progress via milestones 16

Planning and Scheduling... Define dependencies between project tasks Total time depends on longest (= critical) path in activity graph Minimize task dependencies to avoid delays Organize tasks concurrently to make optimal use of workforce Planning is iterative monitor and revise schedules during the project! 17

Myth: Deliverables and Milestones Myth The only deliverable for a successful project is the working program. Reality Documentation of all aspects of software development are needed to ensure maintainability. 18

Deliverables and Milestones Project deliverables are results that are delivered to the customer. For example: initial requirements document UI prototype architecture specification Milestones and deliverables help to monitor progress Should be scheduled roughly every 2-3 weeks NB: Deliverables must evolve as the project progresses! 19

Example: Task Durations and Dependencies Task Duration (days) Dependencies T1 8 T2 15 T3 15 T1 T4 10 T5 10 T2, T4 T6 5 T1, T2 T7 20 T1 T8 25 T4 T9 15 T3, T6 T10 15 T5, T7 T11 7 T9 T12 10 T11 20

Example: Task Durations and Dependencies What is the minimum total duration of this project? Task Duration (days) Dependencies T1 8 T2 15 T3 15 T1 T4 10 T5 10 T2, T4 T6 5 T1, T2 T7 20 T1 T8 25 T4 T9 15 T3, T6 T10 15 T5, T7 T11 7 T9 T12 10 T11 20

Pert Chart: Activity Network 8 days 14/7/99 15 days M1 T3 15 days T9 4/7/99 start T1 15 days T2 25/7/99 M3 5 days T6 20 days T7 4/8/99 M4 25/8/99 M6 7 days T11 10 days T4 25/7/99 M2 10 days T5 11/8/99 M7 15 days 5/9/99 M8 18/7/99 M5 T10 10 days T12 25 days 55 jours dans le chemin critique (8+15+15+7+10) T8 19/9/99 Finish Ian Sommerville 2004 21

Gantt Chart: Activity Timeline 4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9 T4 T1 T2 Start M1 T7 T3 M5 T8 M3 M2 T6 T5 T9 M4 M7 T10 T11 T12 M6 M8 Finish Ian Sommerville 2004 22

Gantt Chart: Staff Allocation 4/7 11/7 18/7 25/ 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9 Fred Jane Anne Jim Mary T4 T1 T2 T3 T7 T8 T6 T5 T9 T10 T11 T12 Ian Sommerville 2004 23

Delays

Myth: Delays Myth If we get behind schedule, we can add more programmers and catch up. Reality Adding more people typically slows a project down. 25

Scheduling problems Estimating the difficulty of problems and the cost of developing a solution is hard. Productivity is not proportional to the number of people working on a task. Adding people to a late project makes it later due to communication overhead The unexpected always happens. Always allow contingency in planning. Cutting back in testing and reviewing is a recipe for disaster. Working overnight? Only short term benefits! 26

Planning under uncertainty State clearly what you know and don t know State clearly what you will do to eliminate unknowns Make sure that all early milestones can be met Plan to replan 27

Dealing with Delays Spot potential delays as soon as possible... then you have more time to recover How to spot? Slippage analyse use slip lines Earned value analysis planned time is the project budget time of a completed task is credited to the project budget 28

Dealing with Delays... How to recover? A combination of following 3 actions Adding senior staff for well-specified tasks outside critical path to avoid communication overhead Prioritize requirements and deliver incrementally deliver most important functionality on time testing remains a priority (even if customer disagrees) Extend the deadline 29

Gantt Chart: Slip Line visualizes slippage Shade time line = portion of task completed Draw a slip line at current date, connecting endpoints of the shaded areas bending to the right = ahead of schedule to the left = behind schedule J F M A M J J A S O N D J F M A M J J A 1.Start 2.Design 3.Implementation 3.1.build scanner 3.2.build parser 3.3. build code generator 4.Integrate & Test 5.Write manual 6. Reviewing 7. Finish behind ahead of schedule 30

Timeline Chart: visualise slippage evolution downward lines represent planned completion time as they vary in current time bullets at the end of a line represent completed tasks J F M A M J J A S O N D J F M A M J J on time Planned Time ahead of schedule behind schedule Today 31

Slip Line vs. Timeline Slip Line Timeline Monitors current slip status of project tasks many tasks only for 1 point in time include a few slip lines from the past to illustrate evolution Monitors how the slip status of project tasks evolves few tasks crossing lines quickly clutter the figure colours can be used to show more tasks complete time scale 32

Risk Management

Example: Ariane 5 Destruction after 37 seconds flight on the 4th of June 1996 at Kourou Risque could have been predicted Malfunction of the software One of the most expensive computer bugs in history Copyright owned by ESA/CNES 34

Risk Management If you don t actively attack risks, they will actively attack you. Tom Gilb Project risks budget, schedule, resources, size, personnel, morale... Technical risks implementation technology, verification, maintenance... Business risks market, sales, management, commitment... 35

Risk Management Management must: identify risks as early as possible assess whether risks are acceptable take appropriate action to mitigate and manage risks e.g., training, prototyping, iteration,... monitor risks throughout the project 36

Risk Management Techniques Risk Items Personnel shortfalls Unrealistic schedules and budgets Developing the wrong software functions Risk Management Techniques Staffing with top talent; team building; cross-training; prescheduling key people Detailed multi-source cost & schedule estimation; incremental development; reuse; re-scoping User-surveys; prototyping; early users manuals 37

Risk Management Techniques Risk Items Continuing stream of requirements changes Real time performance shortfalls Straining computer science capabilities Risk Management Techniques High change threshold; information hiding; incremental development Simulation; benchmarking; modeling; prototyping; instrumentation; tuning Technical analysis; cost-benefit analysis; prototyping; reference checking 38

Staffing, directing, teamwork

Software Teams Teams should be relatively small (< 8 members) minimize communication overhead team quality standard can be developed members can work closely together programs are regarded as team property ( egoless programming ) continuity can be maintained if members leave Break big projects down into multiple smaller projects (hierarchical decomposition) Small teams may be organised in an informal, democratic way (ego-less teams) Chief programmer teams try to make the most effective use of skills and experience 40

Hierarchical Decomposition Properties each member reports to a manager and is responsible to carry out the tasks delegated by the manager her tasks, problems could remain unnoticed because every member is only responsible for his/ best suited for big projects with a strict schema and where each person is competent and each role is well-defined 41

Ego-less Teams Properties group is more important than an individual team works together to achieve a common goal decisions are taken by consensus every information is available for each member suited for difficult projects with lots of challenges teams where each member is competent and has lots of experience. 42

Ego-less Teams Advantages there is collaboration quality standards of the group can be developed each member knows the other members each member knows what the other members are doing each member can improve the programs of the other members. 43

Chief Programmer Teams Consist of a kernel of specialists helped by others as required chief programmer takes full responsibility for design, programming, testing and installation of system develops test cases backup programmer keeps track of CP s work and librarian manages all information others may include: project administrator, toolsmith, documentation editor, language/system expert, tester, and support programmers b) Programmeur-chef 44

Chief Programmer Teams Reportedly successful but problems are: Can be difficult to find talented chief programmers Might disrupt normal organisational structures May be de-motivating for those who are not chief programmers 45

Directing Teams Managers serve their team Managers ensure that team has the necessary information and resources The manager s function is not to make people work, it is to make it possible for people to work Responsibility demands authority Managers must delegate Tom DeMarco Trust your own people and they will trust you. 46

Directing Teams Managers manage Managers cannot perform tasks on the critical path Especially difficult for technical managers! Developers control deadlines A manager cannot meet a deadline to which the developers have not agreed 47

Team Roles Belbin introduced the notion of Team Roles A tendency to behave, contribute and interrelate with others in a particular way. need people from different roles to be successful Team of only experts will not work Neither will team of only managers 48

What roles are proposed? Chair (co-ordinator and social leader) Shaper (gives drive and impetus) Plant/Innovator (ideas person) missing key points) negotiations) ideas into practical action) Team worker (diffuses friction) Completer/Finisher (progress chaser) Monitor/evaluator (stopping over enthusiasm, Resource investigator (delicate external Organiser/company worker (implementer - turns 49

Project Management Plan

IEEE Std. 1058-1998 1. Overview 1. Project summary 2. Evolution of the SPMP 2. References 3. Definitions 4. Project Organization 1. External interfaces 2. Internal structure 3. Roles and responsibilities 5. Managerial process 1. Project start-up plan 2. Work plan 3. Control plan 4. Risk management plan 5. Project closeout plan 6. Technical process plans 1. Process model 2. Methods, tools, and techniques 3. Infrastructure plan 4. Product acceptance plan 7. Supporting process plans 1. Configuration management plan 2. Verification and validation plan 3. Documentation plan 4. Quality assurance plan 5. Reviews and audits plan 6. Problem resolution plan 7. Subcontractor management plans 8. Process improvement plan 8. Additional plans 51

References Ian Sommerville. Software Engineering, Addison-Wesley, Eighth Edn., 2007. R. Pressman. Software Engineering A Practitioner s Approach, Mc-Graw Hill, Third Edn., 1994. F. Brooks. The Mythical Man-Month, Addison-Wesley, 1975 T. Love. Object Lessons, SIGS Books, 1993 A. Goldberg and K. Rubin. Succeeding with Objects: Decision Frameworks for Project Management, Addison-Wesley, 1995 Kent Beck. Extreme Programming Explained: Embrace Change, Addison Wesley, 1999 R.M. Belbin, Butterworth Heinemann. Management Teams - Why they succeed or fail,, reprint edition, 1996. 52