Инструменты пользователя

Инструменты сайта


courses:mse:concept

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

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

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

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

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

  • Обсуждение задач с кураторами
  • Проведение митингов с кураторами (подведение итогов за этап)
  • Проверка работы кураторов
  • Выборочная проверка команд