Agile software development – это своеобразный подход, использующийся при разработке ПО, который является очень гибким. Его часто используют в командах, состоящих из малого количества человек. Процесс работы над тем или иным проектом разделяется на короткие промежутки по две-три недели. В каждый из этих промежутков решается определенная серия задач: нужно анализировать требования, проектировать, программировать, тестировать и составлять документную базу. По прошествии каждого такого HADI-цикла команда должна сделать выводы из проанализированного результата и обозначить приоритетные направления для следующего периода. Результатом каждого цикла-периода становится мини-продукт или часть продукта.
Говоря об Agile, используют два определения:
Реклама
-
- это система ценностей, на которую равняются разработчики и стартапы;
-
- общее наименование методик, прямо или косвенно пересекающихся с этими ценностями.
Команды включают в себя обычно разнопрофильных сотрудников, таких как разработчики, тестировщики, менеджеры проектов, интерфейсные дизайнеры и технические писатели. Каждый из этих сотрудник ценен и занимает положение наравне с остальными, работают в одном офисе. Менеджер представляет интересы заказчика.
Основные принципы Agile
У Agile есть свой манифест, который основывается на нескольких принципах:
-
- Люди и то, как они друг с другом сотрудничают, важнее процесса и инструментария. Этот принцип заключается в том, что необходимо поддерживать условия, в которых члены команды будут чувствовать максимальную свободу и независимость от инструментов и процессов. Это позволяет максимально оптимизировать работу. Каждый действует так, как считает нужным, при этом учитывая значимость результата и осознавая себя частью дела. Минимум бюрократии: все участники процесса общаются между собой, так и с самим заказчиком, благо сейчас это можно делать онлайн (там можно и предоставить визуализацию уже проделанной работы за счет функции показа экрана и интерактивной доски).
-
- Результат работы важнее документов. Заказчику, что логично, нужен готовый работающий продукт, а не презентационные мероприятия, на которых его нахваливают. Главное, обеспечить максимально быстрое и эффективное выполнение поставленных задач, а не акцентировать внимание на фактически бесполезной документации.
-
- Сотрудничество с клиентом важнее, чем соблюдение формальностей. Несмотря на то, что перед реализацией проекта был сформирован договор с рядом жестких условий, в ходе работы эти условия могут видоизменяться. В ходе работы может выясниться, что некоторые пункты являются не такими уж и значительными, и, опуская их, решить задачу будет куда проще, а конечный итог будет результативным. Это интересно и компании и клиентам, так как последнему важно получить готовый продукт, а не добиваться соблюдения формальностей. Но, чтобы избежать разногласий, на всех этапах работы необходимо договариваться о возможных изменениях.
-
- Важно не следовать плану, а быть готовым к любым возможным корректировкам. Изменения не только можно, но и следует вносить на каждом HADI-цикле работы над проектом. Иначе зачастую приходится переносить их на последний момент, когда сроки уже не будут позволять делать доработки.
Итак, основополагающая цель – удовлетворить потребности клиента, с которым нужно работать ежедневно всей группе. Важен фактор мотивации, от денежных поощрений до комфортных условий труда. Изменения необходимо делать в ходе реализации проекта, при этом нужно в оговоренные сроки выпускать работающий продукт. И один из самых важных факторов – обеспечение самоорганизации работы как всей группы, так и отдельных ее участников.
Где используется Agile
На заре появления такого термина Agile использовался разработчиками программного обеспечения, игр и интерфейсов. Это такие компании как, напрNetflixак Google, Netflix, Microsoft и другие. Сейчас сфера применения этой, вполне можно струдопроизводства трудопроизводства гораздо расширилась и она применяется даже для производства техники.
Каким компаниям нужен Agile
Пусть в основном AАйТи используется в АйТи, сейчас его принципы котируются и для других компаний, работающих по различным направлениям. Но это не означает, что к Agile нужно прибегать повсеместно. Когда использовать Agile:
-
- существуют команды, которые создают или просто улучшают продукт в условиях полной неопределенности;
-
- необходимо выпустить бета-версию продукта до того, как это сделают конкуренты;
-
- разработать совершенно новый аутентичный продукт, свойства которого нельзя предсказать.
То есть Agile отлично подходит для стартапов, которые занимаются инновационными решениями, но он едва ли он подойдет компаниям, у которых уже отлажен процесс производства и которые имеют сложную структуру. В работу с такими организациями лучше внедрять отдельные элементы Agile, но не все принципы в их совокупности.
Однако и в АйТи Agile тоже может быть не самым лучшим способом оптимизации рабочего процесса. Иногда могут работать и другие практики, как, например, DevOps (методика, при которой все, кто участвует в процессе, взаимодействуют между собой, а рабочие процессы объединены друг с другом).
Иногда нужно просто провести тестирование инновационной идеи, не погружаясь при этом во все этапы разработки продукта. Для этого тоже существует ряд не менее продуктивных методик, например, Customer Development, Design Thinking и т. д.
Совсем недавно появился подход, включающий в себя некоторые положения, используемые Agile. Он называется, если переводить дословно: «гибкость в бизнесе». Это совсем новая методика, которая была разработана буквально всего пару лет назад. Она позволяет не только ускорить процесс реализации проекта и конечного продукта, но также оперативно реагировать на любые изменения. Такая система предполагает гибкое целеполагание и грамотное распределение ресурсов.
Подпишитесь на новости «ПолитНавигатор» в ТамТам, Яндекс.Дзен, Telegram, Одноклассниках, Вконтакте, каналы TikTok и YouTube.