Download - Size Model история одного отдела
![Page 1: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/1.jpg)
Size Modelистория одного отдела
by Sergey Ivanov
Харьков 2011
![Page 2: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/2.jpg)
2
Бывший бухгалтер
В IT c 2000 года• 1С-ник – более 80 проектов• Team Lead – 15 проектов• PM – пока 1 проект
Имею маниакальное пристрастие все детализировать, упрощать, упорядочивать и обобщать.
• i.szerg• [email protected] Start
![Page 3: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/3.jpg)
3
История одной болезни• Обещали 402 часа• Сделали за 705 часов• 302 часа сверху
«оправдали» изменениями в требованиях, хотя их было не более 40 часов
![Page 4: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/4.jpg)
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 история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/5.jpg)
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 история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/6.jpg)
6
Что такое Size?
Часы?Страницы?
Строки?
![Page 7: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/7.jpg)
7
Вспомним школу
𝑇𝑖𝑚𝑒 ∙𝑉𝑒𝑙𝑜𝑐𝑖𝑡𝑦=𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒
![Page 8: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/8.jpg)
8
Трудозатраты (Effort)
Х
![Page 9: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/9.jpg)
9
Скорость (Velocity)м3/день
Км/ч
Кг/мес
![Page 10: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/10.jpg)
10
А size?
𝐸𝑓𝑓𝑜𝑟𝑡 ∙𝑉𝑒𝑙𝑜𝑐𝑖𝑡𝑦=𝑆𝑖𝑧𝑒
![Page 11: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/11.jpg)
11
Объем (size)
![Page 12: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/12.jpg)
Size vs Effort
12
![Page 13: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/13.jpg)
13
Что такое Size?
CLOK
Module
Functional Point
WMFP
Component
Structure
![Page 14: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/14.jpg)
14
Диагноз и лечение
Оценка работ исходя из функциональной спецификации
Любой девелопер должен иметь возможность оценить работу
Результат должен быть стабильным
Оценка должна проводиться быстро
![Page 15: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/15.jpg)
15
Поиск таблетки
Size Model
Fuzzy logic
Wideband-Delphi
Function Point
Estimating
![Page 16: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/16.jpg)
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 история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/17.jpg)
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 история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/18.jpg)
18
Fuzzy logic• Сверяем результаты с
данными по уже выполненным проектамo Переоцениваем спекиo Сравниваем с реальным
временемo Думаем….o Еще думаем…o Обсуждаем с экспертамиo Пересматриваем типы и оценки
сначала
![Page 19: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/19.jpg)
19
Та Да!
![Page 20: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/20.jpg)
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 история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/21.jpg)
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 история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/22.jpg)
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 история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/23.jpg)
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 история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/24.jpg)
24
Пример подсчета размера• Экран
o Поля – 10Аo Кнопки – 3А
• ОКo Проверки – 6Аo Действия – 12B
• Всего• 19A + 12B = 19 + 24 = 43
• 43 – это размер
Экран
• 10 полей• 3 кнопки
ОК • 6 проверок• 12 действий
![Page 25: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/25.jpg)
25
Ну и что с этим делать?
![Page 26: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/26.jpg)
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 история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/27.jpg)
27
Как считается effort
𝑬𝒇𝒇𝒐𝒓𝒕=𝑺𝒊𝒛𝒆 ∙𝑹𝒂𝒕𝒆 ∙𝑪𝒐𝒏𝒅𝒊𝒕𝒊𝒐𝒏𝒔где,
Rate = 1 / avg(Velocity) – т.е. сколько в среднем времени уходит на изготовление 1-го size
Conditions – коэффициент помех и усилителей
![Page 28: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/28.jpg)
28
Пример подсчета трудозатрат
• Размер – 43• Rate = 0,25m-h• Conditions = 1 (идеал)
DEE=43*0,25*1=10,75m-h
Экран
• 10 полей• 3 кнопки
ОК • 6 проверок• 12 действий
![Page 29: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/29.jpg)
29
DEE поближе (1)
Spec Ref # Description
Work items
WBS
![Page 30: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/30.jpg)
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 история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/31.jpg)
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 история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/32.jpg)
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 история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/33.jpg)
33
DEE vs Schedule
3 profiles risk DebuggingPure development
On track QA QAQA
On track
On track On trackAssigned Passed
![Page 34: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/34.jpg)
34
Жизнь послеОценка работ
Сбор актуальных
данных
Анализ отклонений
Пересмотр модели
Донесение результатов
![Page 35: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/35.jpg)
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 история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/36.jpg)
36
0Total Estimate
Project Execution ConditionsProcess qualityCommunication qualityConnection quality
Эволюция DEE
3
![Page 37: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/37.jpg)
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 история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/38.jpg)
38
SWOT
![Page 39: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/39.jpg)
39
Другой пример
![Page 40: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/40.jpg)
40
ЧаВо1. Нечеткие требования – вилка Est … Est x5
2. Риски – типичные риски заложены в оценку
3. Juniors – система ресурсонезависима и позволяет проверить данную оценку (review)
4. Статистика – 15 проектов с отклонениями не более +20% (максимум), и около +/-10% в среднем
5. Грубая оценка – увы, надо пересчитать всё, что описано в спеке. Но если ее нет, то можно сделать наброски и оценить с учетом вопроса #1
6. Скорость – на оценку можно добавить любое количество людей (но не больше чем есть абзацев в спеке)
![Page 41: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/41.jpg)
41
Полезноеhttp://en.wikipedia.org/wiki/Comparison_of_development_estimation_software
Comparison of development estimation software
![Page 42: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/42.jpg)
42
Вопросы?
![Page 43: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/43.jpg)
43
Практика
![Page 44: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/44.jpg)
44
ТехнологияТакая елка делается за 5 шагов:
1. Нарисовать и закрасить кружочек (х5 раз)
2. Написать «С Новым Годом!»
3. Написать «Happy New Year!»
4. Свернуть лист в конус и склеить скотчем
5. Подогнуть углы, чтобы елка стояла
![Page 45: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/45.jpg)
45
Экспертная оценка
![Page 46: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/46.jpg)
46
Сбор фактических данных
![Page 47: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/47.jpg)
47
Анализ данных
![Page 48: Size Model история одного отдела](https://reader035.vdocuments.net/reader035/viewer/2022062519/56815286550346895dc0ace7/html5/thumbnails/48.jpg)
48
Анализ данных