Управление ресурсами
•Планирование работ с привязкой к персоналу
•Оценка трудоемкости работ
•Составление сетевых/PERT диаграмм, получение общего времени выполнения проекта
•Получение детальных планов с выделенными фокусами контроля
•Управление персоналом
•Наем и увольнение
•Обучение сотрудников
•Оценка опыта, знаний и умений
•Мотивация сотрудников
•Построение сплоченной команды
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
11 |
Оценки трудоемкости и метрики ПО
•Оценки трудоемкости производятся на основе некоторых усредненных представлений о производительности сотрудников
исложности работ
•На самом деле и производительность, и сложность зависят от многих факторов и сильно меняются, в зависимости от человека, технологий, окружения, вида работ, времени и пр.
•Сложность создаваемого ПО оценивается с помощью метрик сложности
•Строки кода (lines of code, LOC)
•Функциональные/объектные точки (functional/object points, FP/OP)
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
12 |
Строки кода
•Определяет объем кода
•Очень сильно варьируются в зависимости от многих факторов
•Обычно подразумевают хорошо откомментированный код
•Тем не менее, активно и очень широко используются из-за наглядности
•Усредненная производительность разработчика
•Нужно достаточно хорошо представлять это число для команды проекта, чтобы проводить обоснованные оценки и вести переговоры
•5000-50000 отлаженных и хорошо откомментированных строк кода в год
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
13 |
Функциональные точки
•Определяет объем функциональности
•Оценка
•Выделяются отдельные взаимодействия с пользователем: запросы, выводы, интерактивные взаимодействия
•Выделяются внутренние структуры данных
•Выделяются внешние структуры данных
•Каждый элемент оценивается по шкале простой-средний- сложный
•На основе таблиц весов, суммарная оценка считается как взвешенная сумма
•1 FP ~ 80-100 LOC на C ~ 15-25 LOC на Java
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
14 |
Оценка трудоемкости проекта
•Детальная оценка всех работ из структуры и суммирование
•Довольно трудоемко в сложных случаях
•Constructive Cost Model II, COCOMO II
•Используется для поверхностной оценки в сложных проектах, без детального оценивания отдельных работ
•На предварительных этапах
Effort = A * Size, (Size в FP)
•На этапах проектирования и разработки
Effort = A* SizeB, (Size в KLOC) Time = C*Effort(k+l*B)
•A – учитывает производительность и сложность продукта
B – учитывает зрелость процесса разработки и сплоченность команды
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
15 |
Планирование
•Входные данные – детализированная структура работ
•Уточняются зависимости между работами
•В итоге зависимости д.б. простыми, конец-начало, иначе нужно разбить работы мельче
•Определяются исполнители работ
•При этом некоторые исполнители назначаются на несколько работ, и возникают новые зависимости, поскольку обычно одновременно один исполнитель выполняет одну работу
•Строится схема зависимостей работ – сетевая диаграмма проекта
•Оценивается время выполнения работ
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
16 |
Сетевая и PERT-диаграммы
•Сетевая диаграмма: вершины – работы, ребра – зависимости
•PERT-диаграмма: ребра – работы,
вершины – зависимости (+ начало и конец)
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
17 |
Критические пути
•После оценки времени выполнения ребра на PERT-диаграмме размечены этими временами
•Критический путь – путь по PERT-диаграмме от начала до конца, имеющий наибольшую сумму меток входящих в него ребер
•Может быть несколько критических путей
•Определяет наименьшее возможное время выполнения проекта в целом
•Работы, входящие в любой критический путь, подлежат более строгому контролю – задержка в любой из таких работ означает задержку проекта в целом
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
18 |
Производительность труда
•Очень индивидуальна
•Зависит от специализации, опыта, знаний, умений, используемых технологий
•Производительность новичков
•В начале – низкая или отрицательная из-за отвлечения других на обучение
•Нельзя поправить ход неудачного проекта, просто добавив туда новых людей
•Не стоит рассчитывать на высокую производительность команды в начале проекта
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
19 |
Мотивация сотрудников
Один из самых сложных вопросов, общей теории нет
•Различные техники
•Учет потребностей
•Соблюдение справедливости
•Соответствие усилий, результатов и вознаграждения
•Соотношение вознаграждений и усилий в команде
•Разделение людей по типам мотивации
•Люди с целевой ориентацией – любят решать четко поставленные, сложные задачи
•Люди с само-ориентацией – любят показатели успеха и признание заслуг
•Люди с внешней ориентацией – любят работать в коллективе над общими задачами
•Ситуационное лидерство
Кулямин В.В. ФКН ВШЭ, ПИ / ВМК МГУ |
Основы инженерии программного обеспечения |
20 |
