0% found this document useful (0 votes)
7 views

04 Project Estimation

The document outlines various estimation methods for software development and project management, including the Delphi Technique, story points, and function points. It discusses factors affecting project costs, staffing, and pricing, emphasizing the importance of accurate estimation for resource allocation and project success. Additionally, it highlights the use of historical data, expert judgment, and algorithmic cost modeling in improving estimation accuracy.

Uploaded by

denandasiri12
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

04 Project Estimation

The document outlines various estimation methods for software development and project management, including the Delphi Technique, story points, and function points. It discusses factors affecting project costs, staffing, and pricing, emphasizing the importance of accurate estimation for resource allocation and project success. Additionally, it highlights the use of historical data, expert judgment, and algorithmic cost modeling in improving estimation accuracy.

Uploaded by

denandasiri12
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

ISAD357SL

Software Development and


Project Management
Craig Banyard
Centre for Security Communications and Network Research
craig.banyard@plymouth.ac.uk
Outline
1 Collect Feedback

2 Background to Estimation

Estimation Methods
3 • Delphi Technique
• Story points
• Function Points
Estimation Questions
o How much effort in person months (PM), time (in months), resource
(e.g. people, cost) is required for our project?

o 3 people for 4 months = 12 PM


o 4 people for 3 months = 12 PM
o 6 people for 2 months = 12 PM
Cost Estimation
o When will we need staff and how many?

o What factors affect staff productivity?

o What properties of the product (e.g. size, constraints, type) and


process need to be understood or estimated in order to answer the
above questions?
o And how do these properties relate to these questions?

o How much should we charge the customer?


Project costs
o Hardware and software costs

o Travel and training costs

o Effort costs: salaries, insurance, pension, overheads (buildings,


lighting, heating, ect…)
o Dominant factor

o Effort cost is typically twice the gross salary


o £30,000 per annum ~ £40 per hour
Factors affecting cost
o Reuse of code – write less of it

o Avoid reworking – get it right first time


o Good Quality Assurance processes
o Prototyping
o Good programming practices

o Use tools – they save work, make work more efficient

o Get best people – better value for money


Project staffing
o A critical issue

o May not be possible to appoint the ideal people to work on a


project
o Secondment of staff to your project
o Development of existing staff
o Budget
o Availability

o You will have to work within these constraints


Software pricing factors
o Broader organisational, economic, political and business
considerations influence the price charged

o Market opportunity lower


o Cost estimation uncertainty increase
o Contractual terms lower
o Requirements volatility lower
o Financial health lower
Estimation Techniques
o Applying Delphi Techniques
o Extrapolation based on how similar this project is to previous
projects
o Study historical data
o Seeking expert’s advice
o Pricing to win
o Top level or Bottom up estimation
Delphi Technique

• Group technique that


extracts and
summarises the
knowledge of the group
to arrive at an estimate
• Three passes are made
Activity – Exercise 1
o Estimate how much rain you think will fall in November
Extrapolation
o AKA: estimation by analogy
o Cost computed by comparison with similar project in the same
application domain
o Accurate if project data is available and good records have
been kept
o Impossible if no comparable project has been tackled
o Impossible if data has not been systematically and carefully
recorded
o Does not factor in organisational learning – many do not learn!
Historical Data
o Feasible if robust project tools in use
o Github / Visual Studio Team Foundation Server
o Trello
o Atlassian

o Requires data about the context, people, characteristics of the


task, skillsets required

o Measures require standardisation – make sure you are


measuring the same thing
Expert Judgement
o One or more experts in the application domain predict how
much it will cost
o Cheap if you have the experts
o Can be accurate if they have direct experience of similar
systems
o They are likely to be using an analogy
o Inaccurate if you have no real experts
o New methods, techniques, people, situations may invalidate the
prior experience
Pricing to win
o Costs are not really estimated but a figure is created in order to
win the contract

o Advantage is that you get the contract

o Disadvantage is that the customer is unlikely to get what they


wanted, costs do not accurately reflect the work required
Top Level Estimation
o Assesses the overall system functionality
o Remember your Product Roadmap?

o Can be used without knowing the system architecture or


components
o So can be used early

o Disadvantage is that you can underestimate the cost of solving


difficult low-level technical problems
Bottom up
o Used when you know the system architecture and components
have been identified
o Estimate the cost/size for each component (and sum)
o Cannot be used early
o Accurate if a detailed system design is available

o May underestimate the system level costs


o E.g. Integrating
Story points

• Story points are used in the agile world


• They give relative values in a Fibonacci-like
format
• Teams get together to discuss their estimates
• Generating discussion about what needs
to be done
• Planning poker
• Team takes an item from the backlog
• Discusses it
• Each team member thinks of an estimate
• Everybody holds up a card with their
estimate
• Further discussion takes place
Activity – Exercise 2
o Consider the user story
o ”As a host I need to make a cup of tea for my guest”

o Each of you write a number on a menti.com that estimates the


length of time in minutes

o Discuss
o Why did you decide that number?
o Who takes the longest? Why?
o Who is the quickest? Why?
Size and Productivity
o Size of system, size of team, productivity of team all affect the
cost, effort and schedule

o Productivity (PROD) = rate of production of:


o Software and associated documentation
o Useful functionality
!"# !"#
o PROD = so PM =
$% $&'(
o Metrics based on volume/unit time do not take quality into account
o Productivity could be increased but at the cost of quality
Productivity measures
o Lines of code (LOC) – number of object code instructions
o Difficult to determine what counts as a line of code
o Productivity could vary by language
o Assembly vs Java!

o Refers to source code

!"#
o PROD = $%
o Real time embedded systems 40 – 160
o Systems programs 150 – 400
o Commercial applications 200 – 800
Functions points
o Measures of software functionality overcome the issues around
measuring lines of code
o Function points
o Object points
o Use case points

o An established method for estimating size of programs independently of


their programming languages
o Uses set of system characteristics to give weightings
o Now used in agile when looking at Story points

https://www.softwarevalue.com/insights/blog/posts/2016/January/is-
function-point-analysis-valuable-in-agile-environment/
Unadjusted Function point Count
(UFC)
Simple Average Complex
Input transactions 3 4 6
Output transactions 4 5 7
User inquiries 3 4 6
Internal Files 7 10 15
External interfaces to other 5 7 10
systems
Object Points
o NOP (Number Object Points) is a weighted estimate of the
following:
o Number of separate screens displayed
o simple = 1; moderately complex = 2; v.complex = 3
o Number of reports produced
o simple = 2; moderately complex = 5; v.complex/difficult = 8
o Number of modules developed
o each module = 10
Early cost estimation
o Function points allow costs to be estimated early on in the
development process

o Object points are easier to estimate from a specification than


function points
o Easier to decompose the user stories
Algorithmic cost modelling
o Effort is estimated using a numerical formula or model
o Formula typically uses an assessment of size and other
product/process cost factors
o Models need tuning to the environment / project
o Underlying assumptions made in the development of the model
are important
o E.g. Type of system
o E.g. Standards of measurement
COCOMO2
o Boehm’s Constructive Cost Model
o Created in late 1970’s
&"$ )**% ,-./-
o PM = $'"( 𝑥 ( )** )
o PM = effort in person months
o NOP = number of object points
o PROD = the productivity
o As object points per person-month
o Based on standard estimates of PROD

https://www.ibm.com/developerworks/library/d-estimation-agile-or-
conventional-trs/index.html
COCOMO2
o Used after the requirements have been agreed
o Estimates based on UFC
o Project/process cost drivers are applied to the measures
o Cost drivers reflect development environment and non-functional
requirement
o Cost drivers can alter PM by up to a factor of 10
Cost Drivers
o Personnel capability
o Product reliability and complexity
o Reuse required
o Platform difficulty
o Personnel experience
o Team support facilities
o Required schedule
Cost models
o Cost models help project planning
o Allow strategies to be compared
o For each strategy the alternative scenarios can be evaluated
along with associated probabilities
o For each strategy and scenario the estimated cost can be
computed using the cost model
o For each strategy the expected cost can be computed thus aiding
decision making
Summary
o Each method has strengths and weaknesses

o Estimation should try several methods


o If results diverge, there is probably insufficient information

o As a sanity check, global estimates should be broken down by


process and compared with typical breakdown costs

o Pricing to win is sometimes the only one suitable


Thank you
Do you have any questions?

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy