- •Кафедра «Информационные и управляющие системы» курсовая работа Организация и планирование разработки программного продукта по методологии Scrum (Agile методы), роль разработчика
- •Вводная информация для задания.
- •Пункты задания.
- •Формирование спринтов.
- •2)Обоснование возможности выпуска релиза в срок.
- •Описание моей роли в проекте.
- •Описание правил сборки кода build report
- •Возможные риски проекта
- •Предложения по улучшению работы в проекте по завершению спринта1.
- •Метрики для анализа
Формирование спринтов.
Одна из основных задач планирования спринта – определение его длины. Какая же длина оптимальна?
Короткие спринты – удобны. Они позволяют компании быть максимально “гибкой”, а значит готовой часто корректировать свои планы. Короткий спринт = короткий цикл обратной связи = частые релизы = быстрые отзывы от клиентов = меньше времени тратится на работу в неправильном направлении = быстрое обучение, совершенствование и т.д.
Но с другой стороны длинные спринты тоже хороши. У команды остаётся больше времени, чтобы набрать темп, больше пространства для манёвров, чтобы решить возникшие проблемы, а также больше времени для достижения цели спринта, а у вас меньше накладных расходов, таких как планирование спринта, демо и т.д.
Эксперементальным образом было доказано, что оптимальным является спринт, длинною в 3 недели. Однако, в условиях данной задачи, такое допущение невозможно. В связи с тем, что объем необходимых девелоперских затрат относительно высок в связи со сложностью проекта, длина спринта была установлена как 1,5 недели . Данное условие, ко всему прочему, гарантирует нам полунедельный остаток до релиза, который может учтен как способ предупреждения рисков. Итого, 5-недельный проект был разделен на 3 спринта, длинной в 1,5 недели. Опишем подробнее каждый из спринтов: 1 спринт (1,5 недели)
Обзор списка задач:
Проведение собрания по планированию спринта (Sprint Planning meeting).
Необходимо сформировать Sprint Backlog, определяющий набор задач, которые надо выполнить, чтобы достигнуть цели конкретного спринта; распределить роли членов команды на данном спринте.
Описать или изменить HLD
Проведение ежедневных собраний (Daily Meeting).
Целью собраний являются : обсуждение проблем, попытка совместного принятия решения по проблемам, понимание Scrum-manager-ом и остальными членами команды текущего положения процесса разработки, обсуждение подхода и изменения для каждой
продуктовой отдельной задачи, согласование предлагаемые изменения в
архитектуре/дизайне со всеми разработчиками, кого
это затрагивает
Проведение собрания по результатам спринта (Sprint Review).
Обзор результатов конкретного «спринта».
Проведение ретроспективного обзора спринта (Sprint Retrospective).
Команда и Scrum Master обсуждают что удалось и что надо улучшить в след. «спринте».
Основные элементы Sprint BackLog:
Разработка 1-ого компонента ПО(разработчик A)
Разработка unit-tests по 1 компоненту(разработчик С)
Разработка 2-ого компонента(разработчик Б)
Разработка unit-tests для 2-ого компонента(разработчик С)
Разработка unit-tests для интеграции вышеуказанных компонент(разработчик С)
Выполнить code reviews(разработчик A,Б)
Создать билд(разработчик A)
Задокументировать билд(разработчик Б,A,C)
В связи с тем, что первый спринт направлен на реализацию установленных требований, каждый из членов команды выполнял функции разработчик.
Описывая данный спринт, следует отметить тот факт, что через неделю поступают новые требования от заказчика, при этом скрам-мастером редактируется Project Backlog, однако данные требования игнорируются в текущем спринте, становясь задаче спринта 2.
Спринт 2.(1,5 недели)
Обзор списка задач:
Проведение собрания по планированию спринта (Sprint Planning meeting).
Необходимо сформировать Sprint Backlog, распределить роли
Выполнение ежедневной работы
Проведение ежедневных собраний (Daily Meeting).
Проведение собрания по результатам спринта (Sprint Review).
Проведение ретроспективного обзора спринта (Sprint Retrospective).
Выполнение приемочных тестов ответственного за продукт. На данном этапе это могут быть тесты, проверяющие исправление ранее выявленных ошибок, а также интеграционных.
Основные элементы Sprint BackLog:
Разработка новых изменений внесенных заказчиком в требования на этапе 1-ого спринта (разработчик A)
Формирование unit-tests по новой функциональности (разработчик А)
Баг-фиксинг первого билда.( разработчик Б)
Код-ревью и рефакторинг( разработчик A и разработчик Б)
Формирование билда(разработчик A)
Документирование билда(разработчик А)
Формирование тестов уровня верификации ошибок/задач ( тестировщик C):
проверить требование или ошибку
создать тесты для проверки новой или исправленной функциональности
выполнить обзор тестов (test cases review)
Формирование тестов регрессионного тестирования ( тестировщик С):
выбрать набор тестов для исполнения
выполнить выбранные тесты
отчитаться по найденным ошибкам
создать отчет (Test Log Report)
Формирование Exploratory Tests (тестировщик С)::
выполнить тесты (Exploratory session)
отчитаться по найденным ошибкам
создать тесты для проверки новой или исправленной функциональности
выполнить обзор тестов (test cases review)
Отличительной чертой данного спринта является совмещение процесса тестирования с разработкой. Планирование также усложняется невозможностью разработчика Б присутствовать на работе в течение 4 дней. Исходя из этого было сформированы следующие роли: член команды С стал полноправным тестировщиком, вся нагрузка по имплементации новых требований легла на плечи разработчика А, разработчик Б же по выздоровлению занимается багфиксингом первого билда.
Спринт 3 (1,5 недели)
Обзор списка задач:
Проведение собрания по планированию спринта (Sprint Planning meeting).
Необходимо сформировать Sprint Backlog, распределить роли
Выполнение ежедневной работы
Проведение ежедневных собраний (Daily Meeting).
Проведение собрания по результатам спринта (Sprint Review).
Проведение ретроспективного обзора спринта (Sprint Retrospective).
Выполнение приемочных тестов ответственного за продукт. На данном этапе это могут быть тесты, проверяющие исправление ранее выявленных ошибок, а также интеграционных и функциональных.
Основные элементы Sprint BackLog:
Разработка 3-го компонента(разработчик А,Б)
Разработка unit-test-ов(разработчики А,Б)
Формирование тестов уровня верификации ошибок/задач 2-ого билда ( тестировщик C)
Багфиксинг 2-ого билда(разработчик Б)
Билд 3-го релиза(разработчик А)
Формирование тестов уровня верификации ошибок/задач 3-ого релиза ( тестировщик C)
Багфиксинг 3-го релиза(разработчки А,Б)
Модификация тестов регрессионного тестирования в соотвествии с внедернием 3-ей компоненты (тестирощик С)
Модификация Exploratory Tests в соотвествии с внедрением 3-ей компоненты (тестировщик С)
Билд 4-ого релиза(финальный) (разработчик А)
Документирование Билда (разработчик Б)
Отличительной чертой данного спринта является выпуск 2 билдов за 1 спринт. Первый из них (спустя приблизит. 5 дней ) –содержит неоттестированную функциональность 3-го компонента, а второй (посл. День спринта)- с внесенными поправками. Как и в спринте 2, роли распределены как: 2 девелопера, 1 тестировщик.
Остаточные 0.5 недели.
Формируют запас. Защита от рисков.
