Как наладить процесс коммуникации, и максимально эффективно использовать время в студенческой командной разработке проектов? О первом опыте с нами поделились студенты, обучающиеся на образовательной программе «Программная инженерия» (ПИ).
Мы расскажем вам о Scrum– методе, который используется в разработке проектов, когда за небольшие сроки нужно создать продукт. Данный метод включает в себя некоторые артефакты и особенности (спринты, scrum-доска, диаграмма сгорания), о которых и пойдёт речь.
На третьем курсе на одной из дисциплин (архитектура требований к ПО) у студентов появляется возможность поработать над проектом, начиная с формирования команды до презентации заказчику.
ПОДГОТОВКА
Оксана:
«Мы сгруппировались довольно быстро. Сначала нас было четверо, где все были лучшими друзьями. Позже к нам захотели присоединиться ещё два человека. Посовещавшись, мы решили, что это пойдёт нам в плюс.»
Марк:
«На старте – распределение ролей и обсуждение идей для будущего программного продукта. Оксана взяла на себя обязанности scrum-мастера, Артём – ведущего разработчика, Влада – бизнес-аналитика и тестировщика. Я был в роли разработчика и дизайнера. Но при необходимости, каждый выполнял задачи разного рода, которые ему поручали. Это помогло развиться всем в разных направлениях и лучше понять ту или иную область».
Как и любой другой проект, этот начинался с документации. Основным документом стал SRS (Software Requirements Specification), где описаны все тонкости, которые были учтены при разработке в дальнейшем.
Влада:
«Первое, к чему приступили – заполнение документации и проектирование. Мы смогли разделить документ между членами команды на разделы и каждый внёс свой вклад. Это было очень важно, т.к. в дальнейшем ориентировались на уже описанные моменты. Уже на завершающей стадии проектирования появились первые задания, и уже можно было приступать к разработке».
Артём:
«В начале мне приходилось довольно часто помогать и что-то объяснять, ведь до этого никто не сталкивался с технологиями, которые мы использовали. От этого фактически потраченного времени было куда больше, чем указано. Позже все разобрались, втянулись, и возникали только конкретные вопросы с нестандартными заданиями. Практически все применяемые знания я изучал вне стен вуза, основную часть которых мне удалось получить на внешних курсах EPAM.»
ПЕРВЫЙ СПРИНТ
Марк:
«На первый спринт (спринт – временной промежуток от 2 до 4 недель, отведенный команде для выполнения поставленный цели) мы взяли относительно мало задач, которые успели сделать очень быстро. Уже потом мы понимали возможности каждого отдельно, поэтому нам удавалось брать на неделю достаточно, чтобы загрузить всех. В этом нам сильно помогла эстимация (оценка), где каждой задаче присваивался «вес». И уже в зависимости от «веса» мы брали столько, сколько смогли бы сделать. Ориентировались на то, сколько сделали за прошлую неделю.»
Уже после первого спринта в коде было много ошибок, которые не удалось устранить за отведённое время. Они были обнаружены во время конечного тестирования. Поэтому, что-то пришлось перенести на следующий спринт».
Влада:
«По началу тестирование мне казалось «тёмным лесом», ведь до этого мне не приходилось его изучать. С этой задачей сильно помогла лекция, которую преподаватель курса специально выделил для тестировщиков. На неё пригласили спикера, который объяснил ключевые моменты, но было бы лучше, если бы он показал всё на реальных примерах: как заполнять документацию, как производить тестирование и т.д.».
ТРУДНОСТИ
Оксана:
«Во время второго спринта работа уже шла полным ходом, хотя мы ещё разбирались с такими инструментами как GitHub (система контроля версий) и Trello (инструмент для создания scrum-доски –места, где собраны все текущие задачи). На «дейликах» (daily meeting – ежедневная встреча, где обсуждается проделанную и выполняемую работу) мы иногда перераспределяли задания, если это было необходимо».
После прохождения второй контрольной точки уже обычно не возникает никаких проблем с организацией, но иногда приходится сталкиваться с форс-мажорными ситуациями.
Оксана:
«Так как проект всё же разрабатывался в стенах университета, он не всегда был под первым приоритетом. В некоторые дни приходилось отходить от запланированных двух часов в день (именно столько рекомендовал преподаватель) или вовсе брать выходной. В такие моменты мы отставали от плана, что сказывалось на диаграмме сгорания (burn-down chart отображает запланированное и фактическое время работы команды). Были и ситуации, когда приходилось помогать, если кто-то не успевал или что-то не понимал».
ФИНИШНАЯ ПРЯМАЯ
Артём:
«С каждым спринтом мы брали чуть больше (работы), чем на предыдущий, ведь с каждой неделей у нас было больше опыта. Сильно развивались и soft-skills (навыки, отвечающие за участие в рабочем процессе, продуктивность и т.п.). В целом, процесс был построен хорошо: у нас не возникало проблем с дедлайнами из-за чёткого планирования, а также не было сильной зависимости от других участников команды, ведь каждый делал своё дело».
По завершению работы над программным продуктом, его нужно было презентовать «инвестору», в роли которого выступал преподаватель. Для этого нужно подготовить питч (pitch – устная или визуальная презентация с целью нахождения инвесторов) на 5 минут. Он стал завершающим этапом, после которого были выставлены оценки.
ПОЛЕЗНЫЙ ОПЫТ
Артём:
«Если сравнивать с другими проектами в стенах вуза, этот, пожалуй, понравился мне больше всего. Благодаря разделению обязанностей, спринтам, митингам и т.д. каждый получил интересный и полезный опыт».
Влада:
«Сам предмет был очень полезным: мы учились работать в команде, разобрались с методологией Scrum и всеми тонкостями, которые пригодятся в будущем».
Оксана:
«Мы получили высокий балл. Достичь смогли этого благодаря слаженной работе: каждый понимал свою роль и не подводил других. 100 баллов мы не получили, ведь в начале у нас были проблемы с организацией, из-за чего за первые два спринта мы получили меньше баллов. Но в целом, scrum – это круто.»
Беседу вел Марк Харланов
Участники проекта: Артём Шпорта, Владислава Коровайна, Оксана Веретина