Как демонстрирует практика в вопросе управлении проектами слагающей успеха становится не только грамотно набранная команда и навык участников, но и метод ведения разработки.
В наше время созданы, опробованы и применяются несколько методов ведения проектов. Самые известные подходы не только в разработке IT-продуктов, но и в остальных областях командной работы — это проектный и процессный. Сейчас мы рассмотим второй подход, который базируется на предельной гибкости решения задач.
Стоит отметить, что основная цель agile-методологии — рабочий процесс, а не максимально быстрое завершение проекта. Разработка продолжается, для удобства она разделена на блоки. В центре внимания — решение актуальных проблем. Поэтому очень легко контролировать путь проекта и изменять его при необходимости.
Гибкие или agile-методы — это совокупность подходов к разработке различных продуктов (преимущественно программного обеспечения), использующих итерации (повторение определенных рабочих циклов), формирующих требования в динамике и реализуемых за счет постоянного взаимодействия специалистов разного профиля внутри команды.
Основная цель гибких методов — минимизировать риск за счет разделения работы на итерации (длительностью от 1 недели до месяца). Каждый из них представляет собой миниатюрный проект. В конце итерации он должен быть готов к публикации. Также в конце следующего периода команда проведет переоценку приоритетов развития.
Что такое Scrum? Scrum — один из гибких подходов к разработке и управлению проектами. Чаще всего этот метод используется в ИТ-сфере, но он применим и к различным сферам, в том числе к строительству, образованию, производству товаров, индустрии мероприятий и другим видам деятельности.
Основные принципы Scrum:
¬- За указанные короткие промежутки времени (спринты) заказчик получает готовый продукт с характеристиками, имеющими наивысший приоритет.
— Во время работы команда собирается для обсуждения.
— Проект можно завершить, предварительно определив новые цели, которые становятся задачами, и установив продолжительность спринта.
— Важные термины. Резерв проекта — перечень требований к функциональности объекта разработки. Бэклог спринта — это список функций из бэклога проекта, которые требуются заказчику. Статьи расположены по степени важности.
— В процессе разработки определяются роли: Product Owner, ScrumMaster и Scrum Team.
Такой подход позволяет максимально контролировать процесс разработки, чтобы в относительно короткие сроки получить намеченный результат и, при необходимости, скорректировать его.
Рассмотрим сильные и слабые стороны методологии.
Сильные стороны. Scrum был разработан для проектов, требующих «быстрых побед» в сочетании с терпимостью к изменениям. Кроме того, этот фреймворк подходит для ситуаций, когда не все члены команды имеют достаточный опыт в той области, в которой реализуется проект – постоянная коммуникация между членами команды допускает отсутствие опыта или квалификации некоторых сотрудников за счет информации и помощи от коллеги.
Онлайн-телеканал Netflix — отличный пример быстрого результата. Сайт ресурса обновляется каждые две недели благодаря Scrum, который не только позволяет работать на высокой скорости, но и позволяет получить пользовательский опыт и определить, что наиболее важно для клиентов. С каждой итерацией разработчики добавляют и тестируют новые функции сайта и удаляют те, которые не использовались клиентами. Вместо долгой и дорогостоящей подготовки к крупному релизу поставки Scrum небольшие. За ними легко следить, и если что-то пойдет не так, их можно быстро исправить.
Слабые стороны. Скрам предъявляет высокие требования к команде проекта. Она должна быть небольшой (5-9 человек) и межфункциональной — это означает, что члены команды должны обладать более чем одной компетенцией, необходимой для реализации проекта. Например, разработчик программного обеспечения должен иметь знания в области тестирования и бизнес-аналитики. Это сделано для того, чтобы часть команды не оставалась «без дела» на разных этапах проекта, а сотрудники могли помогать и подменять друг друга.
Кроме того, члены команды должны быть «командными игроками», активно брать на себя ответственность и уметь самоорганизовываться. Найти такую зрелую команду очень сложно.
Scrum подходит не для всех команд и организаций, в том числе и потому, что предлагаемый процесс может не подходить для разработки конкретного продукта — например, промышленного станка или строительства здания.