Or are they really guidelines?

Slides:



Advertisements
Similar presentations
GPII-2A Planning a software project: Estimation & Measurement.
Advertisements

SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Copyright © 2007 Pearson Education Canada 1 Chapter 12: Audit Sampling Concepts.
Box & Whisker Plots SDAP 1.3 (Understand the meaning of, and be able to compute the minimum, the lower quartile, the median, the upper quartile, and the.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Software Estimation How hard can it be? Peter R Hill.
Software cost estimation Predicting the resources required for a software development process 1.
Slide 1 Project Management Chapter 4. Slide 2 Objectives ■ Become familiar with estimation. ■ Be able to create a project workplan. ■ Become familiar.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
Software Project Planning Part II. Troutman's Postulates Profanity is the one language understood by all programmers. Not until a program has been in.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
Auditing: The Art and Science of Assurance Engagements Chapter 13: Audit Sampling Concepts Copyright © 2011 Pearson Canada Inc.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
What’s with all those numbers?.  What are Statistics?
Copyright © Curt Hill Loop Types and Construction Logical types and construction hints.
Copyright © Curt Hill Minimization Arbitrary Truth Table to Minimal Function.
FUNCTION POINT ANALYSIS & ESTIMATION
Copyright © 2014 Curt Hill Algorithms From the Mathematical Perspective.
Copyright © 2016 Curt Hill Enterprise Resource Planning Systems ERPs Rule!
Software Engineering, COMP201 Slide 1 Software Engineering CSE470.
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
Systems Acquisition Process Acquiring software The Business Perspective Copyright © 2016 Curt Hill.
THE FAMU-CIS ALUMNI SYSTEM
Why is software engineering worth studying?
Project Management Chapter 3.
What every server wants!
Shopper Traffic Case Study:
Software Testing An Introduction.
Sizing With Function Points
For University Use Only
eXtremely Distributed Software Development
The Effects on Development
Introduction to Testing Design Strategies – The Smarter Tester
Are they better or worse than a B+Tree?
Chapter 2 SW Process Models
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Project Planning &
Software Development & Project Management
Chapter 6: CPU Scheduling
CEN 4021 Software Engineering II
Personal Software Process Software Estimation
Alpha-Beta Search.
Gathering and Organizing Data
Chapter 5: Software effort estimation- part 2
Chapter 5: Software effort estimation
Critical Path Method Farrokh Alemi, Ph.D.
Software Metrics “How do we measure the software?”
Coding Concepts (Basics)
COCOMO Models.
A Robust Data Structure
Alpha-Beta Search.
Based on Chapter 5 of the book [McConnell 2006]
Alpha-Beta Search.
Notice! This file is a ‘disabled’ file. It is not complete. Slides have been left out and other info is lacking. I have posted this file for general information.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
The Computer Skills Divide
Section 13.4 Measures of Central Tendency
Applied Software Project Management
Active Learning Lecture Slides For use with Classroom Response Systems
Alpha-Beta Search.
Gathering and Organizing Data
Software Effort Estimation
Integrated Math 2 - Santowski
Making the Business Case for an IT System
Friction 2 Rolling Objects Classroom Lecture LabRat Scientific © 2018.
Chapter 26 Estimation for Software Projects.
Alpha-Beta Search.
Presentation transcript:

Or are they really guidelines? Software Project Laws Or are they really guidelines? Stole this from a blog post, but lost the citation. Shameless plagiarism Copyright © 2017 Curt Hill

Introduction The modern enterprise is dependent on software Most of these do not do much development Those that do must understand that a development project is subject to certain laws Just like the moving things must obey the laws of physics Copyright © 2017 Curt Hill

Five Laws Laws: We can now unpack these Every software project has a minimum development time Schedule and cost do not trade off evenly Projects grow Small teams are more productive Allow sufficient time and effort for analysis and design We can now unpack these Copyright © 2017 Curt Hill

Minimum Time Every software project has a minimum development time It does not matter what you believe, what your manager believes, what marketing believes or what the CEO/CIO believes Things that cannot change this: Pouring unlimited amounts of money into the project Increasing the number of people Most common source of failure is unrealistic expectations Copyright © 2017 Curt Hill

Tradeoffs Schedule and cost do not trade off evenly There are a range of possible schedules With associated costs Tighter schedules generally result in higher cost and lower quality One of the problems is communication The more staff the harder the communication Copyright © 2017 Curt Hill

Staff and Communication Two team members One communication line Four team members Six communication lines Six team members Fifteen communication lines The communication lines to not go up linearly Copyright © 2017 Curt Hill

Other Problems Besides the communication problems it gets worse when development staff are added once the project is started Someone has to stop doing productive work and bring the new members up to speed It is also not always possible to keep everyone busy Workload is not always there, especially at beginning and end They may be waiting on someone else Copyright © 2017 Curt Hill

Projects grow Most software projects are also knowledge acquisition projects You do not know everything that you need to know Exception: Re-implementing a well known system The estimation process is dependent on what is known When new things are discovered the estimate necessarily increases Copyright © 2017 Curt Hill

Growth Factors Similar to the lack of knowledge is the notion that a high level requirement may become a much more complicated implementation New requirements are often added Budget is not usually adjusted Most enterprises want a budget prior to the start They never want to increase it Copyright © 2017 Curt Hill

Survey Says A 2007 survey verifies this On average: Scope increases by 15% Schedule by 8% Cost/effort by 16% You should fight scope creep, but it is not always possible to win this fight Copyright © 2017 Curt Hill

Smaller teams Small teams are more productive We already have seen the problem with communication Management often increases the staff in the face of schedule slippage This often has the opposite effect Increases the budget but does not hasten delivery Studies show this Need a little digression on Function Points Copyright © 2017 Curt Hill

Function Points Start with user requirements Each requirement is categorized into one of five classes Inputs Outputs Inquiries Internal files External interfaces Next each is evaluated for complexity Simple, average or complex Copyright © 2016-2017 Curt Hill

Points For each class, obtain a count Given a type and a complexity we obtain a point score by multiplying the count by lookup from table Class\Complexity Simple Average Complex Inputs 3 4 6 Outputs 5 7 Inquiry Internal Files 10 15 External Interfaces Copyright © 2016-2017 Curt Hill

The Study Conducted by Quantitative Software Management (www.qsm.com) They separated more than 2000 projects into groups based on number of function points Of the projects in a group they considered staffing sizes of the project They broke them into four equal sized pieces Then compared the largest quarter and smallest quarter http://www.qsm.com/blog/2013/staff-project Copyright © 2017 Curt Hill

Table of Results Productivity is in Function Points per Person Month FP Sizes Lowest Quarter Highest Quarter Ratio 1-100 7.17 2.57 2.77 : 1 101-200 13.68 2.83 4.83 : 1 201-300 17.44 3.15 5.54 : 1 301-500 27.15 3.96 6.86 : 1 501-1000 34.96 4.35 8.04 : 1 Copyright © 2017 Curt Hill

Median Schedule Months by Staffing Quartile Group Size by FP Smallest Second Third Largest 1-100 5.75 6.10 5.9 5.77 101-200 6.48 7.10 6.8 6.7 201-300 6.85 7.03 7.85 7.07 301-500 7.45 6.97 8.22 8.17 501-1000 7.77 7.33 8.3 9.1 Copyright © 2017 Curt Hill

Commentary Hard to do a very rigorous study since every project and staff is different Function points are not completely objective Yet we see that adding staff only adds cost Only occasionally does the schedule shorten Copyright © 2017 Curt Hill

Look Before You Leap Allow sufficient time and effort for analysis and design Aggressive schedules tend to make people anxious One of the results is attempting to start coding before analysis and design are done This usually results in: More code being discarded More code revised or left with defects Copyright © 2017 Curt Hill

Another QSM Study Projects that put in more than the average amount of time and effort into analysis and design had several characteristics Finished earlier Cost less Developers were more productive Fewer defects were in the products Copyright © 2017 Curt Hill

Conclusions Software development projects are not like construction projects Throwing more money or people at them does not pay Smaller teams do better than larger teams Quality cannot be rushed Software project management needs to understand these differences Copyright © 2017 Curt Hill