Project Planning. Overview Planning and the software process Estimating duration and cost Software project management plan components Software project.

Slides:



Advertisements
Similar presentations
Early Effort Estimation of Business Data-processing Enhancements CS 689 November 30, 2000 By Kurt Detamore.
Advertisements

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Software.
Software Effort Estimation based on Use Case Points Chandrika Seenappa 30 th March 2015 Professor: Hossein Saiedian.
GPII-2A Planning a software project: Estimation & Measurement.
Planning and Estimating
CSC 395 – Software Engineering
Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach
Design, Implementation and Maintenance
Software Cost Estimation Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Slide 6.1 CHAPTER 6 TESTING. Slide 6.2 Overview l Quality issues l Nonexecution-based testing l Execution-based testing l What should be tested? l Testing.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
Slide 15.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Estimation Why estimate? What to estimate? When to estimate?
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
Chapter 6 : Software Metrics
©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.
Function Point Analysis What is Function Point Analysis (FPA)? It is designed to estimate and measure the time, and thereby the cost, of developing new.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
9.1/84 PLANNING AND ESTIMATING. 9.2/84 Prologu e There is no easy solution to the difficulties of constructing a SW product, A large product takes time.
Software cost estimation Predicting the resources required for a software development process 1.
Software Engineering SM ? 1. Outline of this presentation What is SM The Need for SM Type of SM Size Oriented Metric Function Oriented Metric 218/10/2015.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Slide 9.1 Copyright © 2011 by The McGraw-Hill Companies, Inc. All rights reserved. Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill,
Quality Software Project Management Software Size and Reuse Estimating.
Software Project Planning Part II. Troutman's Postulates Profanity is the one language understood by all programmers. Not until a program has been in.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
© 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.
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Chapter 3: Software Project Management Metrics
PLANNING AND ESTIMATING. Planning and Estimating Before starting to build software, it is essential to plan the entire development effort in detail Planning.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Slide 9.1 © The McGraw-Hill Companies, 2005 Object-Oriented and Classical Software Engineering Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
©Ian Sommerville, adapted by Werner Wild 2004Project Management Slide 1 Software cost estimation u Predicting the resources required for a software development.
Lecture 4: Software Process Management Dr Valentina Plekhanova University of Sunderland, UK
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
Data Structure Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2010.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
Cost Estimation Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman.
By Manish Shrotriya CSE MS Software Estimation Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line.
Prof. Aiken CS 169 Lecture 61 Project Planning CS169 Lecture 6.
Reference: Object-Oriented and Classical Software Engineering Stephen R. Schach, Eighth Edition, WCB/McGraw-Hill, 2011 (CHAPTER 9) PLANNING AND ESTIMATING.
Project Cost Management
PLANNING AND ESTIMATING
Software Testing.
ICS 3UI - Introduction to Computer Science
Function Point Analysis
Software Project Estimation
Software Development & Project Management
Unit# 9: Computer Program Development
Personal Software Process Software Estimation
Chapter 5: Software effort estimation- part 2
Software Metrics “How do we measure the software?”
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
COCOMO Models.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Software Development Cost Estimation Chapter 5 in Software Engineering by Ian Summerville (7th edition) 4/7/2019.
Software Cost Estimation
Software Effort Estimation
COCOMO MODEL.
Presentation transcript:

Project Planning

Overview Planning and the software process Estimating duration and cost Software project management plan components Software project management plan framework IEEE software project management plan Planning of testing Planning of object-oriented projects Training requirements Documentation standards

Planning and Estimating Before starting to build software, it is essential to plan the entire development effort in detail Planning continues during development and then maintenance –Initial planning is not enough –The earliest possible detailed planning is after the specification phase

Planning and the Software Process Accuracy of estimation increases as the process proceeds

Planning and the Software Process (contd) Example –Cost estimate of $1 million during the requirements phase Likely actual cost is in the range ($0.25M, $4M) –Cost estimate of $1 million in the middle of the specification phase Likely actual cost is in the range ($0.5M, $2M) –Cost estimate of $1 million at the end of the specification phase (earliest appropriate time) Likely actual cost is in the range ($0.67M, $1.5M) This model is old (1976) –Estimating techniques have improved –But the shape of the curve is likely to be similar

Estimating Duration and Cost Accurate duration estimation is critical Accurate cost estimation is critical –Internal, external costs There are too many variables for accurate estimate of cost or duration

Human Factors Sackman (1968) measured differences of up to 28 to 1 between pairs of programmers He compared matched pairs of programmers –Product size –Product execution time –Development time –Coding time –Debugging time Critical staff members may resign during the project

Metrics for the Size of a Product Lines of Code (LOC) Software Science Function Points COCOMO

Lines of Code Lines of code (LOC), or Thousand delivered source instructions (KDSI) –Source code is only a small part of the total software effort –Different languages lead to different lengths of code –LOC is not defined for nonprocedural languages (like LISP) –It is not clear how to count lines of code Executable lines of code? Data definitions? Comments? JCL statements? Changed/deleted lines? –Not everything written is delivered to the client

Lines of Code LOC is known when the product finished Estimation based on LOC is doubly dangerous –To start the estimation process, LOC in the finished product must be estimated –The LOC estimate is then used to estimate the cost of the product — an uncertain input to an uncertain cost estimator

Software Science Metrics based on the number of operands, operators Limited predictive power—metrics can be computed only after the product has been implemented There are major doubts about the validity of Software Science

Metrics for the Size of a Product Metrics based on measurable quantities that can be determined early in software life cycle –Function Points – most widely accepted at this time,

Function Points Based on the number of inputs ( Inp ), outputs ( Out ), inquiries ( Inq ), master files ( Maf ), interfaces ( Inf ) For any product, size in “function points” is given by FP = 4  Inp + 5  Out + 4  Inq + 10  Maf + 7  Inf Oversimplification of a 3-step process.

Function Points (contd) 1.Classify each component of product ( Inp, Out, Inq, Maf, Inf ) as simple, average, or complex. –Assign the appropriate number of function points –The sum gives UFP (unadjusted function points)

Function Points (contd) 2.Compute the technical complexity factor ( TCF ) –Assign a value from 0 (“not present”) to 5 (“strong influence throughout”) to each of 14 factors such as transaction rates, portability –Add 14 numbers  total degree of influence ( D I ) TCF =  DI –Technical complexity factor ( TCF ) lies between 0.65 and 1.35

Function Points (contd) 3.The number of function points ( FP ) is given by FP = UFP  TCF

Analysis of Function Points Function points are usually better than KDSI—but there are some problems “Errors in excess of 800% counting KDSI, but only 200% in counting function points” (Jones, 1987) Like FFP, maintenance can be inaccurately measured

Mk II function points Intended to compute UFP more accurately Decompose software into component transactions, each consisting of input, process, and output Widely used all over the world

Techniques of Cost Estimation Expert judgment by analogy Experts compare target product to completed products –Guesses can lead to hopelessly incorrect cost estimates –Experts may recollect completed products inaccurately –Human experts have biases –However, results of estimation by a broad group of experts may be accurate

Techniques of Cost Estimation (contd) Bottom-up approach Break the product into smaller components –The smaller components may be no easier to estimate –Process-level costs

Techniques of Cost Estimation (contd) Algorithmic models The metric used as an input to a model to compute cost, duration –An algorithmic model is unbiased, and superior to expert opinion –However, estimates are only as good as the underlying assumptions Examples –SLIM Model –Price S Model –COnstructive COst MOdel (COCOMO)

How to Plan Software Development State problem clearly (Specification Phase) Determine viable solution strategies (Specification Phase) Should client be advised to computerize? –Cost–benefit analysis If so, which viable solution strategy? Decide by –Minimizing total cost to client, or –Maximizing total return on investments, or –Other methods Develop SPMP for the product as whole

Software Project Management Plan (SPMP) Determine work units Estimate resources required Draw up budget Come up with detailed timetable

Framework for SPMP IEEE Standard –Standard widely agreed upon –Designed for use with all types of software product –Advantages of standardization

IEEE SPMP

Planning of Testing The SPMP must explicitly state what testing is to be done –Traceability –All black box test cases must be drawn up as soon as possible after specifications are complete

Planning of Object-Oriented Projects Object-oriented product consists of largely independent pieces Planning is somewhat easier The whole is more than the sum of its parts Use COCOMO II (or modify intermediate COCOMO estimators) – CS460

Planning of Object-Oriented Projects However, reuse destroys everything –Reuse of existing components during development –Production of components for future reuse These work in opposite directions Newer data: savings outweigh costs

Training Requirements “We don’t need to worry about training until the product is finished, and then we can train the user” –Training is generally needed by the members of the development group, starting with training in software planning –A new software development method necessitates training for every member of the group –Introduction of hardware or software tools of any sort necessitates training –Programmers may need training in the operating system and/or implementation language –Documentation preparation training may be needed –Computer operators require training

Documentation Standards How much documentation is generated by a product? –IBM internal commercial product (50 KDSI) 28 pages of documentation per KDSI –Commercial software product of same size 66 pages per KDSI –IMS/360 Version 2.3 (about 166 KDSI) 157 pages of documentation per KDSI –(TRW) For every 100 hours spent on coding activities, 150– 200 hours were spent on documentation-related activities

Types of Documentation Planning Control Financial Technical Source code Comments within source code

Documentation Standards Reduce misunderstandings between team members Aid SQA Only new employees have to learn standards Standards assist maintenance programmers Standardization is important for user manuals

Testing during the Planning Phase We must check the SPMP as a whole Paying particular attention to the duration and cost estimates