Estimations advanced

Содержание

Слайд 2

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

AGENDA

Estimations Introduction

Estimations by Test Cases

Estimations by UCP

Estimations by Development

Estimations in Agile

Слайд 3

Estimations Introduction

Estimations Introduction

Слайд 4

What time do you need to eat the WATERMELON?

What time do you need to eat the WATERMELON?

Слайд 5

Режем арбуз на 20 кусков = 10 мин. Едим 1 кусок

Режем арбуз на 20 кусков = 10 мин.
Едим 1 кусок =

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

THE TRIANGLE RULE

THE TRIANGLE RULE

Слайд 7

У нас хорошая документация (SRS)? У нас есть подобный опыт или

У нас хорошая
документация (SRS)?

У нас есть подобный опыт или эксперты

с подобным опытом?

Точные методы

Есть обобщенное
представление?

Есть статистика?

Грубые оценки

УГАДАЕМ?!

yes

yes

no

no

no

yes

yes

no

Scope

Resources

Not our way!

HOW ESTIMATE

Слайд 8

TROUBLES - no method gives estimation correct on 100% - every

TROUBLES

- no method gives estimation correct on 100%
- every

estimation has SUBJECTIVE component

IT’S NORMAL !

Слайд 9

Bad News: People too optimistic

Bad News: People too optimistic

Слайд 10

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

300 days??? It’s too much!

Bad News: Customers too pessimistic

Слайд 11

SOLUTION

SOLUTION

Слайд 12

Estimations by Development

Estimations by Development

Слайд 13

PROJECT Testers Developers

PROJECT

Testers

Developers

Слайд 14

Relationship

Relationship

 

Слайд 15

Testing working days = (Development working days) / 3 Testing engineers

Testing working days = (Development working days) / 3
Testing engineers =

(Development engineers) / 2
Test cases, test environment =10 days

Project duration= 66 + 22 = 88 days
Testing: 22 + 10 = 32 days

2 testers

22 days

Why not 32 days?

Слайд 16

Advantages Very simple Very quick Minimum information required Minimum thinking required

Advantages

Very simple

Very quick

Minimum information required

Minimum thinking required

Слайд 17

Is tester – developer ratio constant? Problems Relationship may be not

Is tester – developer ratio constant?

Problems

Relationship may be not linear

Not proportional

regression

Number of bugs

Productivity of testers

Productivity of developers

Other activities

Слайд 18

When method is useful No info on functionality Number of developers

When method is useful

No info on functionality
Number of developers known
Past data

on testers and developers available
Various effects can be compared
Слайд 19

Projects where developer time is sold When method works Long-term planning

Projects where developer time is sold

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

Слайд 20

Estimations by Test Cases method

Estimations by Test Cases method

Слайд 21

When New Project Begins…

When New Project Begins…

Слайд 22

Do Estimations

Do Estimations

Слайд 23

Think How to Test

Think How to Test

Слайд 24

Collect Questions

Collect Questions

Слайд 25

Begin Test Cases

Begin Test Cases

Слайд 26

Слайд 27

Rather exact Good to get started with estimations Easy to justify

Rather exact
Good to get started with estimations
Easy to justify (no mystic)
Widely

used
Proved: works on very DIFFERENT EPAM projects

Pluses

Слайд 28

Слайд 29

Algorithm

Algorithm

Слайд 30

1. Create Test Cases Outline Any format ok Divide until you

1. Create Test Cases Outline

Any format ok
Divide until you can count

tests in each group (5-10 tests)
Think what tests you’ve missed (regression, integration)
Слайд 31

I can’t divide this! What does it mean? Probably you’ve just

I can’t divide this!
What does it mean?

Probably you’ve just found

serious problem in requirements! Ask question!
Слайд 32

Ssom Some test cases may already exist Number of passes: Simple:

Ssom
Some test cases may already exist
Number of passes:
Simple: 1-1.5
Average: 2
Complex:

3, rarely more

2. Add Test Cases and Passes

Слайд 33

Depends on tester Novice vs. senior “exploration” vs. following tests as

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

3. Test Cases to Minutes

Слайд 34

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

Just track it:
Tests per hour
Tests per day
Tests created
Tests tested

Learn Your Figure!

Слайд 35

So, I can pass 1 test in 5 min 30 test

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?

Example

Слайд 36

What’s Wrong? Not included: Bug reporting, verification Troubleshooting Reports Emails Meetings

What’s Wrong?

Not included:
Bug reporting, verification
Troubleshooting
Reports
Emails
Meetings
Risks ( illness, build failed, some tests

not counted, development delays, etc)

Слайд 37

Depending on project/customer: Test cases per day, not per hour We

Depending on project/customer:
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)
Test cases per minute + % for other tasks
At least 25% for other activities
Test cases per minute +minutes for EACH other task
Only for short term and clear tasks
+ % for risks
Слайд 38

HOW CAN I DO ESTIMATIONS FOR THE WHOLE PROJECT?

HOW CAN I DO ESTIMATIONS FOR THE WHOLE PROJECT?

Слайд 39

Estimations by UCP methods

Estimations by UCP methods

Слайд 40

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

Detailed Requirements

Estimation by Test Cases

Don’t have Requirements

?

Estimation by Use Case Points

Слайд 41

Troubles Will not work for Maintenance project Little REAL experience in

Troubles

Will not work for Maintenance project
Little REAL experience in EPAM
Different

formulas exist
Magic parameters
Слайд 42

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

Benefits

Widely recognized, Used in testing and development
Doesn’t require detailed specifications
Works

for NEW projects
Слайд 43

Start Identify, classify and weight “actors” Identify, classify and weight use

Start

Identify, classify and weight “actors”

Identify, classify and weight use cases


Identify and Weight Technical Factors

Identify and Weight Environmental Factors

Calculate Adjusted Use Case Points

End
Converting Points into Time

Algorithm

Слайд 44

1. Determine the number of “actors” in the System UAW =Unadjusted

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.
Слайд 45

2 simple * 1 = 2 2 average * 2 =

2 simple * 1 = 2 2 average * 2 = 4 3

complex * 3 = 9 Total actor weight = 2 + 4 + 9 = 15
Слайд 46

2.IDENTIFY, CLASSIFY AND WEIGHT USE CASES

2.IDENTIFY, CLASSIFY AND WEIGHT USE CASES

Слайд 47

2.IDENTIFY, CLASSIFY AND WEIGHT USE CASES E.g.: 25 simple * 1

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
Слайд 48

3.IDENTIFY AND WEIGHT TECHNICAL FACTORS

3.IDENTIFY AND WEIGHT TECHNICAL FACTORS

Слайд 49

3.IDENTIFY AND WEIGHT TECHNICAL FACTORS E.g.: TFactor = Sum of Weight

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
Слайд 50

4.IDENTIFY AND WEIGHT ENVIRONMENTAL FACTORS E.g.: EF-Factor = Sum of (Weight

4.IDENTIFY AND WEIGHT ENVIRONMENTAL FACTORS

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
Слайд 51

5.CALCULATE ADJUSTED USE CASE POINTS Use Case Points are calculated using

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)
Слайд 52

CONVERTING POINTS INTO TIME Karner: 1 UCP= 20-28 hours 1 week=35

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
Слайд 53

SUMMARY. PROS AND CONS This UCP Method gives us concept about

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.
Слайд 54

Estimations in Agile

Estimations in Agile

Слайд 55

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

Release planning

Iteration planning

в пингвинах

в часах

Слайд 56

Оценка в часах Оценка в пингвинах, крокодилах, попугаях… Выбираем эталон в

Оценка в часах

Оценка в пингвинах, крокодилах, попугаях…
Выбираем эталон в 5 пингвинов.
Оцениваем

все «хотелки» сравнивая с эталоном.
Отталкиваясь от известного «быстродействия» отбираем нужное количество «хотелок».
Слайд 57

Чем меньше задача, тем точнее оценка: Разбивайте большие хотелки на меньшие

Чем меньше задача, тем точнее оценка:
Разбивайте большие хотелки на меньшие
Для каждой

хотелки расписывайте набор задач.
Оценивайте каждую задачу.
Оценивает тот, кто будет тестировать.
Слайд 58

PLANNING POKER Customer describe the story Everybody gives a card Estimate

PLANNING POKER

Customer describe the story
Everybody gives a card
Estimate approx. the

same – set this estimate
Estimate extremely different
Review min estimate
Review max estimate
Ask Customer for info
GO TO 2