Similar presentations:
Estimations advanced
1.
Zotova Nina2.
AGENDAEstimations Introduction
Estimations by Development
Estimations by Test Cases
Estimations by UCP
Estimations in Agile
CONFIDENTIAL
2
3.
CONFIDENTIAL3
4.
CONFIDENTIAL4
5.
Режем арбуз на 20 кусков = 10 мин.Едим 1 кусок = 4 мин
15% на выплёвывание косточек=12 мин
15 мин добежать до туалета
_______________________________________________________
10 мин + 20*4 мин + 12 мин +15 мин = 1 час
57 мин
Нужно подготовить нож, тарелку, мусорное ведро, салфетки.
Это займёт 10 минут.
_______________________________________________________
Итого я съем арбуз за 2 часа.
6.
THE TRIANGLE RULE7.
HOW ESTIMATEResources
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 optimisticCONFIDENTIAL
9
10.
300 days??? It’s too much!Bad News: Customers too
pessimistic
CONFIDENTIAL
10
11.
SOLUTIONShow more details and get time
Negotiate scope
(something becomes out)
Do what you can
in time you have
CONFIDENTIAL
11
12.
CONFIDENTIAL12
13.
PROJECTDevelopers
Testers
CONFIDENTIAL
13
14.
RelationshipN of
developers
N of testers
Size of
project
CONFIDENTIAL
14
15.
Testing working days = (Development working days) / 3Testing 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.
AdvantagesVery simple
Very quick
Minimum information required
Minimum thinking required
CONFIDENTIAL
16
17.
ProblemsIs 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 usefulNo info on functionality
Number of developers known
Past data on testers and developers
available
Various effects can be compared
CONFIDENTIAL
18
19.
When method worksLong-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.
CONFIDENTIAL20
21.
When New Project Begins…CONFIDENTIAL
21
22.
Do EstimationsCONFIDENTIAL
22
23.
Think How to TestCONFIDENTIAL
23
24.
Collect QuestionsCONFIDENTIAL
24
25.
Begin Test CasesCONFIDENTIAL
25
26.
Think how totest
Do
estimations
CONFIDENTIAL
Begin test cases
When
project
begins
Collect
questions to
clarify
26
27.
PlusesCONFIDENTIAL
Rather exact
Good to get started with estimations
Easy to justify (no mystic)
Widely used
Proved: works on very DIFFERENT
EPAM projects
27
28.
CONFIDENTIAL28
29.
AlgorithmStart
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 OutlineUser
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 PassesFeature
• 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 MinutesDepends 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.
ExampleSo, 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 THEWHOLE PROJECT?
CONFIDENTIAL
38
39.
CONFIDENTIAL39
40.
Detailed RequirementsDon’t have Requirements
Estimation by Test Cases
?
Estimation by Use Case
Points
CONFIDENTIAL
40
41.
TroublesWill not work for
Maintenance project
Little REAL experience in
EPAM
Different formulas exist
Magic parameters
CONFIDENTIAL
41
42.
BenefitsWidely recognized, Used in
testing and development
Doesn’t require detailed
specifications
Works for NEW projects
CONFIDENTIAL
42
43.
AlgorithmStart
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 SystemUAW =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.
ActorType 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 CASESUse 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 CASESE.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 FACTORSTechnical 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 FACTORSE.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 FACTORSEnvironmental
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 POINTSUse 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 TIMEKarner:
• 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 CONSThis 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.
CONFIDENTIAL54
55.
в Releaseпингвинах
planning
Iteration
в часах
planning
CONFIDENTIAL
55
56.
Оценка в часахОценка в пингвинах, крокодилах,
попугаях…
1. Выбираем эталон в 5 пингвинов.
2. Оцениваем все «хотелки»
сравнивая с эталоном.
3. Отталкиваясь от известного
«быстродействия» отбираем
нужное количество «хотелок».
CONFIDENTIAL
56
57.
Чем меньше задача, тем точнее оценка:Разбивайте большие хотелки на
меньшие
Для каждой хотелки расписывайте
набор задач.
Оценивайте каждую задачу.
Оценивает тот, кто будет тестировать.
CONFIDENTIAL
57
58.
PLANNING POKER1. 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