Версия 1.0
Принимается следующая классификация уровней владения навыками и формальные критерии соответствия им:
S1 "Начальный"
Разработчик по крайней мере:
- Применял навык в разработке как минимум одного значимого проекта.
- Или имеет опыт использования навыка в течении как минимум месяца.
S2 "Уверенный"
Разработчик имеет опыт использования навыка более полугода в разработке по крайней мере двух значимых проектов или одного крупного.
S3 "Опытный"
Разработчик имеет опыт использования навыка более двух лет в разработке по крайней мере двух значимых проектов и одного крупного.
S4 "Экспертный"
Разработчик имеет навык уровня S3 и при этом обладает экспертными знаниями в связанной с ним области (признается экспертом по крайней мере двумя другими людьми с уровнем данного навыка S3 и выше).
S5 "Выдающийся"
Разработчик имеет навык уровня S3 или S4 и при этом он создал нечто новое, что оценивается другими разработчиками как выдающийся вклад в развитие связанной с данным навыком области.
Проект признается значимым, если его результатами пользуется кто-то еще, помимо самого разработчика, ради предоставляемых этим проектом функций.
Проект признается крупным, если он является значимым и над ним работало не меньше трех разработчиков одновременно.
Проект признается выдающимся вкладом в развитие некоторой области, если он является значимым для более чем трех человек и количество разработчиков (владеющих навыком, связанным с данной областью, с уровнем S2 и выше), которые признают его выдающимся, больше количества разработчиков тех же уровней, не признающих его таковым.
Опыт использования навыка выражается в реально затраченных работником часах на работу, требующую его применения, и сопутствующее обучение, которое требовалось для выполнения данной работы. День считается в размере принятой стандартной продолжительности рабочего дня (например, 5 часов), неделя - в размере принятой стандартной продолжительности рабочей недели (например, 5 дней) и месяц - в размере четырех рабочих недель.
Любой проект имеет минимальные требования к уровню владения навыками из некоторого множества навыков, обязательных для данного проекта. Общая оценка уровня квалификации разработчика для данного проекта рассчитывается по его текущим уровням владения этими навыками следующим образом:
Для каждого навыка s
из множества обязательных для проекта навыков определен минимальный уровень Is
(принимающий значения из интервала [0, 5]
, где 0 означает отсутствующий уровень, а числа 1..5
соответствуют уровням S1..S5
) и относительный вес навыка в проекте Ws
.
Для данного разработчика оценивается его текущий уровень Ls
владения навыком (принимающий значения из того же интервала, что и Is
) и проверяется выполнение условия: Ls >= Is
.
Далее значение квалификации разработчика K
вычисляется по формуле:
sum(|s| Ls * Ws) / sum(|s| Ws)
- сумма всех произведений Ls
на Ws
делится на сумму всех Ws
.
Целая часть рассчитанного значения квалификации обозначает уровень квалификации, который может быть одним из следующих:
- D0 - Стажер
- D1 - Начинающий
- D2 - Уверенный
- D3 - Опытный
- D4 - Эксперт
- D5 - Выдающийся
Само значение квалификации разработчика K
используется для расчета минимальной и максимально возможной зарплаты на данном проекте.