You are on page 1of 23

Software Estimation

Measuring Work and Time


Why do we need to
Estimate?
Could Do Vs. Will Do
Initial Design Features List Actual Design Features List

Fully physical inventory system Modular inventory system (reduced workload)


7 interactable object classes 5 interactable object classes
16 ~ 20 possible endings 10 endings
Derivative dialogue trees based on player 4 set dialogue trees for all NPCs
character choice 3 playable characters
4 playable characters
Develop Focused
Testing Focused
Build Delivery
Initial Timeline Expectation

Feature 1 2 4 5 6 7 8 9 10 11 12 13 14 15 16

Inv. System

Interactable
Objects
Player
Routes
(Endings)
Dialogue
System
Playable
Characters
Develop Focused
Testing Focused
Build Delivery
Actual Timeline

Feature 1 2 4 5 6 7 8 9 10 11 12 13 14 15 16

Inv. System

Interactable
Objects
Player
Routes
(Endings)
Dialogue
System
Playable
Characters
What Happened?
• No leeway for unexpected issues

• No prior feasibility and estimations done on key features in the list

• Problematic expectations on developer capability

• Very little understanding of dependency and project architecture

• Vague systems documentation


What is Estimation?
Software Estimation

Definition : “The process by which estimates are Game development definition : “The process used to
created, in a work-per-person format, which details create the number of hours required to implement
how long it would take to create, maintain or update certain features or mechanics, with appropriate time
software” for development and testing”
Estimation Strategies
Software
Estimation
• Strategy Types :
● Feature-based Estimation
● Statistical Estimation
● Three-point Estimation

• Estimation types are based on


how estimates are generated, and
each has their own pros and cons
Terms Defined

Project Requirements : Features / Work Breakdown Structure Feature Scope : The scope of a
Elements that are ABSOLUTELY (WBS) : A list of all tasks that each certain feature, how much it should
required to complete the project project requirement will need for cover and what should be in it
completion
Feature Based
Estimation Strategies
“How long does it take to do something?”
Key Points
These strategies require a Documentation (E.g. GDD / TDD / Systems Documents
/ etc.)
Feature List composed from a Project requirements (E.g. Client requirements /
Milestone objectives)
solid foundation of design The more detailed the list, the better the estimations

This type of estimation is best used in tandem with Kanban


type workflow breakdown structures

Major weakness of the strategy is that it relies on quality of


staff.
Planning Poker
Get estimates from key
people in the team
• Lead Dev Establish a min-max for Discuss with the team on
Create / Get features list
• Lead Artist each feature feature estimates
• Etc.

Agree on an estimate per Consolidate the list and Integrate WBS tasks into
feature generate a WBS the main workflow

Recommendation : Produce a Gantt chart from the WBS for visualization


Planning Poker
Pros Cons
• Thorough • Relies on the entire team to estimate

• Improves estimation skills of the entire team • Requires a lot of time

• Highly visible and relatively accurate


Three-Point Estimation
Strategies
“Optimistic, Pessimistic, Realistic”
Three Point Method
Create three timelines
For each feature, set a Min- • Minimum estimate For each feature, pick an
• Average estimate
Create / Get features list Avg-Max estimate for all estimate based on timeline
• Maximum estimate
features requirements

Create a new timeline with


the chosen estimates and
From the validated Integrate the tasks from the
verify this timeline with
timeline, create the WBS WBS into the workflow
the project manager or
producer

Recommendation : Produce a scatter plot from the features list for visualization
Three Point Method
Pros Cons
• Fast • Relies on the ONE person to estimate

• Promotes quick revisions • High risk of low accuracy

• Good for obscure projects with large task


loads
Statistical Estimation
Strategies
“We did it before, how long did that take?”
Analogous Estimation
1. Create features list

2. Identify and collate a list of 3 – 5 projects like the one


currently being estimated

3. Compare current features from the feature list to


previously implemented features. Base estimations on the
length of time it took to complete the features in the
reference project.
1) Adjust estimate on differentiating factors (Scope
differences, manpower, timeframe, etc.)
2) Always aim for a large sample size to generate more
accurate estimations
3) Leave room in estimations for possible unforeseen
circumstances

4. Create WBS based on the estimations on all features

5. Integrate tasks from WBS to current workflow


Analogous Estimation
Pros Cons
• The most accurate of the methods discussed • Prone to edge-case misestimations

• The more it is used the more accurate it • Can only be used in medium to large scale
becomes contexts

• Can be automated with task tags / categories


Estimation Exercises

Yes this is homework, technically…shush!


Create a feature list from any of your current
projects and, using one of the estimation
strategy types discussed, create a work
breakdown structure based on it.

The ideal output would be the features list and


the estimations of each feature in the list.

Next meeting : Evaluation of estimates.

You might also like