35.42M
Category: mathematicsmathematics

Estimations advanced

1.

Zotova Nina

2.

AGENDA
Estimations Introduction
Estimations by Development
Estimations by Test Cases
Estimations by UCP
Estimations in Agile
CONFIDENTIAL
2

3.

CONFIDENTIAL
3

4.

CONFIDENTIAL
4

5.

Режем арбуз на 20 кусков = 10 мин.
Едим 1 кусок = 4 мин
15% на выплёвывание косточек=12 мин
15 мин добежать до туалета
_______________________________________________________
10 мин + 20*4 мин + 12 мин +15 мин = 1 час
57 мин
Нужно подготовить нож, тарелку, мусорное ведро, салфетки.
Это займёт 10 минут.
_______________________________________________________
Итого я съем арбуз за 2 часа.

6.

THE TRIANGLE RULE

7.

HOW ESTIMATE
Resources
Scope
У нас хорошая
документация (SRS)?
yes
yes
Есть статистика?
no
no
УГАДАЕМ?!
CONFIDENTIAL
yes
Точные методы
no
no
Есть обобщенное
представление?
У нас есть подобный
опыт или эксперты с
подобным опытом?
yes
Грубые оценки
Not our
way!
7

8.

TROUBLES
- no method gives estimation
correct on 100%
- every estimation has
SUBJECTIVE component
IT’S NORMAL !
CONFIDENTIAL
8

9.

Bad News: People too optimistic
CONFIDENTIAL
9

10.

300 days??? It’s too much!
Bad News: Customers too
pessimistic
CONFIDENTIAL
10

11.

SOLUTION
Show more details and get time
Negotiate scope
(something becomes out)
Do what you can
in time you have
CONFIDENTIAL
11

12.

CONFIDENTIAL
12

13.

PROJECT
Developers
Testers
CONFIDENTIAL
13

14.

Relationship
N of
developers
N of testers
Size of
project
CONFIDENTIAL
14

15.

Testing working days = (Development working days) / 3
Testing engineers = (Development engineers) / 2
Test cases, test environment =10 days
Developers
4 Dev
66 Days
Testers
2 testers
22 days
Why not 32
days?
Project duration= 66 + 22 = 88 days
Testing: 22 + 10 = 32 days
CONFIDENTIAL
15

16.

Advantages
Very simple
Very quick
Minimum information required
Minimum thinking required
CONFIDENTIAL
16

17.

Problems
Is tester – developer ratio constant?
Relationship may be not linear
Not proportional regression
Number of bugs
Productivity of testers
Productivity of developers
Other activities
CONFIDENTIAL
17

18.

When method is useful
No info on functionality
Number of developers known
Past data on testers and developers
available
Various effects can be compared
CONFIDENTIAL
18

19.

When method works
Long-term planning
Very quick, first, approximate estimates
An early estimate for Return-On-Investment
Initial bid submissions
Double-checking other methods
Projects where developer time is sold
CONFIDENTIAL
19

20.

CONFIDENTIAL
20

21.

When New Project Begins…
CONFIDENTIAL
21

22.

Do Estimations
CONFIDENTIAL
22

23.

Think How to Test
CONFIDENTIAL
23

24.

Collect Questions
CONFIDENTIAL
24

25.

Begin Test Cases
CONFIDENTIAL
25

26.

Think how to
test
Do
estimations
CONFIDENTIAL
Begin test cases
When
project
begins
Collect
questions to
clarify
26

27.

Pluses
CONFIDENTIAL
Rather exact
Good to get started with estimations
Easy to justify (no mystic)
Widely used
Proved: works on very DIFFERENT
EPAM projects
27

28.

CONFIDENTIAL
28

29.

Algorithm
Start
Convert to
days
Split to
smaller
pieces
Know your
figures in
this project
Count Test
Cases
Take into account
creation time and
passes
CONFIDENTIAL
End
29

30.

1. Create Test Cases Outline
User
module
Tests
Create
10
Edit
10
Delete
5
Search
7
Integration
with Portal
CONFIDENTIAL
Where
each user
property is
used?
10
Total:
42 tests
• Any format ok
• Divide until you can
count tests in each group
(5-10 tests)
• Think what tests you’ve
missed (regression,
integration)
30

31.

I can’t divide this!
What does it mean?
Probably you’ve just found serious
problem in requirements! Ask
question!
CONFIDENTIAL
31

32.

2. Add Test Cases and Passes
Feature
• Ssom
User module
T.C to create
T.C to pass
Number of passes
Total to pass
30
42
2
84
Some test cases may already exist
Number of passes:
Simple: 1-1.5
Average: 2
Complex: 3, rarely more
CONFIDENTIAL
32

33.

3. Test Cases to Minutes
Depends on tester
– Novice vs. senior
– “exploration” vs. following tests as written
Depends on project
– Application speed
– Steps in a typical test
– Time consuming operations
Depends on test cases format
– Some templates are less convenient than others
You need to know YOUR figure
3-5-10-15-30 min per test
CONFIDENTIAL
33

34.

Learn Your Figure!
Just track it:
• Tests per hour
• Tests per day
• Tests created
• Tests tested
CONFIDENTIAL
34

35.

Example
So, I can pass 1 test in 5 min
30 test cases to create= 30 *5 min=2.5 h
84 tests to pass= 84*5 min=7h
Total: 9.5 h to test
Wrong!
Where’s mistake?
3
CONFIDENTIAL
35

36.

What’s Wrong?
Not included:
Bug reporting, verification
Troubleshooting
Reports
Emails
Meetings
Risks ( illness, build failed, some
tests not counted, development
delays, etc)
• …
CONFIDENTIAL
36

37.

Depending on project/customer:
1. Test cases per day, not per hour
We count average number of tests we pass per normal working
day ( when we do all other activities)
2. Test cases per minute + % for other tasks
At least 25% for other activities
3. Test cases per minute +minutes for EACH other task
Only for short term and clear tasks
• + % for risks
CONFIDENTIAL
37

38.

HOW CAN I DO ESTIMATIONS FOR THE
WHOLE PROJECT?
CONFIDENTIAL
38

39.

CONFIDENTIAL
39

40.

Detailed Requirements
Don’t have Requirements
Estimation by Test Cases
?
Estimation by Use Case
Points
CONFIDENTIAL
40

41.

Troubles
Will not work for
Maintenance project
Little REAL experience in
EPAM
Different formulas exist
Magic parameters
CONFIDENTIAL
41

42.

Benefits
Widely recognized, Used in
testing and development
Doesn’t require detailed
specifications
Works for NEW projects
CONFIDENTIAL
42

43.

Algorithm
Start
Calculate
Adjusted Use
Case Points
Identify,
classify and
weight “actors”
Identify and
Weight
Environmental
Factors
Identify,
classify and
weight use
cases
Identify and
Weight Technical
Factors
CONFIDENTIAL
Converting
Points into
Time
End
43

44.

1. Determine the number of “actors” in the System
UAW =Unadjusted Actor Weights.
End users are simple “actors”
Average actors interact with the system through some protocols
etc. or they could be Data stores.
Complex users are separate systems that interact with the SUT
through an API.
CONFIDENTIAL
44

45.

Actor
Type Definition
Factor
Simple
GUI
1
Average
Interactive, or protocoldriven interface
2
Complex
API/ Low-level interactions
3
2 simple * 1 = 2
2 average * 2 = 4
3 complex * 3 = 9
Total actor weight = 2 + 4 + 9 = 15
CONFIDENTIAL
45

46.

2.IDENTIFY, CLASSIFY AND WEIGHT USE CASES
Use case type
Definition
Factor
Simple
3 or fewer transactions
1
Average
4 to 7 transactions
2
Complex
More than 7 transactions
3
CONFIDENTIAL
46

47.

2.IDENTIFY, CLASSIFY AND WEIGHT USE CASES
E.g.:
25 simple * 1 = 25
20 average * 2 = 40
0 complex * 3 = 0
Total use case weight = 25 + 40 + 0 = 65
UUCP=Unadjusted Use Case Points
UUCP=UAW+UCP
CONFIDENTIAL
47

48.

3.IDENTIFY AND WEIGHT TECHNICAL FACTORS
Technical Factor
Number
Technical Factor
Description
Weight
Value
Weight * Value
T1
Test Tools
5
2
10
T2
Documented inputs
5
3
15
T3
Development Environment
2
3
6
T4
Test Environment
3
1
3
T5
Test-ware reuse
3
2
6
T6
Distributed system
4
1
4
T7
Performance objectives
2
1
2
T8
Security Features
4
0
0
T9
Complex interfacing
5
3
15
T10
Provides direct access for third parties
1
5
5
T11
Special user training facilities are required
1
0
0
CONFIDENTIAL
48

49.

3.IDENTIFY AND WEIGHT TECHNICAL FACTORS
E.g.:
TFactor = Sum of Weight * Value column
TFactor = 66
Technical Complexity Factor (TCF) = 0.6 + (0.01 * TFactor)
TCF = 1.26
CONFIDENTIAL
49

50.

4.IDENTIFY AND WEIGHT ENVIRONMENTAL FACTORS
Environmental
Factor
Number
Environmental Factor
Description
Weight
Value
Weight *
Value
EF1
Familiar with RUP
1.5
1
1.5
EF2
Application experience
0.5
1
0.5
EF3
Object-oriented experience
1
1
1
EF4
Lead analyst capability
0.5
5
2.5
EF5
Motivation
1
5
5
EF6
Stable requirements
2
5
10
EF7
Part-time workers
-1
0
0
E.g.:
EF-Factor = Sum of (Weight * Value) column
EF-Factor = 20.5
Environmental Complexity Factor (ECF) = 1.4 + (-0.03 * EF-Factor)
ECF = 0.78
CONFIDENTIAL
50

51.

5.CALCULATE ADJUSTED USE CASE POINTS
Use Case Points are calculated using this formula:
UCP = UUCP * TCF * ECF
We use the same formula as in the UCP method for
development
E.g.:
UCP = UUCP * TCF * ECF
UCP = 80 * 1.26 * 0.78
UCP = 78.62 (78)
CONFIDENTIAL
51

52.

CONVERTING POINTS INTO TIME
Karner:
• 1 UCP= 20-28 hours
• 1 week=35 hours
• Add 25% for risks
N. Miranovich (Epam reality):
• 1 UCP=20 hours
• 1 week= 40 hours
CONFIDENTIAL
52

53.

SUMMARY. PROS AND CONS
This UCP Method gives us concept about testing time for the project you estimate
But!!! Often we have a lot of problems in using this method without any other methods
and factors because:
We don’t have clear use case specifications and user requirements
We couldn’t predict how complex some parts of functionality would be
We couldn’t predict how many roles and how complex they would be
We couldn’t know real technical and human factors for future project
We should consider other estimation methods. We should take into account common
development process of the application, planned people amount (developers/testers),
project schedule, activities and cost and other factors.
CONFIDENTIAL
53

54.

CONFIDENTIAL
54

55.

в Release
пингвинах
planning
Iteration
в часах
planning
CONFIDENTIAL
55

56.

Оценка в часах
Оценка в пингвинах, крокодилах,
попугаях…
1. Выбираем эталон в 5 пингвинов.
2. Оцениваем все «хотелки»
сравнивая с эталоном.
3. Отталкиваясь от известного
«быстродействия» отбираем
нужное количество «хотелок».
CONFIDENTIAL
56

57.

Чем меньше задача, тем точнее оценка:
Разбивайте большие хотелки на
меньшие
Для каждой хотелки расписывайте
набор задач.
Оценивайте каждую задачу.
Оценивает тот, кто будет тестировать.
CONFIDENTIAL
57

58.

PLANNING POKER
1. Customer describe the
story
2. Everybody gives a card
3. Estimate approx. the
same – set this estimate
4. Estimate extremely
different
1.
2.
3.
Review min estimate
Review max estimate
Ask Customer for info
5. GO TO 2
CONFIDENTIAL
58

59.

Всем спасибо за внимание!
CONFIDENTIAL
59
English     Русский Rules