48
Size Model история одного отдела by Sergey Ivanov Харьков 2011

Size Model история одного отдела

  • Upload
    teague

  • View
    38

  • Download
    1

Embed Size (px)

DESCRIPTION

Size Model история одного отдела. b y Sergey Ivanov Харьков 2011. i.szerg [email protected]. Бывший бухгалтер В IT c 2000 года 1 С-ник – более 80 проектов Team Lead – 15 проектов PM – пока 1 проект Имею маниакальное пристрастие все детализировать, упрощать, упорядочивать и обобщать. - PowerPoint PPT Presentation

Citation preview

Page 1: Size Model история одного отдела

Size Modelистория одного отдела

by Sergey Ivanov

Харьков 2011

Page 2: Size Model история одного отдела

2

Бывший бухгалтер

В IT c 2000 года• 1С-ник – более 80 проектов• Team Lead – 15 проектов• PM – пока 1 проект

Имею маниакальное пристрастие все детализировать, упрощать, упорядочивать и обобщать.

• i.szerg• [email protected] Start

Page 3: Size Model история одного отдела

3

История одной болезни• Обещали 402 часа• Сделали за 705 часов• 302 часа сверху

«оправдали» изменениями в требованиях, хотя их было не более 40 часов

Page 4: Size Model история одного отдела

4

Ситуация в палате

Проект Оценка Реально Отклонение EV

Проект 1 550 900 +350 +64%

Проект 2 1800 1600 -200 -11%

Проект 3 1200 2000 +800 +67%

Проект 4 150 80 -70 -47%

Page 5: Size Model история одного отдела

5

КризCMMI

«For example, in the Project Planning process area, the specific practice on establishing estimates of project attributes has a discipline amplification for software engineering that mentions software size and examples of size measures.»

Page 6: Size Model история одного отдела

6

Что такое Size?

Часы?Страницы?

Строки?

Page 7: Size Model история одного отдела

7

Вспомним школу

𝑇𝑖𝑚𝑒 ∙𝑉𝑒𝑙𝑜𝑐𝑖𝑡𝑦=𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒

Page 8: Size Model история одного отдела

8

Трудозатраты (Effort)

Х

Page 9: Size Model история одного отдела

9

Скорость (Velocity)м3/день

Км/ч

Кг/мес

Page 10: Size Model история одного отдела

10

А size?

𝐸𝑓𝑓𝑜𝑟𝑡 ∙𝑉𝑒𝑙𝑜𝑐𝑖𝑡𝑦=𝑆𝑖𝑧𝑒

Page 11: Size Model история одного отдела

11

Объем (size)

Page 12: Size Model история одного отдела

Size vs Effort

12

Page 13: Size Model история одного отдела

13

Что такое Size?

CLOK

Module

Functional Point

WMFP

Component

Structure

Page 14: Size Model история одного отдела

14

Диагноз и лечение

Оценка работ исходя из функциональной спецификации

Любой девелопер должен иметь возможность оценить работу

Результат должен быть стабильным

Оценка должна проводиться быстро

Page 15: Size Model история одного отдела

15

Поиск таблетки

Size Model

Fuzzy logic

Wideband-Delphi

Function Point

Estimating

Page 16: Size Model история одного отдела

16

Function Point Estimating• Анализируем

имеющиеся спецификации

• Составляем список типовых операций

• Разделяем их на области

Section ActionBO Explorer tools Add verification for mandatory fieldsBO Explorer tools Create document using existing templateBO Explorer tools Create email messageBO Explorer tools Create Journal entry BO Explorer tools Populate field on workflowBO Explorer tools Refreshing list control, segment…BO Explorer tools Set attribute to databaseBO Explorer tools Set parameters and run queryControl panel Add link to the Control panelControl panel Change Control panel viewControl panel Remove/Rename link from the Control panelDB Config Work Add new Role to the databaseDB Config Work Add/Modify Code groupDB Config Work Add/rename DB itemsDB Config Work Reneme existing RoleMenu editor work Create or modify existing menuMenu editor work Remove item from menuQuery Explorer Work Create/Modify queryScreent tools work Add new segmentScreent tools work Add/Modify viewScreent tools work Delete existing segmentScreent tools work Region add/modifyScreent tools work Rename existing segment

Page 17: Size Model история одного отдела

17

Wideband-Delphi

• Собираем оценки экспертов по каждому виду работ• Выводим среднее• Нормализуем до min = 1• Округляем до 3-х весовых категорий

Section Action Measurement Size NS S2 Time Time1 Time2 Time3 Time4 Time5 Time6 Time7 Time8BO Explorer tools Add verification for mandatory fields number of fields 4 1 1 1 9 30 5 5 5 2 15 2 6BO Explorer tools Create an Appointment number of appointments 4 1 2 1 17 27 15 15 10 5 30 10 20BO Explorer tools Create CSV Report number of output row data fields 2 4 3 3 31 90 10 10 10 30 10 60BO Explorer tools Create document using existing template number of merge fields 2 2 1 1 15 27 5 10 5 7 30 5 30BO Explorer tools Create email message number of attachments + one

(body)2 2 2 1 16 27 10 10 10 3 30 5 30

BO Explorer tools Create Journal entry number of journal entries 4 1 1 1 10 30 5 5 5 3 15 5 15BO Explorer tools Create new entity number of entities 2 2 2 2 19 30 10 20 10 10 30 10 30BO Explorer tools Create Organogram number of Organograms 4 4 3 3 37 90 20 20 20 30 20 60BO Explorer tools Create task number of tasks 2 2 2 2 18 30 10 15 10 5 30 10 30BO Explorer tools Fil l ing DropDown number of loops + number of

conditions4 2 2 2 21 30 20 15 10 5 60 10 20

BO Explorer tools Get & Save document to document l ibrary number of loops 2 2 2 1 16 45 15 5 10 5 30 5 15

Page 18: Size Model история одного отдела

18

Fuzzy logic• Сверяем результаты с

данными по уже выполненным проектамo Переоцениваем спекиo Сравниваем с реальным

временемo Думаем….o Еще думаем…o Обсуждаем с экспертамиo Пересматриваем типы и оценки

сначала

Page 19: Size Model история одного отдела

19

Та Да!

Page 20: Size Model история одного отдела

20

Матрица типов работType Section Action Measurement Size Comment/Example

BO Explorer tools Add verification for mandatory fields number of fields 1BO Explorer tools Create document using existing template number of merge fields 1BO Explorer tools Create email message number of attachments + one (body) 1BO Explorer tools Create Journal entry number of journal entries 1BO Explorer tools Populate field on workflow number of fields 1BO Explorer tools Refreshing list control, segment… one action 1BO Explorer tools Set attribute to database number of attributes 1BO Explorer tools Set parameters and run query number of parameters 1Control panel Add link to the Control panel number of links 1Control panel Change Control panel view number of changes 1Control panel Remove/Rename link from the Control panel number of links 1DB Config Work Add new Role to the database number of roles 1DB Config Work Add/Modify Code group number of code elements (x10) 1 1 code = 1 size; 10 = 1 size; 25 = 3 sizeDB Config Work Add/rename DB items number of attributes 1DB Config Work Reneme existing Role number of roles 1Menu editor work Create or modify existing menu number of menu items 1Menu editor work Remove item from menu number of menu items 1Query Explorer Work Create/Modify query number of conditions 1Screent tools work Add new segment number of segments 1Screent tools work Add/Modify view number of regions 1Screent tools work Delete existing segment number of segments 1Screent tools work Region add/modify number of regions 1Screent tools work Rename existing segment number of segments 1Segment editor Work (entity) Add label number of labels (x5) per each segment 1 5 labels on one segment = 1 size; 5 labels on 2 segments = 2 sizeSegment editor Work (entity) Add/Change Entity screen items number of screen items 1Segment editor Work (entity) Change segment property (title, text stile…) number of changes 1Segment editor Work (entity) Modify existing list control number of colums in list control 1Segment editor Work (entity) Move/Rename/remove any fields on the screen number of fields + number of operations 1Segment editor Work (workflow) Workflow screen items operations number of items 1Sysadmin Adapt V11 Add new document category to document library number of document categories 1Sysadmin Adapt V11 Add/replace template to document library number of templates 1Sysadmin Adapt V11 Rename document category number of document categories 1BO Explorer tools Create an Appointment number of appointments 2BO Explorer tools Create new entity number of entities 2BO Explorer tools Create task number of tasks 2BO Explorer tools Filling DropDown number of loops + number of conditions 2BO Explorer tools Get & Save document to document library number of loops 2Sysadmin Adapt V11 Change template number of merge fields 2BO Explorer tools Create CSV Report number of output row data fields 4BO Explorer tools Create Organogram number of Organograms 4BO Explorer tools XML handler number of XML nodes 4Jasper & Cristal reports Add/Modify Cristal report number of outputs + number of conditions 4Jasper & Cristal reports Add/Modify Jasper report number of outputs + number of conditions 4Sysadmin Adapt V11 Create new profile number of roles in new profile 4

A

B

C

Page 21: Size Model история одного отдела

21

Типы работType Section Action

BO Explorer tools Add verification for mandatory fieldsBO Explorer tools Create document using existing templateBO Explorer tools Create email messageBO Explorer tools Create Journal entry BO Explorer tools Populate field on workflowBO Explorer tools Refreshing list control, segment…BO Explorer tools Set attribute to databaseBO Explorer tools Set parameters and run queryControl panel Add link to the Control panelControl panel Change Control panel viewControl panel Remove/Rename link from the Control panelDB Config Work Add new Role to the databaseDB Config Work Add/Modify Code groupDB Config Work Add/rename DB itemsDB Config Work Reneme existing RoleMenu editor work Create or modify existing menuMenu editor work Remove item from menuQuery Explorer Work Create/Modify queryScreent tools work Add new segmentScreent tools work Add/Modify viewScreent tools work Delete existing segmentScreent tools work Region add/modifyScreent tools work Rename existing segmentSegment editor Work (entity) Add labelSegment editor Work (entity) Add/Change Entity screen itemsSegment editor Work (entity) Change segment property (title, text stile…)Segment editor Work (entity) Modify existing list controlSegment editor Work (entity) Move/Rename/remove any fields on the screenSegment editor Work (workflow) Workflow screen items operationsSysadmin Adapt V11 Add new document category to document librarySysadmin Adapt V11 Add/replace template to document librarySysadmin Adapt V11 Rename document categoryBO Explorer tools Create an Appointment BO Explorer tools Create new entityBO Explorer tools Create taskBO Explorer tools Filling DropDownBO Explorer tools Get & Save document to document librarySysadmin Adapt V11 Change templateBO Explorer tools Create CSV ReportBO Explorer tools Create OrganogramBO Explorer tools XML handlerJasper & Cristal reports Add/Modify Cristal reportJasper & Cristal reports Add/Modify Jasper reportSysadmin Adapt V11 Create new profile

A

B

C

Page 22: Size Model история одного отдела

22

Единица измеренияMeasurement Size

number of fields 1number of changes 1number of links 1number of roles 1number of code elements (x10) 1

Page 23: Size Model история одного отдела

23

Тщательно разжевываем

• Если кто-то может понять что-то неверно – он так и сделает (Закон Мерфи)

Measurement Size Comment/Examplenumber of code elements (x10) 1 1 code = 1 size; 10 = 1 size; 25 = 3 sizenumber of labels (x5) per each segment 1

5 labels on one segment = 1 size; 5 labels on 2 segments = 2 size

Page 24: Size Model история одного отдела

24

Пример подсчета размера• Экран

o Поля – 10Аo Кнопки – 3А

• ОКo Проверки – 6Аo Действия – 12B

• Всего• 19A + 12B = 19 + 24 = 43

• 43 – это размер

Экран

• 10 полей• 3 кнопки

ОК • 6 проверок• 12 действий

Page 25: Size Model история одного отдела

25

Ну и что с этим делать?

Page 26: Size Model история одного отдела

26

DEE (даешь его единожды)

Spec Ref # DescriptionScreen items

BO items

Docs Merge

set

Docs Merge fields

Journal items A B C Size

Requirement issues if exist1,5..5

New work type

if exist 2..3

Copy/Paste work

0,25..0,75

CA levelSenior = 0,5Middle = 1Junior = 2

Pure Development (man-hours)

Selftesting (man-hours)

3 profiles risk (man-

hours)Total

development

0 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 00 0 0 0 0

TOTAL 0 0 0 0 0 0

0 m-h

Estimated EffortWork items Work Execution ConditionsSize defenition

Development Estimate

Page 27: Size Model история одного отдела

27

Как считается effort

𝑬𝒇𝒇𝒐𝒓𝒕=𝑺𝒊𝒛𝒆 ∙𝑹𝒂𝒕𝒆 ∙𝑪𝒐𝒏𝒅𝒊𝒕𝒊𝒐𝒏𝒔где,

Rate = 1 / avg(Velocity) – т.е. сколько в среднем времени уходит на изготовление 1-го size

Conditions – коэффициент помех и усилителей

Page 28: Size Model история одного отдела

28

Пример подсчета трудозатрат

• Размер – 43• Rate = 0,25m-h• Conditions = 1 (идеал)

DEE=43*0,25*1=10,75m-h

Экран

• 10 полей• 3 кнопки

ОК • 6 проверок• 12 действий

Page 29: Size Model история одного отдела

29

DEE поближе (1)

Spec Ref # Description

Work items

WBS

Page 30: Size Model история одного отдела

30

DEE поближе (2)• Оцениваем размер

каждого кусочка отдельно

• Первые 5 колонок – для удобства заполнения и пересмотра (review)

• Size считается по формуле

S = A + 2*B + 4*C

Оценка размера

A B C

Screen items

BO items

Docs Merge

set

Docs Merge fields

Journal items A B C Size

0

0

0

Size defenition

Page 31: Size Model история одного отдела

31

DEE поближе (3)

Requirement issues if exist1,5..5

New work type

if exist 2..3

Copy/Paste work

0,25..0,75

CA levelSenior = 0,5Middle = 1Junior = 2

Work Execution Conditions

Page 32: Size Model история одного отдела

32

DEE поближе (4)Time rate 0,25

Pure Development (man-hours)

Selftesting (man-hours)

3 profiles risk (man-

hours)Total

development

0 0 0 00 0 0 00 0 0 00 0 0 00 0 0 0

Estimated Effort

Page 33: Size Model история одного отдела

33

DEE vs Schedule

3 profiles risk DebuggingPure development

On track QA QAQA

On track

On track On trackAssigned Passed

Page 34: Size Model история одного отдела

34

Жизнь послеОценка работ

Сбор актуальных

данных

Анализ отклонений

Пересмотр модели

Донесение результатов

Page 35: Size Model история одного отдела

35

Примеры пересмотровRequirement

issues if exist = 2

New work type

if exist = 3

Copy/Paste work

if yes = 0,5

CA levelSenior = 1Middle = 2Junior = 3

Work Execution ConditionsRequirement

issues if exist1,5..5

New work type

if exist 2..3

Copy/Paste work

0,25..0,75

CA levelSenior = 0,5Middle = 1Junior = 2

Work Execution Conditions

1

Add labelnumber of labels (x5) per each segment 1

5 labels on one segment = 1 size; 5 labels on 2 segments = 2 size

Add label number of labels 1

2

Page 36: Size Model история одного отдела

36

0Total Estimate

Project Execution ConditionsProcess qualityCommunication qualityConnection quality

Эволюция DEE

3

Page 37: Size Model история одного отдела

37

ВыздоровлениеПроект Обещано Реально Отклонение EV

1 680 720 40 6%

2 1058 1200 142 13%

3 860 800 -60 -7%

4 200 180 -20 -10%

5,1 330 300 -30 -9%

5,2 900 800 -100 -11%

5,3 180 160 -20 -11%

5,4 260 240 -20 -8%

5,5 400 360 -40 -10%

Page 38: Size Model история одного отдела

38

SWOT

Page 39: Size Model история одного отдела

39

Другой пример

Page 40: Size Model история одного отдела

40

ЧаВо1. Нечеткие требования – вилка Est … Est x5

2. Риски – типичные риски заложены в оценку

3. Juniors – система ресурсонезависима и позволяет проверить данную оценку (review)

4. Статистика – 15 проектов с отклонениями не более +20% (максимум), и около +/-10% в среднем

5. Грубая оценка – увы, надо пересчитать всё, что описано в спеке. Но если ее нет, то можно сделать наброски и оценить с учетом вопроса #1

6. Скорость – на оценку можно добавить любое количество людей (но не больше чем есть абзацев в спеке)

Page 41: Size Model история одного отдела

41

Полезноеhttp://en.wikipedia.org/wiki/Comparison_of_development_estimation_software

Comparison of development estimation software

Page 42: Size Model история одного отдела

42

Вопросы?

Page 43: Size Model история одного отдела

43

Практика

Page 44: Size Model история одного отдела

44

ТехнологияТакая елка делается за 5 шагов:

1. Нарисовать и закрасить кружочек (х5 раз)

2. Написать «С Новым Годом!»

3. Написать «Happy New Year!»

4. Свернуть лист в конус и склеить скотчем

5. Подогнуть углы, чтобы елка стояла

Page 45: Size Model история одного отдела

45

Экспертная оценка

Page 46: Size Model история одного отдела

46

Сбор фактических данных

Page 47: Size Model история одного отдела

47

Анализ данных

Page 48: Size Model история одного отдела

48

Анализ данных