Планирование проекта

Планирование проекта #

Итерации и эпики #

Весь проект состоит из 3, 5 либо 7 итераций:

  • 1-я итерация посвящена планированию: вы собираете команду, пишете спецификацию, примеры программ, формируете свой план
  • 2-я и 3-я итерации посвящены целям 1-го эпика
  • 4-я и 5-я итерации посвящены целям 2-го эпика
  • 6-я и 7-я итерации посвящены целям 3-го эпика

Git-репозиторий #

В течение 1-й итерации у вас должен появиться репозиторий:

  1. При выборе C# обязательно используйте шаблон проекта: https://sourcecraft.dev/sshambir-public/compiler-template
  2. Ваш проект пишется с нуля на выбранном языке программирования
    • при выборе C# используйте C# 14 / .NET 10
    • при выборе C++ используйте C++23 и CMake как систему сборки

Цели 1-й итерации #

В конце 1-й итерации вы должны сдать несколько артефактов:

  1. Спецификация
  2. Примеры программ
  3. Дорожная карта
  4. Kanban-доска

Кроме того, вы должны пройти Вопросы для самопроверки и быть готовым ответить по ним перед преподавателем.

Оценка 1-й итерации #

Баллы за итерацию начисляются по формуле: score = base_score × deadline_factor × quality_factor

  • base_score — всегда 12 баллов
  • deadline_factor — коэффициент за соблюдение сроков
    • итерация длится до 4 недель и в этот период deadline_factor равен 1.0
    • если команда не успела в 4 недели, то deadline_factor сразу падает до 0.3
    • итерация завершается досрочно (до 4-й недели), если есть успешная попытка сдачи и команда сама решила начать следующую итерацию
  • quality_factor — коэффициент за качество от 0.5 до 1.0
    • у каждой роли свои критерии качества

Студент получает свой quality_factor в зависимости от своей роли:

  • Если существенных дефектов в его зоне ответственности нет, то его quality_factor равен 1.0
  • Если есть существенные дефекты, но их не слишком много, то его quality_factor будет в диапазоне [0.5 — 0.9]
  • Если дефектов слишком много, то попытка сдачи считается неудачной для всей команды

Критерии качества 1-й итерации #

Для каждой роли в команде есть один или несколько критериев качества.

РольКритерий качества
АналитикПолнота спецификации
АналитикЧитаемость спецификации
АналитикПрохождение вопросов для самопроверки
ТестировщикПолнота примеров для демонстрации возможностей языка
ТестировщикСоответствие примеров и спецификации
РазработчикиДорожная карта заполнена
РазработчикиСоответствие дорожной карты и спецификации
РазработчикиЗаполнение канбан-доски для 1-го эпика

Сколько эпиков нужно запланировать и сделать #

Вы можете целиться в нужную вам оценку:

  1. На оценку 3 надо выполнить минимум 1 эпик — это 3 итерации
  2. На оценку 4 надо выполнить минимум 2 эпика — это 5 итераций
  3. На оценку 5 надо выполнить все 3 эпика — это 7 итераций

К концу 1-й итерации:

  1. Спецификация должна быть сделана под все эпики, которые вы планируете сделать до конца курса.
    • Если вы стремитесь в оценке 3 — вы можете не планировать дальше 1-го эпика.
    • Аналогично, для оценки 4 можно не планировать дальше 2-го эпика.
  2. Примеры также должны быть сделаны под все эпики, которые вы планируете сделать до конца курса.
  3. Дорожная карта должна быть заполнена минимум на 3 итерации
  4. Kanban-доска должна быть заполнена историями первых 3-х итераций
    • Истории 1-й итерации должны быть завершены
    • Истории 2-й и 3-й итераций должны быть видны на доске