PSP\TSP в реальной жизни
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 29.01.13 08:47
Оценка:
Коллеги, поделитесь опытом кто проходили подготовку по PSP\TSP и\или используете в работе.

Интересует следующее:
1) Насколько реально собирать все метрики, если разработчики не проходили курсы по PSP?
2) Насколько совместимо использование PSP\TSP и систем управления разработкой (в частности меня интересует TFS)? А то делать все на бумаге или в стороннем софте (сильно платном и сложном) как-то не улыбается. Может есть простые программы для этого?
3) Как производится оценка? Ведь статистика на основе LOC в современных языках слишком неточна.
Re: PSP\TSP в реальной жизни
От: Gaperton http://gaperton.livejournal.com
Дата: 09.02.13 12:22
Оценка: 10 (2)
Здравствуйте, gandjustas, Вы писали:

G>Интересует следующее:

G>1) Насколько реально собирать все метрики, если разработчики не проходили курсы по PSP?

Собирать метрики — вполне реально. Для сбора цифр никакого PSP не нужно.

G>2) Насколько совместимо использование PSP\TSP и систем управления разработкой (в частности меня интересует TFS)? А то делать все на бумаге или в стороннем софте (сильно платном и сложном) как-то не улыбается. Может есть простые программы для этого?


Без использования специального PSP/TSP тула ему практически невозможно следовать. Без прохождения обучения — невозможно пользоваться тулом. PSP/TSP слишком сложный матан для этого, и здесь не должно быть никаких иллюзий.

Больше половины так толком ничего и не понимают, даже пройдя курс обучения, и не смогут провести реальный проект без помощи коуча. А после того, как коуч "поставит им руки", все равно не поймут, что произошло.

G>3) Как производится оценка? Ведь статистика на основе LOC в современных языках слишком неточна.


Оценка производится в результате статистического анализа, основанного на поиске корреляций метрик процесса разработки. PSP тул в состоянии выдать не только оценки, но и оценить их достоверность. Кроме того, он постоянно калибруется на свежепоступающих данных. В основе всего — статистическая модель процесса разработки, понимать которую необходимо, чтобы оптимизировать процесс.
Re[2]: PSP\TSP в реальной жизни
От: Gaperton http://gaperton.livejournal.com
Дата: 09.02.13 12:29
Оценка: 5 (1) +1
Скажем так. Я понимаю PSP/TSP очень хорошо, практически на уровне хорошего коуча. Но при этом, не возьмусь его внедрять на команде, наверное, ни при каких обстоятельствах.

Это, в целом, слишком затратно, для того эффекта, который получается в результате. Понимая модель PSP/TSP, понимаешь также, что можно добиться близкого эффекта куда как более дешевыми способами. По этому поводу можно дискутировать, но что ясно 100% — тот результат, который PSP/TSP дает, такой ценой однозначно не нужен.
Re[3]: PSP\TSP в реальной жизни
От: Gaperton http://gaperton.livejournal.com
Дата: 09.02.13 12:38
Оценка: 10 (2)
Здравствуйте, Gaperton, Вы писали:

G>Это, в целом, слишком затратно, для того эффекта, который получается в результате. Понимая модель PSP/TSP, понимаешь также, что можно добиться близкого эффекта куда как более дешевыми способами. По этому поводу можно дискутировать, но что ясно 100% — тот результат, который PSP/TSP дает, такой ценой однозначно не нужен.


Ну и кроме того, в типовом PSP/TSP есть объективные слабости. Пожалуй, главная — невозможность учета рисков в прогнозах и завязанность на "большие числа", и, как следствие, фактическая беспомощность процесса на "исследовательских" этапах. Это свойство его математики, и попытки заставить его работать выглядят скорее искусственно, хотя, разумеется, это возможно.

Эта слабость становится главной, и начинает играть тогда, когда PSP/TSP попадает в руки безмозглого менеджера. Учитывая матанистость методики, и, по видимости, высочайший порог вхождения из известных, это произойдет с вероятностью близкой к 100% — процесс слишком легко неправильно использовать.

Это все не отменяет фундаментальной ценности PSP/TSP для понимания процесса разработки и его анализа.
Re[4]: PSP\TSP в реальной жизни
От: Gaperton http://gaperton.livejournal.com
Дата: 09.02.13 12:43
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Это все не отменяет фундаментальной ценности PSP/TSP для понимания процесса разработки и его анализа.


Потому что ценность огромная. Изучение PSP/TSP и опыт работы под ним должен быть обязателен в программе профильного высшего образования. Как это происходит, скажем, в Carnegie-Mellon SEI. Я лично очень ценю, что прошел этот курс.
Re[3]: PSP\TSP в реальной жизни
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 09.02.13 20:58
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Скажем так. Я понимаю PSP/TSP очень хорошо, практически на уровне хорошего коуча. Но при этом, не возьмусь его внедрять на команде, наверное, ни при каких обстоятельствах.


G>Это, в целом, слишком затратно, для того эффекта, который получается в результате. Понимая модель PSP/TSP, понимаешь также, что можно добиться близкого эффекта куда как более дешевыми способами. По этому поводу можно дискутировать, но что ясно 100% — тот результат, который PSP/TSP дает, такой ценой однозначно не нужен.


Это я уже понял.

Какими способами можно добиться близкого эффекта? Всех программистов обучать в C-M SEI не получится, да и своими силами обеспечить подобное обучение нереально.
Re[2]: PSP\TSP в реальной жизни
От: Vzhyk  
Дата: 11.02.13 09:00
Оценка:
On 09.02.2013 15:22, Gaperton wrote:

> Оценка производится в результате статистического анализа, основанного на

> поиске корреляций метрик процесса разработки. PSP тул в состоянии выдать
> не только оценки, но и оценить их достоверность. Кроме того, он
> постоянно калибруется на свежепоступающих данных. В основе всего —
> статистическая модель процесса разработки, понимать которую необходимо,
> чтобы оптимизировать процесс.
Добавил бы еще пунктик, что нужна достаточно большая выборка объектов с
которых снимаются метрики в течение достаточно длитеьного времени иначе
достоверность (так понимаю доверительные интервалы имеются в виду) будет
очень низкой.
Тул сами сделали? Молодцы, под таким соусом продавать то, что считает
основные статистики и доверительные интервалы. Честно, завидую таким людям.
Ну ладно без ерничания, факторный хоть есть?
Posted via RSDN NNTP Server 2.1 beta
Re[4]: PSP\TSP в реальной жизни
От: Vzhyk  
Дата: 11.02.13 09:02
Оценка:
On 09.02.2013 15:38, Gaperton wrote:

> Пожалуй,

> главная — невозможность учета рисков в прогнозах и завязанность на
> "большие числа",
Это как бы основная теорема ТВ.
Posted via RSDN NNTP Server 2.1 beta
Re[5]: PSP\TSP в реальной жизни
От: Gaperton http://gaperton.livejournal.com
Дата: 11.02.13 12:41
Оценка:
Здравствуйте, Vzhyk, Вы писали:

>> Пожалуй,

>> главная — невозможность учета рисков в прогнозах и завязанность на
>> "большие числа",
V>Это как бы основная теорема ТВ.

Иррелевантно. Методы, лишенные этих недостатков, существуют. Полагаются на экспертные оценки свойств распределения трудозатрат отдельных задач. На вскидку — моделирование Монте-Карло, и, попроще — PERT-подобные методы.
Re[4]: PSP\TSP в реальной жизни
От: Gaperton http://gaperton.livejournal.com
Дата: 11.02.13 12:49
Оценка: 4 (1)
Здравствуйте, gandjustas, Вы писали:

G>Какими способами можно добиться близкого эффекта? Всех программистов обучать в C-M SEI не получится, да и своими силами обеспечить подобное обучение нереально.


Ну например, в одном из своих докладов я рассказывал про более простой подход для прогнозов сроков. Вторая половина презентации, идея в использовании коэффициентов продуктивности как проверочного коэффициента для прогнозов, и сознательном упрощении — отказе контролировать time-on-task, что снимает необходимость поминутно снимать время, и кучу ассоциированного с этим геморроя.

http://files.rsdn.ru/20496/ISV%20Oracle%20final.pdf

Только это далеко не все, что дает PSP. Сильная сторона PSP/TSP — их работа с метриками плотностей ошибок, и использование системы метрик для оптимизации процесса разработки. Можно было бы заняться и этим, но я не занимался. Но, думаю, должно быть много работ на эту тему.
Re[3]: PSP\TSP в реальной жизни
От: Gaperton http://gaperton.livejournal.com
Дата: 11.02.13 12:54
Оценка:
Здравствуйте, Vzhyk, Вы писали:

V>Добавил бы еще пунктик, что нужна достаточно большая выборка объектов с

V>которых снимаются метрики в течение достаточно длитеьного времени иначе
V>достоверность (так понимаю доверительные интервалы имеются в виду) будет
V>очень низкой.

В ходе двухнедельного тренинга ты каждый день решаешь по задачке, работая с тулом. Он неплохо калибруется к середине второй недели, и укладывает погрешность процентов в 5-10.

V>Тул сами сделали? Молодцы, под таким соусом продавать то, что считает

V>основные статистики и доверительные интервалы. Честно, завидую таким людям.

Хорошего коммерчески доступного тула 10 лет назад не было. В CQG, например, тул писали сами. Суть тула не в основах статистики, это по сути хитрый трекер задач с особыми возможностями.

V>Ну ладно без ерничания, факторный хоть есть?


Зачем?
Re[5]: PSP\TSP в реальной жизни
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 11.02.13 13:38
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>Здравствуйте, gandjustas, Вы писали:


G>>Какими способами можно добиться близкого эффекта? Всех программистов обучать в C-M SEI не получится, да и своими силами обеспечить подобное обучение нереально.


G>Ну например, в одном из своих докладов я рассказывал про более простой подход для прогнозов сроков. Вторая половина презентации, идея в использовании коэффициентов продуктивности как проверочного коэффициента для прогнозов, и сознательном упрощении — отказе контролировать time-on-task, что снимает необходимость поминутно снимать время, и кучу ассоциированного с этим геморроя.


G>http://files.rsdn.ru/20496/ISV%20Oracle%20final.pdf


Это уже читал. У нас есть проблема, что продуктивность сильно скачет от разработчика к разработчику. Даже усредняя между участниками одного проекта может отличаться в разы.

G>Только это далеко не все, что дает PSP. Сильная сторона PSP/TSP — их работа с метриками плотностей ошибок, и использование системы метрик для оптимизации процесса разработки. Можно было бы заняться и этим, но я не занимался. Но, думаю, должно быть много работ на эту тему.


Вот это было бы интереснее всего. Проблемы у нас начинаются на этапе проектирования, потому что многие аспекты выпадают из внимания "не очень продуктивных" разработчиков и в итоге большой объем переделок и низкая продуктивность. Но, как я уже говорил, устроить обучение, аналогичное PSP нереально.
Re[6]: PSP\TSP в реальной жизни
От: Vzhyk  
Дата: 11.02.13 14:14
Оценка:
On 11.02.2013 15:41, Gaperton wrote:

> Иррелевантно. Методы, лишенные этих недостатков, существуют. Полагаются

> на экспертные оценки свойств распределения трудозатрат отдельных задач.
Понятно. Проблема в экспертах.

> На вскидку — моделирование Монте-Карло,

Неа. Монте-Карло на законе больших чисел — он ни на грамм не выходит за
рамки классической ТВ.

и, попроще — PERT-подобные методы.
Это не знаю, возможно.
Posted via RSDN NNTP Server 2.1 beta
Re[4]: PSP\TSP в реальной жизни
От: Vzhyk  
Дата: 11.02.13 14:27
Оценка:
On 11.02.2013 15:54, Gaperton wrote:

> V>Ну ладно без ерничания, факторный хоть есть?

>
> Зачем?
Фактически поиск скрытых переменных влияющих на тестируемый параметр.
Коряво написал немного. Начни смотреть отсюда
http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7

Есть и хорошая русская литература, статьи. Смешно, но когда-то
разбирался в нем по статье, в которой применили факторный анализ к
размножению кроликов и поиску скрытых факторов, влияющих на это.
Posted via RSDN NNTP Server 2.1 beta
Re[6]: PSP\TSP в реальной жизни
От: Vzhyk  
Дата: 11.02.13 14:35
Оценка:
On 11.02.2013 16:38, gandjustas wrote:

> Это уже читал. У нас есть проблема, что продуктивность сильно скачет от

> разработчика к разработчику. Даже усредняя между участниками одного
> проекта может отличаться в разы.
Мне тоже интересно, что Гапертон ответит. По идее вы попали в ситуацию,
что либо данных мало, либо закон больших чисел в вашем случае не
действует либо разработчики у вас настлько различны.


> Вот это было бы интереснее всего. Проблемы у нас начинаются на этапе

> проектирования, потому что многие аспекты выпадают из внимания "не очень
> продуктивных" разработчиков и в итоге большой объем переделок и низкая
> продуктивность. Но, как я уже говорил, устроить обучение, аналогичное
> PSP нереально.
И что PSP может помочь в этом?
У вас скорее всего элементарная ошибка: вы проектируете в очень
маленьких частях и пытаетесь предсказать будущее.
Начнине проектировать от большого к малому. Не делайте слишком маленькую
детализацию в проекте. По обпыту максимальный горизонт на одного
программиста 2 недели. На группу из 4-5 человек на 2 месяца. А дальше,
планы полгода-год, но уже не сильно четкие. Ну и гибкость начальстве в
выделении главных направлений работы и второстепенных и смена при
необходимости приоритетов.
Posted via RSDN NNTP Server 2.1 beta
Re[7]: PSP\TSP в реальной жизни
От: Gaperton http://gaperton.livejournal.com
Дата: 11.02.13 14:58
Оценка:
Здравствуйте, Vzhyk, Вы писали:

>> Иррелевантно. Методы, лишенные этих недостатков, существуют. Полагаются

>> на экспертные оценки свойств распределения трудозатрат отдельных задач.
V>Понятно. Проблема в экспертах.

Непонятно. В каких экспертах и какая проблема?

>> На вскидку — моделирование Монте-Карло,

V>Неа. Монте-Карло на законе больших чисел — он ни на грамм не выходит за
V>рамки классической ТВ.

Да-да. Большие числа большим числам рознь. Применение монтекарло для анализа плана проекта не требует "больших чисел" в плане большого количества задач. Там штука в чем — экспертно оценивается плотность вероятности задач в плане, и рисков. После чего, берется план со связями задач и рисками, и плотность вероятности случайной величины "срок окончания проекта" моделируется численно. При помощи Монте-Карло. Есть соответствующие плагины для Прожекта.

Разумеется, ни это, ни PSP/TSP не выходит за рамки классичесвой теории вероятностей. Разница в ее приложении — PSP/TSP плотностями вероятностей рисков и отдельных задач не оперирует.

V>и, попроще — PERT-подобные методы.

V>Это не знаю, возможно.

По сути близкая хрень, тока плотность вероятности задачи оценивается упрощенно, через пару (иногда — тройку) оценок "оптимистическая-пессимистическая". Монте-Карло не требуется, если предположить нормальное распределение для трудозатрат задач, то прикидка может быть сделана на коленке.
Re[6]: PSP\TSP в реальной жизни
От: Gaperton http://gaperton.livejournal.com
Дата: 11.02.13 15:16
Оценка: 10 (1)
Здравствуйте, gandjustas, Вы писали:

G>>>Какими способами можно добиться близкого эффекта? Всех программистов обучать в C-M SEI не получится, да и своими силами обеспечить подобное обучение нереально.


G>>Ну например, в одном из своих докладов я рассказывал про более простой подход для прогнозов сроков. Вторая половина презентации, идея в использовании коэффициентов продуктивности как проверочного коэффициента для прогнозов, и сознательном упрощении — отказе контролировать time-on-task, что снимает необходимость поминутно снимать время, и кучу ассоциированного с этим геморроя.


G>>http://files.rsdn.ru/20496/ISV%20Oracle%20final.pdf


G>Это уже читал. У нас есть проблема, что продуктивность сильно скачет от разработчика к разработчику. Даже усредняя между участниками одного проекта может отличаться в разы.


"Сильно скачет" — это бесполезная лирика. Вы линейную регрессию время-объем по задачам в экселе постройте. И посмотрите на коэффициент корреляции. Это будет уже ближе к истине. А если вы перед этим подготовите данные, как положено при статистическом исследовании, выкинув выпадающие точки (поищите в сети мануалы), то будет еще ближе.

Для того, чтобы эти методы работали, достаточно корреляций метрик по отдельным разработчикам. Сделайте, сделайте. Вы удивитесь результату. Не выйдет в лоб — можно отклассифицировать задачи по разным признакам, и поискать корреляции раздельно по классам. Да, и по команде в среднем тоже посмотрите, за какой-нибудь внятный интервал, от 3-х месяцев до полугода.

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

G>>Только это далеко не все, что дает PSP. Сильная сторона PSP/TSP — их работа с метриками плотностей ошибок, и использование системы метрик для оптимизации процесса разработки. Можно было бы заняться и этим, но я не занимался. Но, думаю, должно быть много работ на эту тему.


G>Вот это было бы интереснее всего. Проблемы у нас начинаются на этапе проектирования, потому что многие аспекты выпадают из внимания "не очень продуктивных" разработчиков и в итоге большой объем переделок и низкая продуктивность. Но, как я уже говорил, устроить обучение, аналогичное PSP нереально.


Все, что вам бы дало PSP, свелось к введению в процесс дизайн- и код-инспекций. И ревью. С контролем их эффективности через Yield — оценку процента ошибок, которые ваша инспекция ловит.

Введите инспекции отдельно, для этого PSP/TSP не нужен. Следите, чтобы на них реальные ошибки ловились, а не косметика. Поможет.
Re[5]: PSP\TSP в реальной жизни
От: Gaperton http://gaperton.livejournal.com
Дата: 11.02.13 15:20
Оценка:
Здравствуйте, Vzhyk, Вы писали:

>> V>Ну ладно без ерничания, факторный хоть есть?

>>
>> Зачем?
V>Фактически поиск скрытых переменных влияющих на тестируемый параметр.
V>Коряво написал немного. Начни смотреть отсюда
V>http://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7

Я знаю, что такое факторный анализ. Каждый, кто финансовый менеджмент советско-российской школы изучал (напичканный математикой сверх разумного) — знает.

Я спрашивал, зачем он нужен в PSP/TSP тулзе.
Re[8]: PSP\TSP в реальной жизни
От: Vzhyk  
Дата: 11.02.13 15:26
Оценка:
On 11.02.2013 17:58, Gaperton wrote:

> Непонятно. В каких экспертах и какая проблема?

В живых, причем экспертах.

> Да-да. Большие числа большим числам рознь. Применение монтекарло для

> анализа плана проекта не требует "больших чисел" в плане большого
> количества задач. Там штука в чем — экспертно оценивается плотность
> вероятности задач в плане, и рисков.
Что? Гапертон не порти восприятие себя. Иногда лучше молчать, чем...

> По сути близкая хрень, тока плотность вероятности задачи оценивается

> упрощенно, через пару (иногда — тройку) оценок
> "оптимистическая-пессимистическая".
Нечетко сформулировано, но приближительно понятно о чем ты.ч

> Монте-Карло не требуется, если

> предположить нормальное распределение для трудозатрат задач, то прикидка
> может быть сделана на коленке.
Очень часто на таких предположениях приходиться жестко обламываться.
Posted via RSDN NNTP Server 2.1 beta
Re[6]: PSP\TSP в реальной жизни
От: Vzhyk  
Дата: 11.02.13 15:29
Оценка:
On 11.02.2013 18:20, Gaperton wrote:

> Я спрашивал, зачем он нужен в PSP/TSP тулзе.

Фактически поиск скрытых переменных влияющих на тестируемый (целевой)
параметр. СЧасто позволяет понять, что сделать, чтоб ыцелевую величину
увеличить, уменьшить. Кроликов, я не просто так вспомнил.
Posted via RSDN NNTP Server 2.1 beta
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.