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



Similar documents
Phases, Activities, and Work Products. Object-Oriented Software Development. Project Management. Requirements Gathering

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

ICS 121 Lecture Notes Spring Quarter 96

Project Planning and Project Estimation Techniques. Naveen Aggarwal

How To Manage Project Management

MTAT Software Economics. Lecture 5: Software Cost Estimation

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

Software cost estimation

Software cost estimation

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

(Refer Slide Time: 01:52)

Chapter 23 Software Cost Estimation

CSSE 372 Software Project Management: Software Estimation With COCOMO-II

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

Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur

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

CISC 322 Software Architecture

Software Engineering. Objectives. Designing, building and maintaining large software systems

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur

Project Plan 1.0 Airline Reservation System

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

Project Planning and Control. Main issues: How to plan a project? How to control it?

Cost Estimation Strategies COST ESTIMATION GUIDELINES

SoftwareCostEstimation. Spring,2012

Project Planning. COSC345 Lecture 3 Slides: Andrew Trotman Dramatic presentation: Richard O Keefe. Software Engineering 2013

Project management: an SE Perspective

SOFTWARE PROJECT MANAGEMENT

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

Project Plan. Online Book Store. Version 1.0. Vamsi Krishna Mummaneni. CIS 895 MSE Project KSU. Major Professor. Dr.Torben Amtoft

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

Comparison of SDLC-2013 Model with Other SDLC Models by Using COCOMO

Project planning and scheduling

Systems Analysis and Design

CHAPTER 24 SOFTWARE PROJECT SCHEDULING. Overview

Organising, planning and scheduling software projects. Software management distinctions

VIDYAVAHINI FIRST GRADE COLLEGE

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. Software Projects vs. Engineering Projects

A Case study based Software Engineering Education using Open Source Tools

Project Time Management

Organizing, planning and scheduling software projects

Software Project Management Part 2: Work Breakdown Structures

SWEBOK Certification Program. Software Engineering Management

risks in the software projects [10,52], discussion platform, and COCOMO

Pearson Education Limited 2003

<name of project> Software Project Management Plan

Introduction to the ITS Project Management Methodology

Project Management. Lecture 3. Software Engineering CUGS. Spring 2012 (slides made by David Broman) Kristian Sandahl

Project management. Organizing, planning and scheduling software projects

Project Management. Lecture 3. Software Engineering CUGS. Spring 2011 (slides made by David Broman)

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

SOFTWARE ECONOMICS UNIT 15. Presented by. Stefano Street

Project management. Objectives

2 Evaluation of the Cost Estimation Models: Case Study of Task Manager Application. Equations

Goals of the Unit. spm adolfo villafiorita - introduction to software project management

Project Risks. Risk Management. Characteristics of Risks. Why Software Development has Risks? Uncertainty Loss

Lecture 14: Cost Estimation

CSSE 372 Software Project Management: Software Project Scheduling

Software Development: Tools and Processes. Lecture - 16: Estimation

Basic Concepts. Project Scheduling and Tracking. Why are Projects Late? Relationship between People and Effort

Project Audit & Review Checklist. The following provides a detailed checklist to assist the PPO with reviewing the health of a project:

Introduction and Overview

PROJECT PLAN TEMPLATE

SOFTWARE DEVELOPMENT PLAN

Project Management. Massimo Felici Room 1402, JCMB, KB

Project Management Dr. James A. Bednar

ESKIPM2(SQA Unit Code- F9CX 04) Project management software

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

Minnesota Health Insurance Exchange (MNHIX)

IT2403-SOFTWARE PROJECT MANAGEMENT 2 MARKS QUESTIONS

Project Management Planning

Chapter 3 Managing the Information Systems (IS) Project

Example IEEE software project management plan (SPMP)

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

Software Development Life Cycle (SDLC)

Project Plan Version 0.0

NFSA Project Management Guidelines

ESKIPM3 Project management software

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

Software Engineering. What is a system?

MICROSOFT OFFICE PROJECT - SYLLABUS

Project Planning and Scheduling

A Comparison between Five Models of Software Engineering

Introduction to Software Engineering. 9. Project Management

Project Planning, Scheduling and Control: Assignment 2 D. U. Singer Hospital Products Corp.

PM: Project management software

Software Project Management Plan (SPMP)

PROJECT MANAGEMENT METHODOLOGY SECTION 3 -- PLANNING PHASE

Software Project Management. Software Engineering SW Project Management Slide 1

Scheduling Glossary Activity. A component of work performed during the course of a project.

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

PROFESSIONAL SERVICES SPECIFICATION

MNLARS Project Audit Checklist

Guidelines: Project Schedule Project Management Office (PMO)

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

The Plan s Journey From Scope to WBS to Schedule

Information Systems Development Process (Software Development Life Cycle)

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

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

Transcription:

Contents Introduction Software Development Processes Project Management Requirements Engineering Software Construction Group processes Quality Assurance Software Management and Evolution Last Time - Software Development Processes What is Software Engineering? Software Development Processes What is that? The Waterfall Model The Spiral Model The V-Model Iterative and Incremental Development Agile Development CMM Systematic Process Improvement Today Project Management What is Project Management? Cost Estimation Project Planning and Scheduling Running and Documenting a Project 1

What is Project Management? Think first. Planning improve Activity produce input to Result Check results. Evaluation improve Project Management Activities Project acquisition Feasibility study (initial project planning) Resource assessment Option (and risk) analysis Cost estimation Project planning and scheduling Work breakdown structure Effort estimation and distribution Resource assignment Project tracking and control Risk management Reporting Project Resources People Required skills Availability Duration of tasks Start date Time Budget Office/lab space Hardware and software tools Description Availability Duration of use Delivery date 2

Option Analysis Compare different development alternatives Evaluate their risks Select best alternative Tools Polar graph Forms Decision tree... Polar Graphs Reliability Schedule Alternative A Alternative B Alternative C Reuse Cost Portabilty Efficiency Analysis Example Alternative Cost (SEK) Relative efficiency Tools investment Schedule (years) Staff utilization (%) Risk A 7.500.000 0.8 250.000 2 85 0.75 B 8.500.000 1 500.000 1.3 70 0.6 C 7.000.000 0.6 500.000 2 100 0.9 3

Analysis Example (Polar Graph) Cost 5 M Alternative A Alternative B Efficiency 1 Alternative C Risk 0.5 1 0 0 500K 250K Tools investment 2 y 1 y 100% Staff Schedule utilisation Objectives Constraints Alternatives Risks Risk resolution strategy Results Plans Commitment Analysis Example (Forms) Develop a software components catalogue Within one year Must support all existing component types Must cost less than 1 MSEK Buy existing information retrieval (IR) software Buy a database and develop the catalogue using the query language Develop a special-purpose catalogue May be impossible within the given constraints Catalogue functionality may be inappropriate Develop a prototype to clarify requirements Commission a consultants report on existing IR systems Relax the time constraints IR systems are too inflexible Identified requirements cannot be met The prototype using a DBMS may be enhanced to a complete system Special-purpose catalogue development is not cost effective Develop the catalogue using the existing DBMS by enhancing the prototype and building a GUI Fund further 12 months of development Analysis Example (Decision Tree) Simple (0.3) 3.8 MSEK Build Difficult (0.7) Minor changes (0.4) 4.5 MSEK 2.75 MSEK Goal: Develop System X Reuse Buy Simple (0.2) Major changes (0.6) Complex (0.8) Minor changes (0.3) 3.1 MSEK 4.9 MSEK 2.1 MSEK Contract Major changes (0.7) Without changes (0.6) 4 MSEK 3.5 MSEK With changes (0.4) 5 MSEK 4

Project Management What is Project Management? Cost Estimation Project Planning and Scheduling Running and Documenting a Project Cost Estimation General approach Decompose problem Check for experiences/ data on sub problems Make qualified estimations (Make at least two independent estimates) General problems What are good measures? Do the estimates effect the result? Does the type of software effect the result? Does the project environment effect the result?... Use empirical and historical data Algorithmic cost modelling COCOMO (based on LOC) FP (based on function points) COCOMO Constructive Cost Modelling [Boehm 81, Boehm 00] Based on publicly available historical data of 63 TRW projects Basic assumptions: Requirements change only slightly during the project There is good project management The historical data is representative Assigning more resources to the project does NOT result in linear decreasing development time Basic model: Effort = a KDSI b KDSI = Kilo Delivered Source Instructions ( LOC - comments) The a and b factors vary depending on the type of project Effort is measured in PM (Person Months = 152h of work) 5

COCOMO Project Types OM: Organic Mode projects Small teams which are familiar with the type of application Development in a familiar environment EM: Embedded Mode projects Large and inexperienced teams Many constraints SDM: Semi Detached Mode projects Between OM- and EM projects COCOMO Basic Model PM: Person Months 2.4 KDSI 1.05 for OM projects 3 KDSI 1.12 for SDM projects 3.6 KDSI 1.20 for EM projects TDEV: Time for DEVelopment 2.5 PM 0.38 for OM projects 2.5 PM 0.35 for SDM projects 2.5 PM 0.32 for EM projects N: Number of personnel PM / TDEV This is Too Simplistic!? There are many cost drivers that effect effort Programming language Development methods Tools and environments Experience and capabilities of the development team Available time Requirements volatility... 6

COCOMO Intermediate Model Takes into account 15 cost drivers, which are ranked on a scale from very low to extra high Product attributes (e.g., required reliability) Platform attributes (e.g., time/space constraints) Personnel attributes (e.g., programming language experience) Project attributes (e.g., tool usage) PM: Person Months 3.2 KDSI 1.05 ΠCifor OM projects 3 KDSI 1.12 ΠCi for SDM projects 2.8 KDSI 1.20 ΠCi for EM projects ΠCi [0.09..9.42] TDEV and N as before Cost Drivers Cost Drivers Product attributes Required software reliability Size of application database Complexity of the product Platform attributes Run-time performance constraints Memory constraints Volatility of the virtual machine environment Required turnabout time Personnel attributes Analyst capability Applications experience Software engineer capability Virtual machine experience Programming language experience Project attributes Use of software tools Application of software engineering methods Required development schedule Very Low 0.75 0.70 1.46 1.29 1.42 1.21 1.14 1.24 1.24 1.23 Low 0.88 0.94 0.85 0.87 0.87 1.19 1.13 1.17 1.10 1.07 1.10 1.10 1.08 Ratings Nomin al High 1.15 1.08 1.15 1.11 1.06 1.15 1.07 0.86 0.91 0.86 0.90 0.95 0.91 0.91 1.04 Very High 1.40 1.16 1.30 1.30 1.21 1.30 1.15 0.71 0.82 0.70 0.82 0.83 1.10 Extra High 1.65 1.66 1.56 Intermediate COCOMO Summary Works quite well in practice TRW data is publicly available Needs KLOC as input Problems: Estimating KLOC in early project stages Comparison of projects using different LOC counts Outdated project data base for basic constants (70s) Solutions: Cross-check using an other estimation technique Standardised LOC counts Continuous model calibration Use COCOMOII 7

COCOMO II Stage 1: Application Composition (resolving high-risk issues) Estimation base: Object points Single standard project type Stage 2: Early Design (exploration of architectures and concepts) Estimation base: Function points or KLOC Six project type factors Stage 3: Post-architecture (development has started) Estimation base: Function points or KLOC Six project type factors Formulas more complicated; takes care of more variation See simple online tool (http://www.cms4site.ru/utility.php?utility=cocomoii) Function (Feature) Points Estimate functionality captured in requirements Very detailed and complex counting rules (IFPUG) # User inputs x (3,4,6) = # User outputs x (4,5,7) = # User inquiries x (3,4,6) = # Files x (7,10,15) = # External interfaces x (5,7,10) = (# Algorithms x (3,4,6) = ) ----------- Count-total Feature points only FP = Count-total x [ 0.65 + 0.01 x ΣF i ] 14 i=1 Adjustment factors (F i {0,...,5}) Project Management What is Project Management? Cost Estimation Project Planning and Scheduling Running and Documenting a Project 8

Define Work Breakdown Structure Activity Major work unit Start and end dates Consumes resources Results in work products (and milestones) Phase 1 Project function Continue throughout the project Not bound to specific phases Step 1 Step 2 Activity 1 Activity 2 Activity 3 Project Phase 2 Step 1 Step 2 Activity 1 Activity 2 Task 1 Task 2 Task 3 Phase N Step 1 Step 2 Schedule Activities Almost all activities depend on the completion of some other activities Many activities can be performed in parallel Track usage of resources Organisation necessary to balance work-load, costs, and duration PERT chart (activity network/task graph) Critical path Project time-line (Gantt chart) Resource table PERT Charts Program Evaluation and Review Technique Graph Nodes = activities/tasks and estimated duration Edges = dependencies Compute Slack time = available time - estimated duration Critical path A path is critical when it contains an activity that, if delayed, will cause a delay of the whole project. 9

PERT Chart Syntax GetAhead There is a nice tutorial at http://www.getahead-direct.com/gwprpert.htm An Example PERT Chart Time-motion study of existing hardware 3 2d 5/4/00 5/5/00 Get final report from PSU Designelectrical and Schedule down-time with Schedule contractor for Renovate electrical and Install new hardware pneumatic renovations production supervisor electrical and pneumatic pneumatic 1 5d 4 4d 5 2d 8 1d 13 2d 14 3d 4/27/00 5/3/00 5/4/00 5/9/00 5/10/00 5/11/00 5/12/00 5/12/00 5/17/00 5/18/00 5/19/00 5/23/00 Shut down productionline Remove old hardware 10 1d 11 2d 5/12/00 5/12/00 5/15/00 5/16/00 Get blueprints for old Schedule truck to pickup Inform PSU about pickup Transport hardware from Store old hardware (just hardware hardware at PSU PSU in case) 2 1d 6 1d 7 2d 9 2d 12 10d 4/27/00 4/27/00 5/4/00 5/4/00 5/5/00 5/8/00 5/9/00 5/10/00 5/17/00 5/30/00 A Gantt Chart (Project Time Line) 10

Another Gantt Chart A Resource Table Can be (partly) generated from Gantt and or PERT charts Resource assignment Useful for project tracking Start End Elapsed Utilisation Task name earliest latest earliest latest time Resource 1 time 1 Resource n Utilisation time n... Project Management What is Project Management? Cost Estimation Project Planning and Scheduling Running and Documenting a Project 11

Running a Project To know where you are you need A (detailed) plan/goal Measurements of project status 100% plan actual progress time in, e.g., weeks Example Effort Distribution 250 total time in h 200 150 100 50 actual plan 0 week35 week36 week37 week38 week39 week40 week41 week42 week43 week44 400 350 300 250 200 150 100 50 0 Lectures Meetings Planning Requirements GUI design Analysis Design Testing Coding Presentations Subcontract Code subc. Evaluation of prototype Manual Final report weekly reports and meeting minutes Other Risk Management Risk management is concerned with identifying risks and drawing up plans to minimise their effect on a project A risk is a probability that some adverse circumstance will occur Project risks affect schedule or resources Product risks affect the quality or performance of the software being developed Business risks affect the organisation developing or procuring the software 12

Risk Management Activities Investigate potential risk factors Risk Likelihood of occurrence Impact Define mitigation strategies (i.e. be prepared) What can be done to avoid the problem(s) in the first place What can be done to solve the problem(s) in case they occur Monitor risks Determine if predicted risk occurs Properly apply risk aversion steps Collect info for future risk analysis Example Assume Risk = High staff turnover Likelihood of occurrence = 70% Impact = Increase project time by 15%, project cost by 12% Mitigation strategy Identify high turnover causes Reduce causes before project starts Develop techniques to assure work continuity in light of turnover For example... or... Risk Management Risk management Risk assessment Risk identification Risk analysis Risk prioritisation Checklist Decomposition Assumption analysis Decision driver analysis System dynamics Performance models Cost models Network analysis Decision analysis Quality risk factor analysis Risk exposure Compound risk reduction Risk control Risk reduction Risk management planning Risk resolution Buying information Risk avoidance Risk transfer Risk reduction leverage Development process Risk element planning Risk plan integration Risk mitigation Risk monitoring and reporting Risk reassessment 13

Top Ten Project Risks Staff deficiencies Unrealistic schedules and budgets Developing the wrong functions Developing the wrong interface Over-engineering Requirements volatility Externally developed items Externally performed tasks Performance problems Assumptions on technology See Jalote: An Integrated Approach to Software Engineering, Springer 1997. 1Introduction 1.1 Project overview 1.2 Project deliverables 1.3 Evolution of the SPMP 1.4 Reference Materials 1.5 Definitions and acronyms The Project Plan 2Project Organisation 2.1 Process model 2.2 Organisational structure 2.3 Organisational boundaries and interfaces 2.4 Project responsibilities 3 Managerial Process 3.1 Management objectives and priorities 3.2 Assumptions, dependencies and constraints 3.3 Risk management 3.4 Monitoring and controlling mechanisms 3.5 Staffing plan 4 Technical Process 4.1 Methods, tools and techniques 4.2 Software documentation 4.3 Project support functions 5 Work Packages, Schedule, and Budget 5.1 Work packages 5.2 Dependencies 5.3 Resource requirements 5.4 Budget and resource allocation 5.5 Schedule According to ESA Std PSS-05-0 The Message Without a detailed plan you never know where you are 14

Summary What is Project Management? Cost Estimation Project Planning and Scheduling Running and Documenting a Project Next time Introduction Software Development Processes Software Development Processes Project Management Project Management Requirements Engineering Guest lecture Software Construction Group processes Quality Assurance Software Management and Evolution 15