Содержание
Программная инженерия, концепция курса
- Регистрация открыта до пятницы 18.09 13:30.
- Предпочтение отдается заявкам, поданным раньше.
Терминология
- Команда - группа, состоящая из бакалавров (2-3 человек) и магистров (1 человек). Иногда команда состоит только из бакалавров;
- Итерация - временной интервал с четко определенным результатом, который команда должна достичь - примерно 4 недели == месяц;
- Лидер - бакалавр или магистр, который является ответственным за реализацию проекта.
Организация
- Руководитель курса
- 4 куратора
- 14 команд (1 лидер + 2-3 бакалавра)
Критерии оценивания
Термины
Product value - наблюдаемая степень достижения цели проекта, которая эквивалентна объему пользы от продукта для пользователя. Польза выражается в количестве/качестве реализации сценариев использования продукта.
Эскалирование (или эскалация) проблемы - оперативная передача информации о возникшей проблеме на вышестоящий уровень иерархии. При этом эскалируются только проблемы, для решения которых команда не обладает ресурсами и/или инструментами.
Формирование оценки
Оценка за прохождение данного курса формируется по следующим критериям:
Работа над проектом:
- Законченность приложения:
- Реализованы основные фичи приложения.
- Приложение протестировано разными способами и/или написаны юнит-тесты.
- Приложение внедрено и/или есть инструкция по внедрению.
- Пригодность приложения к использованию:
- Инструкция по сборке и развертыванию,
- Удобство использования.
- Индивидуальный вклад в разработку:
- Количество и качество сделанных фич.
- Своевременность и полнота выполнения требований итераций курса:
- Рост product value от итерации к итерации.
- Демонстрация промежуточных результатов.
Презентация проекта:
- Оценки экспертов.
- Качество демонстрационного материала.
Культура разработки:
- Индивидуальные метрики работы в репозитории:
- Работа с issues и pull requests.
- Количество и качество коммитов.
- Качество взаимодействия:
- Внутри команды.
- Эскалирование проблем.
- Пунктуальность:
- Выполнение задач на протяжении всей итерации.
Итерации
Первая итерация посвящена знакомству членов команды друг с другом, с проектом, который они будут реализовывать, и с технологиями, которые будут использоваться. В течение итерации студенты выявляют требования к проекту, разрабатывают макет UI (или CLI, в зависимости от проекта).
В конце первой интерации:
- Создан первоначальный макет UI, согласован с преподавателем.
- В репозитории проекта созданы issues на следующую итерацию.
- Приложение собирается у куратора и показывает нужный UI с заглушками/есть видео его работы.
- Студенты прошли необходимые онлайн-курсы.
Окончание 1го этапа 25 сентября.
В конце первого этапа бакалавры-разработчики оцениваются по следующим критериям:
- Пройдены онлайн-курсы (если было нужно). Обратите внимание, что курсы нужно проходить только в первую итерацию, после этого прохождение оценено не будет.
- Задачи, поставленные лидерами команды/кураторами, были выполнены в полном объеме и вовремя.
Лидеры команд оцениваются по следующим критериям:
- Пройдены онлайн-курсы (если было нужно).
- Корректно созданы issues (задачи) в репозитории. У каждой задачи есть теги, по которым можно понять, к какой итерации и фиче она относится. Каждая задача должна быть назначена на определенного студента. Каждая задача должна иметь понятный результат выполнения (исходный код/инструкция/схема/картинка/…), который указан в описании задачи.
Оценки ставят кураторы.
Остальные этапы посвещены разработке фич проекта, начинает наблюдаться рост Product Value.
В конце второй интерации:
- В репозитории проекта созданы issues на следующую итерацию.
- В репозитории проекта находится презентация команды. Тут можно ознакомиться с требованиями к презентации.
- Есть корректная инструкция по запуску приложения в репозитории.
- Есть тесты для разработанного набора фич.
- Приложение собирается у куратора (используется инструкция от команды) и показывает нужный UI со всеми требуемыми фичами или есть видео его работы.
Окончание 2го этапа 30 октября.
В конце первого этапа бакалавры-разработчики оцениваются по следующим критериям:
- Задачи, поставленные лидерами команды/кураторами, были выполнены в полном объеме и вовремя.
Лидеры команд оцениваются по следующим критериям:
- Задачи, которые были поставлены на итерацию, имеют корректное описание и учитывают, какая функциональность необходима для итерации.
- Задачи, поставленные лидерами команды/кураторами, были выполнены в полном объеме и вовремя.
- Корректно созданы issues (задачи) в репозитории. У каждой задачи есть теги, по которым можно понять, к какой итерации и фиче она относится. Каждая задача должна быть назначена на определенного студента. Каждая задача должна иметь понятный результат выполнения (исходный код/инструкция/схема/картинка/…), который указан в описании задачи.
- Создана и загружена презентация.
Оценки ставят кураторы.
В конце третьей интерации:
- В репозитории проекта созданы issues на следующую итерацию.
- В репозитории проекта находится презентация команды. Тут можно ознакомиться с требованиями к презентации.
- Есть корректная инструкция по запуску приложения в репозитории.
- Есть тесты для разработанного набора фич.
- Приложение собирается у куратора (используется инструкция от команды) и показывает нужный UI со всеми требуемыми фичами или есть видео его работы.
Окончание 3го этапа 27 ноября.
В конце первого этапа бакалавры-разработчики оцениваются по следующим критериям:
- Задачи, поставленные лидерами команды/кураторами, были выполнены в полном объеме и вовремя.
Лидеры команд оцениваются по следующим критериям:
- Задачи, которые были поставлены на итерацию, имеют корректное описание и учитывают, какая функциональность необходима для итерации.
- Задачи, поставленные лидерами команды/кураторами, были выполнены в полном объеме и вовремя.
- Корректно созданы issues (задачи) в репозитории. У каждой задачи есть теги, по которым можно понять, к какой итерации и фиче она относится. Каждая задача должна быть назначена на определенного студента. Каждая задача должна иметь понятный результат выполнения (исходный код/инструкция/схема/картинка/…), который указан в описании задачи.
- Создана и загружена презентация.
Оценки ставят кураторы.
В конце последней итерации:
- Продуктификация приложения, подготовление необходимой документации по приложению.
- Приложение работает стабильно и без ошибок.
- Подготовлены скринкасты демонстрации работы основных сценариев использования приложения.
Окончание 4го этапа 25 декабря.
В конце четвертого этапа бакалавры-разработчики оцениваются по следующим критериям:
- Задачи, поставленные лидерами команды/кураторами, были выполнены в полном объеме и вовремя.
Лидеры команд оцениваются по следующим критериям:
- Задачи, которые были поставлены на итерацию, имеют корректное описание и учитывают, какая функциональность необходима для итерации.
- Задачи, поставленные лидерами команды/кураторами, были выполнены в полном объеме и вовремя.
- Полученное приложение имеет максимально возможный объем разработанных фич, протестировано и готово к использованию.
- Есть все необходимые инструкции по установке, запуску, использованию приложения в репозитории.
- Создана и загружена презентация.
Оценки ставят кураторы.
Роли
Разработчики: программирование/тестирование приложение, выполнение поставленных задач.
Лидеры: выполнение поставленных задач + управление задачами и кодом в рамках команды.
Кураторы:
- Проведение митингов с командами 1 раз в неделю
- Согласование архитектуры проекта с командой и с руководителем курса
- Обсуждение задач с командой
- Отправка meeting minutes по результатам митинга с командами руководителю курса
- Предоставление результатов работы за итерацию руководителю курса
- Проверка проектов и оценивание участников проектов
Каждый куратор также является лидером команды.
Руководитель курса (Берленко Т.А.):
- Обсуждение задач с кураторами
- Проведение митингов с кураторами (подведение итогов за этап)
- Проверка работы кураторов
- Выборочная проверка команд