Программная инженерия, концепция курса

Регистрация открыта до пятницы 18.09 13:30.

Предпочтение отдается заявкам, поданным раньше.

SWEBOK

Quick overview of SWEBOK

Software Engineering Code of Ethics and Professional Practice (RUS)

Терминология

Команда - группа, состоящая из бакалавров (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 по результатам митинга с командами руководителю курса

Предоставление результатов работы за итерацию руководителю курса

Проверка проектов и оценивание участников проектов

Каждый куратор также является лидером команды.

Руководитель курса (Берленко Т.А.):

Обсуждение задач с кураторами

Проведение митингов с кураторами (подведение итогов за этап)

Проверка работы кураторов

Выборочная проверка команд