Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.

Slides:



Advertisements
Similar presentations
COST ESTIMATION TECHNIQUES AND COCOMO. Cost Estimation Techniques 1-)Algorithmic cost modelling 2-)Expert judgement 3-)Estimation by analogy 4)-Parkinsons.
Advertisements

Schedule and Effort. Planning Big Project: Waterfall-ish Style 1.Figure out what the project entails Requirements, architecture, design 2.Figure out dependencies.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process.
Software Process Models
Metrics for Process and Projects
Software engineering Module 1 -Introduction to software process Teaching unit 1 – Requirements engineering Ernesto Damiani Fee University of Bozen-Bolzano.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Software.
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
CS351 © 2003 Ray S. Babcock Cost Estimation ● I've got Bad News and Bad News!
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Software Cost Estimation.
1 COST ESTIMATION Basics, COCOMO, FP. 2 What is estimated? TIME MONEY TIME: –duration, chronological weeks, months, years –effort, person-month (man-month)
Software process management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software engineering Module 1 -Introduction to software process Teaching unit 1 - Requirements engineering Ernesto Damiani Free University of Bozen-Bolzano.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Managing the Software Development Process
Software Cost Estimation Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
Estimating Software Size Part I. This chapter first discuss the size estimating problem and then describes the PROBE estimating method used in this book.
Managing the Software Process
This document is proprietary to Project Consulting Group, Inc. and contains confidential information which is solely the property of Project Consulting.
Estimation Why estimate? What to estimate? When to estimate?
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
Chapter 6 : Software Metrics
Project Management Project Planning Estimating Scheduling.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
A Brief Introduction to COCOMO Hossein Saiedian EECS810: Software Engineering.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Lecture 17: Chapter 26 Estimation for Software Projects Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
Software cost estimation Predicting the resources required for a software development process 1.
1 Software Process and Project Metrics. 2 Normalization for Metrics.
Project management Lecture 10. Topics covered Management activities Project planning Project scheduling Risk management.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
CSE 240 Lecture 14. Quote of the day “If we don't succeed, we run the risk of failure.” -Dan Quayle.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Lecture 4 Software Metrics
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
Project Planning and Estimation
Quality Software Project Management Software Size and Reuse Estimating.
© Pearson Education Limited 2004 OHT 9.1 Cadle and Yeates: Project Management for Information Systems, 4th edition IS estimating issues Unique projects.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 2.
Project Estimation techniques Estimation of various project parameters is a basic project planning activity. The important project parameters that are.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M16 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Estimation for Software Projects 1. Software Project Planning 2 The overall goal of project planning is to establish a pragmatic strategy for controlling,
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process.
Project Management. Introduction  Project management process goes alongside the system development process Process management process made up of three.
Project, People, Processes and Products Project management skills – schedule, monitoring, risk management, … People management skills – delegation, mentoring,
Advanced Software Engineering Lecture 4: Process & Project Metrics.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
(6) Estimating Computer’s efficiency Software Estimation The objective of Software Estimation is to provide the skills needed to accurately predict the.
Lecture 6 Title: Project Cost Management MIS 434.
Software project management 3rd Umer khalid Lecturer University of Lahore Sargodha campus.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 11: Managing the Software Process.
Project management assignment, Spring 2017
Software Development & Project Management
Software Cost estimation
Personal Software Process Software Estimation
COCOMO Models.
Cost Estimation I've got Bad News and Bad News!.
Managing the Software Process
Software Cost Estimation
Software Effort Estimation
Chapter 26 Estimation for Software Projects.
Presentation transcript:

Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano Lesson 2 – Cost Estimation

Reengineering Periodically project managers should set aside some time to re-engineer part or all of the system –The extent of this work can vary considerably  Cleaning up the code to make it more readable  Completely replacing a layer  Re-factoring part of the design –In general, the objective of a re-engineering activity is to increase maintainability

Cost estimation To estimate how much software-engineering time will be required to do some work –Elapsed time  The difference in time from the start date to the end date of a task or project –Development effort  The amount of labour used in person-months or person-days  To convert an estimate of development effort to an amount of money: you multiply it by the weighted average cost (burdened cost) of employing a software engineer for a month (or a day)

Principles of effective cost estimation (1) Principle 1: divide and conquer To make a better estimate, you should divide the project up into individual subsystems Then divide each subsystem further into the activities that will be required to develop it. Next, you make a series of detailed estimates for each individual activity. And sum the results to arrive at the grand total estimate for the project

Principles of effective cost estimation (2) Principle 2: include all activities when making estimates The time required for all development activities must be taken into account. Including – Prototyping – Design – Inspecting – Testing – Debugging – Writing user documentation – Deployment

Principles of effective cost estimation (3) Principle 3: base your estimates on past experience combined with knowledge of the current project If you are developing a project that has many similarities with a past project – you can expect it to take a similar amount of work Base your estimates on the personal judgement of your experts or use algorithmic models developed in the software industry as a whole by analyzing a wide range of projects – They take into account various aspects of a project’s size and complexity, and provide formulas to compute anticipated cost

Algorithmic models (1) Allow you to systematically estimate development effort –Based on an estimate of some other factor that you can measure, or that is easier to estimate:  the number of use cases  the number of distinct requirements  the number of classes in the domain model  the number of widgets in the prototype user interface  an estimate of the number of lines of code

Algorithmic models (2) A typical algorithmic model uses a formula like the following: –COCOMO  E = a + bNc –Functions Points  S = W1F1 + W2F2 +W3F3 + …

Principles of effective cost estimation (4) Principle 4: be sure to account for differences when extrapolating from other projects Different software developers Different development processes and maturity levels Different types of customers and users Different schedule demands Different technology Different technical complexity of the requirements Different domains Different levels of requirement stability

Principles of effective cost estimation (5) Principle 5: anticipate the worst case and plan for contingencies Develop the most critical use cases first – If the project runs into difficulty, then the critical features are more likely to have been completed Make three estimates – Optimistic (O)  Imagining a everything going perfectly – Likely (L)  Allowing for typical things going wrong – Pessimistic  Accounting for everything that could go wring

Principles of effective cost estimation (6) Principle 6: combine multiple independent estimates Use several different techniques and compare the results If there are discrepancies, analyze your calculations to discover what factors causing the differences. Use the Delphi technique – Several individuals initially make cost estimates in private. – They then share their estimates to discover the discrepancies. – Each individual repeatedly adjusts his or her estimates until a consensus is reached

Principles of effective cost estimation (7) Principle 7: revise and refine estimates as work progresses As you add detail. As the requirements change. As the risk management process uncovers problems FINE