Outline • An Overview of Project • An Overview of Project Management • Project Management Activities • Project Organizations • Project Communications • Software Life Cycle Model
1.1 What is a Project • A project is a temporary and one-time endeavor undertaken to create a unique product or service, which brings about beneficial change or added value. • Projects have end dates! • Attributes of projects • Unique purpose • Non-routine tasks are involved • Temporary • Planning is required • Specific objectives are to be met or a specified project is to be created • The project has a pre-determined time span
1.2 Project Attributes • More attributes • Work is carried out for someone other than yourself • Work require resources, often from various areas or involve several specializes • Work is carried out in several phases • The resources that are available for use on the project are constrained • Should have a primary sponsor and/or customer • Project can be large or small and take a short or long time to complete • Involve uncertainty
Consider the following: • Producing an edition of a newspaper • Building the Channel Tunnel • Getting married • A programming assignment for a second year computing student • Writing an operating system for a new computer • Which ones are more like Project?
2.1 History of Project Management • Some people argue that building the Egyptian pyramids was a project, as was building the Great Wall of China • Most people consider the Manhattan Project to be the first project to use “modern” project management • This three-year, $2 billion (in 1946 dollars) project had a separate project manager and a technical manager
Objectives • To introduce software project management and to describe its distinctive characteristics • To discuss project planning and the planning process • To show how graphical schedule representations are used by project management • To discuss the notion of risks and the risk management process
2.2 The Triple Constraint of Project Management • Every project is constrained in different ways by its: • Scope: • What work will be done as part of the project? • What unique product, service, or result does the customer or sponsor expect from the project? • How will the scope be verified? • Time: • How long should it take to complete the project? • What is the project’s schedule? • How will the team track actual schedule performance? • Who can approve changes to the schedule?
Every project is constrained in different ways by its: • Cost: • What should it cost to complete the project? • What is the project’s budget? • How will costs be tracked? • Who can authorize changes to the budget? • It is the project manager’s duty to balance these three often competing goals.
Successful project management means meeting all three goals (scope, time, and cost) – and satisfying the project’s sponsor!
Software project management • Concerned with activities involved in ensuring that software is delivered on time and on schedule and in accordance with the requirements of the organisations developing and procuring the software • Project management is needed because software development is always subject to budget and schedule constraints that are set by the organisation developing the software
Software management distinctions • The product is intangible • The product is uniquely flexible • Software engineering is not recognized as an engineering discipline with the sane status as mechanical, electrical engineering, etc. • The software development process is not standardised • Many software projects are 'one-off' projects
Project Agreement Project Kick-off Formulate Idea Problem Statement Initial Software Definition Architecture Team assembly Infrastructure setup 2.5 Management activities in a software project Conception Cost-Benefit Analysis Feasibility Study Definition Initial Software Project Management Plan Start Skill Identification
Steady state Controlling Risk management Project replanning Scope agreement Termination Client acceptance test Installation Postmortem
Management activities • Proposal writing • Project planning and scheduling • Project costing • Project monitoring and reviews • Personnel selection and evaluation • Report writing and presentations
Management commonalities • These activities are not peculiar to software management • Many techniques of engineering project management are equally applicable to software project management • Technically complex engineering systems tend to suffer from the same problems as software systems
2.6 Tasks and Work Products • A task is a well-defined work assignment for a role • A work product is a tangible item that results from a task • An object model • A class diagram • A piece of source code • A document • …
Work * Task Activity «invariant» duration = project.duration Project Function
Work Products, Work Packages, and Roles • Work Package: A description of the work products to be produced, the resource needed, duration (expected), work produces and dependencies Work Package describes produced-by * * Outcome Work * Set of Work Products Work Product Task Activity Internal Work Product Project Deliverable Project Function
Example: Let‘sBuild a House Whataretheactivitiesthatareneededtobuild a house?
What is the problem? • Your boss: “How long will this take?” • You: “Between 1 and 6 months.” • People are not happy when you respond that way. • You figure out that finishing anytime before six months will meet your promise. • Your boss figures that with some hard work you can be done in a month! • In reality, you don’t have the slightest clue how long it will take, because you don’t know the work to be done. • Solution: Use divide and conquer • To give a good answer you have to break the work down into activities for which you can get good timing estimates • From these estimates you compute the estimated project duration
Activities to obtain good time estimates • Identify the work that needs to be done • Work breakdown structure (WBS) • Identify the dependency between work units • Dependency Graph • Estimate the duration of the work to be done • Schedule
Surveying Excavation Request Permits Buy Material Lay foundation Build Outside Wall Install Exterior Plumbing Install Exterior Electrical Install Interior Plumbing Install Interior Electrical Install Wallboard Paint Interior Install Interior Doors Install Floor Install Roof Install Exterior Doors Paint Exterior Install Exterior Siding Buy Pizza Typicalactivitieswhenbuilding a house Findingtheseactivitiesisa brainstormingactivity. Itrequiressimilaractivitiesusedduringanalysis (usecasemodeling)
Hierarchicalorganizationoftheactivities • Buildingthehouseconsistsof • Preparethebuildingsite • BuildingtheExterior • BuildingtheInterior • Preparingthebuildingsiteconsistsof • Surveying • Excavation • Buyingof material • Layingofthefoundation • Requestingpermits
Fromthe WBS totheDependency Graph • The work breakdown structuredoes not showany temporal dependenceamongtheactivities/tasks • Can weexcavatebeforegettingthepermit? • Howmuch time doesthewholeprojectneedif I knowthe individual times? • Whatcanbedone in parallel? • Are thereanycriticalactitivites, thatcanslow down theprojectsignificantly? • Temporal dependenciesareshown in thedependencygraph • Nodes areactivities • Lines represent temporal dependencies
The activity „Buy Material“ must Precedetheactivity „Lay foundation“ Building a House (Dependency Graph) Install Install Install Interior Interior Wallboard Plumbing Electrical Paint Interior Install Interior Install Doors Flooring Lay Build Excava Buy Survey START FINISH Founda Outside tion Material ing tion Wall Install Roofing Install Exterior Doors Request Paint Exterior Install Install Install Exterior Exterior Exterior Siding Electrical Plumbing
Building a House (PERT Chart) 12/3/94 12/21/94 1/11/95 Each Activity has a start time and an estimated duration Install Install Install Interior Interior Wallboard Plumbing Electrical 1/22/95 0 0 0 12 15 9 Paint Interior 0 2/8/95 11 Install 1/22/95 Interior Install Doors Flooring 0 7 10/15/94 11/5/94 9/17/94 10/1/94 2/16/95 8/27/94 8/27/94 0 Lay Build 18 Excava Buy Survey START 1/19/95 FINISH Founda Outside tion Material ing tion Wall Install 1/19/95 0 0 Roofing 0 0 12 0 0 10 0 10 Install 0 3 20 15 12 Exterior 9 Doors 8/27/94 15 1/12/95 Request 6 Permits Paint Exterior 0 15 12 5 12/31/94 12/17/94 12/3/94 Install Install Install Start Time 8/29/94 Exterior Exterior Exterior Siding Legend Electrical Plumbing 12 12 12 Duration 0 8 10 10 Slack Time 0
Model of a Project from a project manager’s point of view. Equipment Project * Facility Resource Fund * Organi- Work zation des- Breakdown Work Structure cribes Schedule Package con- * * sumes * * produces Organizational respon- Outcome Work Unit sible * * * plays for depends Role Set of Work Work Staff Activity Task Participant Products Product Project Internal Department Team Project Function Work Product Deliverable
Project Agreement • Document written for a client that defines: • the scope, duration, cost and deliverables for the project. • the exact items, quantities, delivery dates, delivery location. • Client: Individual or organization that specifies the requirements and accepts the project deliverables. • Can be a contract, a statement of work, a business plan, or a project charter. • Deliverables (= Work Products that will be delivered to the client: • Documents • Demonstrations of function • Demonstration of nonfunctional requirements • Demonstrations of subsystems
Software Project Management Plan Template • 0. Front Matter • 1. Introduction • 2. Project Organization • 3. Managerial Process • 4. Technical Process • 5. Work Elements, Schedule, Budget • Optional Inclusions
IEEE Std 1058: Standard for Software Project Management Plans (SPMP) • Whatitdoes: • Specifiestheformatandcontentsofsoftwareprojectmanagementplans. • Itprovides a standardsetofabstractionsfor a projectmanageror a wholeorganizationtobuilditssetofpracticesandproceduresfordevelopingsoftwareprojectmanagementplans • Abstractions: Project, Function, Activities, Tasks • Whatitdoes not do: • Itdoes not specifytheproceduresortechniquestobeused in thedevelopmentofthe plan • Itdoes not provideexamples .
3.1 Four Management Activities • Planning the Project • Organizing the Project • Controlling the Project • Terminating the Project
Problem Statement Top-level Design Organization Software Project Task Model Management Plan (SPMP) 3.2 Planning the Project Deliverables Project Planning Products Project Agreement Requirements Analysis Document (RAD) System Design Document (SDD) Schedule
(1) Developing the problem statement • Developing the problem statement • the current situations • the functionality it should support • environment in which the system will be deployed • deliverables, delivery dates and a set of acceptance criteria • constraints on the development environment • Mutual understanding of the problem • Roles: Project Manager, Client
(2) Defining the top-level design • Describe software architecture of the system • Subsystem definition based on high level function decomposition • Roles: Software architect
(3) Identifying the WBS • Decomposition Approach • Functional decomposition based on the software process • Functional decomposition based on the functions of the product itself • Function decomposition based on Geographical areas • … Subsystem decomposition Work Breakdown Structure Develop UserInterface System Develop Control Develop Subsystem Control UserInterface Develop Database Database Subsystem
(4) Creating the initial schedule • Temporal Dependencies are established in the task model • Task Duration Estimation • Schedule creation
3.3 Organizing the Project • Setting up the communication infrastructure • Schedule Modes • Event-based modes • Identifying skills • Application domain skills • Communication skills • Technical skills • Quality skills • Management skills
Assigning management roles • Assigning technical roles • Dealing with skill shortages • Selecting team sizes • Assembling the teams • Kick-off meeting • Agreeing on project scope
3.4 Controlling the Project • Decision making relying on collecting accurate status information • Meetings • Sharp milestones • Project reviews • Code inspections • Prototype demonstration
Metrics • Financial status • Technical progress • Stability • Modularity • Maturity