Ксения Кабан
Ксения Кабан
7 мин. читать
1919 показов
454 открытия

Просто про agile и софт-скиллы. Что за тема и надо ли оно вам?


Сразу итог для тех, кому очень надо

AGILE — cупер-софтовая история методология, которая по сути доносит, как подходить к адаптации и изменениям в процессе разработки решений, динамично подстраиваться и рационально управлять проектами. Тут тебе и саморегуляция, и гибкость, и адаптивность, и упрощение, стимуляция эффективного взаимодействия и постоянное самосовершенствование. Очень на руку большим и малым командам, потому что с Agile все супер-логично и прозрачно складывается в здоровый рабочий процесс. 


Что за штука этот ваш Agile

Теперь с самого начала. 

Agile – подход к управлению проектами, методология, позволяющая командам гибко адаптироваться к изменениям и быстро поставлять ценность пользователям не ломаясь на управлении огромным количеством процессов и задач разных команд.

Основана на одноименномAgile Manifesto. Фактически это философия и принципы взаимодействия с клиентом, проектом и задачами для подготовки к его реализации, самой реализации и работы постфактум.

Отличная схема от Сhristophe le Сoёnt

А что за манифест? 

Манифест Agile — 4 основные ценности и 12 принципов, сформулированные и утвержденные в феврале 2001 году группой авторитетных разработчиков программного обеспечения, стремившихся найти более эффективные способы работы. Он стал основой для Agile-методологий и определил основные ценности и принципы, которые легли в основу Agile.

То есть говоря про Agile, понимаем сперва, нам про методологию, построенную на принципах манифеста говорят или про сам манифест и философию.

Очень официально вышло. Разбавим официоз.
Жизненный опыт подсказывается, что по факту собрались умные мужики и решили, что хватит работать матюки, сбиваясь и пытаясь контролировать неконтролируемое, сели и придумали как сделать так, чтобы всем было зашибись. По ссылке ниже сам Манифест, официальный сайт. Тот случай, когда начинка так глубока и ценна, что можно не трогать визуал 23 года и нормально.
https://agilemanifesto.org/principles.html

Авторы манифеста

Манифест Agile был подписан в 2001 году 17 разработчиками программного обеспечения, которые собрались на ретрит в Snowbird в Юта, чтобы создать альтернативу существующим методологиям с акцентом на взаимодействии, гибкости и удовлетворении потребностей клиентов.


Среди авторов: 

Mike Beaty — практик Agile, участвующий в разработке программного обеспечения.
Alistair Cockburn — специалист по Agile и методологии разработки программного обеспечения. (Шотладская фамилия, читать как Коуберн)
Martin Fowler — автор и лектор, известный своими работами в области Agile и архитектуры программного обеспечения.

И, конечно, Ken Schwaber и Jeff Sutherland — одни из создателей Scrum, активно продвигающие идеи Agile и Scrum; люди, внесшие значительный вклад во всю эту тему. Собственно, без них бы кто-то может это и придумал бы, но скорее всего не так скоро и круто, как они сами.

Вот тут можно глянуть на них вживую.

Интервью Ken Schwaber и Jeff Sutherland от 2017

Waterfall -> Scrum + Agile

По сути принципы AGILE и основанная на них методика стала своего рода софт-скилловой обложкой для SCRUM — созданного в 1990х воркфрейма, возникшего в ответ на недостатки менее гибких традиционных подходов к работе, например, Waterfall (1970). Он и новый игрок Scrum развивались параллельно, однако последний предлагал более гибкий и адаптивный подход к управлению проектами, особенно в условиях неопределенности и изменений. Но они были скорее техничными, поэтому потребовалась философия управления всеми этими наработками.

Waterfall — это линейный подход, где каждый этап разработки (требования, дизайн, кодирование, тестирование, внедрение) выполняется последовательно, без возврата к предыдущим шагам. Он хорошо подходит для проектов с чёткими и неизменными требованиями.

Agile, в отличие от Waterfall, предполагает итеративный и гибкий процесс. Разработка идёт небольшими циклами (итерациями или спринтами), что позволяет вносить изменения в процессе и быстро адаптироваться к новым требованиям. Agile больше ориентирован на сотрудничество, частые поставки и отклик на изменения.

Основной идеей Scrum было создание фреймворка, который позволял бы командам адаптироваться к изменениям и быстрее реагировать на требования клиентов. Это подход стал ответом на проблемы, возникающие в линейных методах, таких как Waterfall, где изменения на поздних стадиях разработки могут быть сложными и дорогостоящими. 

Авторы никого не заставляли, ни к чему не принуждали. Они просто сделали общедоступным результат своего умственного труда и своими подписями под сформированным в манифест трудом буквально сказали: «Ребят, вы как знаете, но мы, матерые разрабы, решили делать теперь так, рекомендуем, а там как хотите». И все захотели.

После создания Манифеста Agile новые методологии и практики начали набирать популярность, в том числе и сам Scrum. Они стали широко применяться в разработке программного обеспечения, а Agile подходы стали внедряться в другие области — в управление проектами и организационное развитие. Часто даже в отрыве от всей методологии, частично, просто как пример того, как можно софтово подходить к решению сиюминутных или более масштабных задач. 


4 главных ценности согласно Agile Manifesto 

1. Люди и взаимодействие важнее процессов и инструментов.

Пример: Важно уделять внимание качественной коммуникации между членами команды, чтобы решать проблемы по мере их возникновения, вместо того чтобы слишком полагаться на процессные инструкции.

2. Рабочий продукт важнее исчерпывающей документации.

Пример: В проекте по разработке мобильного приложения для бронирования билетов акцент делается на создание прототипов и пользовательских интерфейсов, которые можно тестировать, а не на детализированные требования в документах.

3. Сотрудничество с заказчиком важнее согласования условий контракта.

Пример: Команда постоянно взаимодействует с клиентом, чтобы быстро адаптироваться к его потребностям и изменяющимся бизнес-условиям, вместо того чтобы строго придерживаться заранее утверждённого договора.

4. Готовность к изменениям важнее следования первоначальному плану.

Пример: Если клиенту в середине проекта понадобилась новая функция, Agile-команда гибко перестраивает приоритеты, чтобы включить её в следующий спринт, даже если первоначально её не было в планах.

12 принципов согласно Agile Manifesto

  1. Удовлетворение потребностей клиента
    Принцип: Наша высшая приоритет — удовлетворить клиента путем ранней и непрерывной поставки ценного программного обеспечения.

  2. Принятие изменений
    Принцип: Приветствуем изменения требований, даже на поздних стадиях разработки. Agile-процессы используют изменения для достижения конкурентного преимущества клиента.
  3. Частая реализация наработок
    Принцип: Поставляйте обновление программного обеспечения часто, от нескольких недель до нескольких месяцев, с предпочтением в сторону более коротких сроков.
  4. Сотрудничество
    Принцип: Бизнесоунеры и разработчики должны ежедневно работать вместе на протяжении всего проекта.
  5. Мотивация команды
    Принцип: Стройте проекты вокруг мотивированных людей. Дайте им необходимую среду и поддержку, и доверьтесь им, чтобы они выполняли свою работу.
  6. Личное взаимодействие
    Принцип: Самый эффективный и действенный способ передачи информации внутри команды разработки — это лицом к лицу.
  7. Рабочее программное обеспечение
    Принцип: Рабочее программное обеспечение является основным показателем прогресса.
  8. Устойчивое развитие
    Принцип: Agile-процессы способствуют устойчивому развитию. Спонсоры, разработчики и пользователи должны быть в состоянии поддерживать постоянный темп бесконечно.
  9. Постоянное внимание к качеству
    Принцип: Постоянное внимание к техническому совершенству и хорошему дизайну повышает гибкость.
  10. Простота
    Принцип: Простота как искусство минимизации лишней работы — необходима.
  11. Самоорганизация
    Принцип: Лучшие архитектуры, требования и дизайны возникают из самоорганизующихся команд.
  12. Регулярная переоценка
    Принцип: Регулярно проводите рефлексию команды о том, как стать более эффективными, затем подстраивайтесь и корректируйте свое поведение соответственно.

И как с этим работать? 

Существует множество фреймворков и подходов для реализации Agile со своими особенностями для различных контекстов. Сам SCRUM, а еще Kanban (да-да, те самые досочки для отслеживания прогресса работы, визуализации рабоего процесса и ограничения количества задач в работе). Используется их микс — ScrumBan. А еще ретроспектива, бэклог, оценки рисков, спринтовый подход. Будет о чем поговорить, в общем.

Есть даже Scaled Agile Framework (SAFe) — фреймворк, который помогает масштабировать Agile-подходы до уровня крупной организации и предлагает структурированные подходы к планированию и управлению. Но это уже нужно крупным фирмам, а мы можем просто руководствоваться 4 ценностями и приницпами в своей работе, как есть, на будничной основе. 

Тут должен быть итог, но его вы все уже прочли в начале.

Остается, разве что, дополнить все это словами о том, что крутые софты могут спровоцировать колоссальные изменения в любой сфере и сделать устаревающие форкфреймы живучими настолько, что они консервируются и обретают мало не бессмертие, как это произошло со SCRUM. 

Главное — не забывать, что все это не просто набор действий, а способ мышления, живой и гибкий.

1919
0

Подпишитесь на еженедельный
дайджест

Редакция отбирает лучший контент за неделю и отправляет его на вашу почту

Cпасибо за подписку!

Письмо с подтверждением отправлено на адрес . Если вы не можете найти письмо во входящих, проверьте папку спама

Рекомендации

только для зарегистрированных
только для зарегистрированных
Подтвердите действие
Точно?
Сообщение
Текст
Подтвердите действие