По мотивам «Can and Should You Adopt Agile In Your Company» Маркуса Йенсена (Marcus Jensen).
Если ваш бизнес хоть каким-то образом соприкасается с информационными технологиями или сопредельными области, вы наверняка слышали об Agile. Вполне вероятно, что это слово, ставшее сейчас одним из самых модных словечек айтишников ХХI века, уже набило оскомину.
Что же такое Agile на самом деле? Нужен ли он именно вам? Является ли он для вашей компании гарантом дальнейшего роста и процветания?
Откуда есть пошёл Agile
«Agile Software Development» – гибкая разработка программного обеспечения. Другими словами – новейший подход к разработке ПО, у которого есть ряд отличительных особенностей:
- работа сразу нескольких команд разработчиков;
- постепенная и непрерывная разработка каждого участка ПО.
Это позволяет учесть неминуемые при классическом подходе «об этом мы не подумали». То есть все необходимые уточнения и дополнения, ставшие следствием изменения внешней ситуации или же появившееся в результате самого процесса разработки ПО, учитываются сразу же, гибко и адаптивно.
Эта идея не нова, она зародилась еще в пятидесятых годах в Service Bureau Corporation, принадлежащей IBM. В семидесятых некоторые разработчики активно продвигали эту идею, а в девяностых появилось сразу несколько новых методов разработки ПО, таких как ускоренная разработка приложений (rapid application development), унифицированные процессы (unified process), метод разработки динамических систем (dynamic systems development method), Scrum, Crystal Clear, экстремальное программирование (extreme programming) и разработка ориентированная на функционал (feature-driven development).
Все эти методы впоследствии легли в основу Agile.
Манифест Agile
В 2001 году группой из 17 разработчиков во время конференции в Юте (США) был подписан манифест Agile. Манифест основан на 12 принципах, описывающих постоянно меняющийся набор требований: постоянное общение с заказчиком, непрерывное и постепенное развитие, самостоятельную организация команд разработчиков и так далее.
Конечно, можно рассказать гораздо больше и об этом манифесте, и об Альянсе специалистов Agile, и многих других движениях и организациях, которые стали его следствием, но эту будет уже совсем другая история.
Почему Agile?
Есть целый ряд причин, по которым принципы Agile позволяют работать эффективнее по сравнению с традиционными методиками управления проектами.
Во-первых, Agile позволяет выявлять проблемы на самых ранних стадиях разработки и сразу же определять пути решения и дальнейшего развития.
Во-вторых, внедрение ПО на ранней стадии разработки, упрощает принятие решений, поскольку они будут основаны на реальной ситуации, а не на теоретических выкладках, которые имеются до начала процесса разработки.
В-третьих, Agile облегчает процесс общения с заказчиком, который при таком подходе несомненно лучше разбирается в продукте и его характеристиках. Соответственно, растут шансы учесть все требования вовремя.
И наконец, Agile позволяет минимизировать риски, так как отсутствует та самая «страшная» дата релиза, когда в один день оцениваются все предыдущие месяцы каторжного труда и разом выявляются все баги, неточности и недочеты, превращая приложенные гигантские усилия в пустую трату времени.
Внедрение
Вероятно, прочитав статью, вы решили, что Agile – тот самый путь, по которому должна идти ваша компания. Однако нужно иметь в виду, что достичь всего описанного великолепия невозможно одним лишь взмахом волшебной палочки. Вам потребуются упорный труд и серьёзная поддержка. При этом совсем не лишними будут отличные управленческие навыки, так как этот подход требует изменения всей парадигмы управления проектами.
Но прежде всего вам необходимо четко понимать, как именно работает Agile и каким образом лучше всего внедрять его принципы в операционную деятельность именно вашей компании. Quora предлагает некоторую интересную информацию по данной теме – здесь и здесь.
Наверняка придётся также внедрить целый ряд специальных решений, а вашим сотрудникам потребуется пройти обучение, как минимум базовый курс, рассказывающий об основных принципах Agile. Это займёт время, но поскольку Agile делает разработку комфортнее для самих специалистов, вряд ли они будут возражать.
Вместо заключения.
Возможно, самое важное, что нужно запомнить об Agile – это, то что совершенство недостижимо. И более того, совершенство не является целью. Agile – это очень универсальное и гибкое решение, которое требует универсального и гибкого подхода.
Используйте. Вы обязательно будете в выигрыше.