Contents. Today Project Management. What is Project Management? Project Management Activities. Project Resources

Similar documents
Darshan Institute of Engineering & Technology for Diploma Studies

Management of Software Engineering. Ch. 8 1

SENG380:Software Process and Management. Software Size and Effort Estimation Part2

Professor Hausi A. Müller PhD PEng FCAE Department of Computer Science Faculty of Engineering University of Victoria

PLANNING AND ESTIMATING

Figure 1 Function Point items and project category weightings

Fundamental estimation questions. Software cost estimation. Costing and pricing. Software cost components. Software pricing factors

Goals of course. Themes: What can you do to evaluate a new technique? How do you measure what you are doing?

Estimating Duration and Cost. CS 390 Lecture 26 Chapter 9: Planning and Estimating. Planning and the Software Process

COCOMO Models 26/12/2016 1

You document these in a spreadsheet, estimate them individually and compute the total effort required.

SOFTWARE ENGINEERING

Project Plan. For KDD- Service based Numerical Entity Searcher (KSNES) Version 1.1

DRAFT. Effort = A * Size B * EM. (1) Effort in person-months A - calibrated constant B - scale factor EM - effort multiplier from cost factors

Software Project Management. Software effort

Software cost estimation

Management and MDD. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems March 6, 2007

Lecture- 10. Project Scheduling. Dronacharya College of Engineering

Resource Model Studies

MTAT Software Economics. Session 6: Software Cost Estimation

Software cost estimation

Cost Estimation for Projects

Today s Lecture. Fall 2004 SE 101 Introduction to Software Engineering 2

A system is a group of elements organized and arranged so that the. elements can act as a whole toward achieving a common goal; is a collection of

2. What is a phase? A phase is a collection of related activities or tasks that produce a deliverable or work product.

Software Estimation. Estimating Software Size

Project Plan Community Forum Version 1.0 Submitted by Nayan Ancha

FACTFILE: GCE DIGITAL TECHNOLOGY

Project Management. Agenda - What will you learn today? Theory Lecture Plan. A Software Life-cycle Model Which part will we talk about today?

mywbut.com Software Project Planning

Project Management Phases. Initiating Planning Executing Controlling Closing

Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling, tracking, and monitoring a comple

Project Plan. KSU Student Portal. Version 1.0. Submitted in partial fulfillment of the requirements of the degree of MSE

Software Processes 1

Chapter 4 Software Process and Project Metrics

SOFTWARE ENGINEERING. Topics covered 1/20/2015. Chapter 3 - Project Management. Risk management Managing people Project cost Project plan & schedule

3. December seminar cost estimation W 2002/2003. Constructive cost model Department of Information Technology University of Zurich

Software Engineering

Software Efforts & Cost Estimation Matrices and Models. By: Sharaf Hussain

Lecture 2: Project Management, Part 1: Requirements, WBS, Scheduling, and Risk Management. Prof. Shervin Shirmohammadi SITE, University of Ottawa

Software Project Management Plan

Software Engineering II - Exercise

SE Notes Mr. D. K. Bhawnani, Lect (CSE) BIT

Chapter 3 Managing the Information Systems Project

Software Engineering. Lab Manual. Software Engineering BE(comp) VII semester

Sri Vidya College of Engineering & Technology-Virudhunagar

Introduction to Software Metrics

Estimation for Software Projects. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

Information Technology Audit & Cyber Security

Information Technology Project Management. Copyright 2012 John Wiley & Sons, Inc.

Objectives. Topics covered. Software project management. Management activities. Software management distinctions. Project management

UNIT V PROJECT MANAGEMENT

Lecture- 11. Project Scheduling. Dronacharya College of Engineering

Software Quality Engineering Courses Offered by The Westfall Team

Chapter 5: Software effort estimation- part 2

Software Quality Engineering Courses Offered by The Westfall Team

Project Plan Version 1.0

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

Project Planning. COSC345 Software Engineering 2016 Slides by Andrew Trotman given by O K

Software Project & Risk Management Courses Offered by The Westfall Team

Concepts of Project Management. All projects have followings.

Darshan Institute of Engineering & Technology for Diploma Studies Rajkot Unit-1

Planning and the Software Lifecycle. CSCE Lecture 2-08/26/2015

Communication Model for Cooperative Robotics Simulator. Project Plan. Version 1.0

Project Plan. CivicPlus Activity Metrics Tool. Version 1.0. Keith Wyss CIS 895 MSE Project Kansas State University

Project Planning & Scheduling

Estimation Based on Function Points

Chapter 5 Software Project Planning

Resource Decisions in Software Development Using Risk Assessment Model

Unit 381 IT Project Management Level 3. Credit value 10. Rationale

Chapter 5 Estimate Influences

This document is copyrighted, the distribution of this document is punishable by law.

COCOMO II Based Project Cost Estimation and Control

Value of Failure! Students Course! Module 4: Preventing Failure!

Software Engineering Measurement and Fundamental Estimation Techniques.

First, a detailed description of function points Then, how to use function points and lines of code for cost estimation.

Characteristics of a project

Informatics Project Proposal (IPP) Lecture 5: Project Planning 2018/19

Determining How Much Software Assurance Is Enough?

Project management. ACSC 383 Software Engineering. Efthyvoulos C. Kyriacou (PhD) Assoc. Prof. Computer Science and Engineering Department

Welcome to lecture 4 of Topic 2.9. In this lecture we focus on Phase 2 of the Project Management Lifecycle the planning phase

Experiment No 12. Practical Significance. Relevant Program Outcomes. Relevant Course Outcomes. Practical Learning Outcomes.

E2-E3: MANAGEMENT. CHAPTER-3 PROJECT MANAGEMENT (Date of creation: )

Pertemuan 2. Software Engineering: The Process

Life Cycle Plan (LCP)

CS Homework 5. Deadline. How to submit. Purpose. Important notes. Problem 1. CS Homework 5 p. 1

Software project management. ITNP090 Object Oriented Software Design. Management activities. Software Management Challenges

Customer Questions. Project Deliverables

Software Architecture Challenges for Complex Systems of Systems

REQUIREMENTS DOCUMENTATION

Selecting Software Development Life Cycles. Adapted from Chapter 4, Futrell

Complex Systems of Systems (CSOS) : Software Benefits,Risks,and Strategies

Software LEIC. Lecture 23

Software Development Software Development Activities

Chapter 4 Project Management

Lecture 2: Software Quality Factors, Models and Standards. Software Quality Assurance (INSE 6260/4-UU) Winter 2016

Software Technology Conference

CMPT 275 Software Engineering

BCS Higher Education Qualifications. Diploma in IT. IT Project Management Syllabus

Application of Intelligent Methods for Improving the Performance of COCOMO in Software Projects

Transcription:

Contents Last Time - Software Development Processes Introduction Software Development Processes Project Management Requirements Engineering Software Construction Group processes Quality Assurance Software Management and Evolution 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? What is Project Management? Cost Estimation Project Planning and Scheduling Running and Documenting a Project Think first. improve Planning Activity produce input to Result Check results. Evaluation improve Project Management Activities Project Resources 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 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 1

Option Analysis Polar Graphs Compare different development alternatives Evaluate their risks Select best alternative Reliability Alternative A Alternative B Alternative C Schedule Tools Polar graph Forms Decision tree... Reuse Portabilty Efficiency Cost Analysis Example Analysis Example (Polar Graph) Cost Efficiency Alternative A Cost (SEK) 7.500.000 Relative efficiency 0.8 Tools investment 250.000 Schedule (years) 2 Staff utilization (%) 85 Risk 0.75 5 M Alternative A Alternative B Alternative C 1 B 8.500.000 1 500.000 1.3 70 0.6 Risk 0.5 1 0 0 500K 250K Tools investment C 7.000.000 0.6 500.000 2 100 0.9 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) Goal: Develop System X Build Reuse Buy Contract Simple (0.3) 3.8 MSEK Difficult (0.7) 4.5 MSEK 2.75 MSEK Minor changes (0.4) Simple (0.2) 3.1 MSEK Major changes (0.6) 4.9 MSEK Complex (0.8) Minor changes (0.3) 2.1 MSEK Major changes (0.7) Without changes (0.6) With changes (0.4) 4 MSEK 3.5 MSEK 5 MSEK 2

Project Management What is Project Management? Cost Estimation Project Planning and Scheduling Running and Documenting a Project General approach Decompose problem Check for experiences/ data on sub problems Make qualified estimations (Make at least two independent estimates) Cost Estimation 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 COCOMO Project Types 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) 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... 3

COCOMO Intermediate Model Cost Drivers 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 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 COCOMO II 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 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 Project Management What is Project Management? Cost Estimation Project Planning and Scheduling Running and Documenting a Project FP = Count-total x [ 0.65 + 0.01 x ΣF i ] 14 i=1 Adjustment factors (F i {0,...,5}) 4

Define Work Breakdown Structure Schedule Activities Activity Major work unit Start and end dates Consumes resources Results in work products (and milestones) Project Phase 1 Phase 2 Phase N Project function Continue throughout the project Not bound to specific phases Step 1 Step 2 Step 1 Step 2 Step 1 Step 2 Activity 1 Activity 2 Activity 3 Activity 1 Activity 2 Task 1 Task 2 Task 3 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 PERT Chart Syntax Program Evaluation and Review Technique Graph Nodes = activities/tasks and estimated duration Edges = dependencies Compute Slack time = available time - estimated duration Critical path GetAhead A path is critical when it contains an activity that, if delayed, will cause a delay of the whole project. There is a nice tutorial at http://www.getahead-direct.com/gwprpert.htm An Example PERT Chart A Gantt Chart (Project Time Line) 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 5

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 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 total time in h 250 200 150 100 50 0 400 350 300 250 200 150 100 50 0 Example Effort Distribution actual plan week35 week36 week37 week38 week39 week40 week41 week42 week43 week44 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 6

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 Top Ten Project Risks Risk identification Risk assessment Risk analysis Risk prioritisation Risk management Risk reduction Risk control Risk management planning Risk resolution 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 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 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 7

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