Agile методология: выгода для клиентов

March 13, 2015

На самом деле они просто обожают ее! Большинство наших аутсорс проектов разрабатывается в рамках методологии, которую часто называют «гибкой» (Agile). Как правило, эти методологии действительно очень гибкие и применимы к множеству разных требований клиентов. Кроме того, компании, которые занимаются аутсорс разработкой, часто определяют себя как «Agile-ориентированные», и приукрашивают эту ориентированность для клиентов.

Почему Agile методология

Источник изображения: www.prolinxservices.com

(Нажмите, чтобы увеличить)

Суть Agile подхода для клиента можно коротко описать двумя фразами:
•    Разработка ведется короткими циклами (итерациями) по 1-4 недель;
•    Клиент получает ценное программное обеспечение (или его часть) в конце каждой итерации, что можно использовать для бизнеса.

Я попробую прояснить следующие вопросы:Почему клиенты так любят Agile методологию? Чем Agile подход так хорош? Почему Agile так популярен?

Во-первых, давайте оставим технические подробности и переключимся на более важный аспект: явные и скрытые ожидания клиента. Это чаще влияет на выбор метода разработки, чем рациональные обсуждения и точные подсчеты. Вот 4 основные причины по которым клиенты любят Agile подход к разработке:

1. AGILE МЕТОДОЛОГИЯ БЫСТРАЯ

Принцип Agile методики говорит о создании какого-то набора функций за каждую итерацию. Но, чтобы успеть сделать их в рамках одной небольшой итерации, эти изменения всегда небольшие. Таким образом, Agile методика позволяет вам:
•    Быстрее реализовать желания клиентов
•    Быстро выпустить на рынок продукт или его новую версию, поскольку изначально не требуется подробная документация и планирование.

2. AGILE МЕТОДОЛОГИЯ ДЕШЕВАЯ

•    Не нужно тратить деньги на проектирование архитектуры. Для большинства клиентов, людей из сферы бизнеса, абсолютно не ясно и не обязательно тратить на это их время и деньги. Лучше просто начать делать что-то, что «работает здесь и сейчас».
•    Не нужно тратить деньги на документацию. У разработчиков есть специальные инструменты для документирования, записи, классификации и систематизации всех пожеланий заказчика. Если у заказчика есть хорошая и гибкая команда, он может быть уверен, что даже если он проснулся утром и пока умывается, отправляет свои идеи команде разработчиков через iPhone, эти идеи немедленно добавят в систему как истории / задачи / требования / улучшения, они не потеряются и команда разработчиков будет их учитывать.
•    Не нужно переплачивать за разработку.
•    Agile методология обычно позволяет снизить часы на проект по сравнению с методом Фиксированной стоимости, поскольку бизнес аналитик не включает «Подушку безопасности рисков фиксированной цены» для страхования бюджета, поскольку она просто не требуется – при Agile методике оплата производится на основе затраченных часов.
•    И конечно клиент быстрее получает программное обеспечение, которое можно использовать для бизнеса, используя минимум инвестиций (или их часть).

3. AGILE МЕТОДОЛОГИЯ ПРОСТАЯ И УДОБНАЯ

  • Для клиентов:

    • Agile методология работает как набор контрольных лампочек на панели управления.Вы любите водить автомобиль? Вы хотите, чтобы панель управления давала вам доступ к управлению всеми параметрами автомобиля? Мы думаем, что да. Например мы, используя Agile методику разработки, предоставляем клиентам «панель управления» проекта, где они могут ответить на следующие вопросы:

      • Какие задачи есть у команды?
      • Кто является исполнителем задачи?
      • Сколько сейчас у разработчиков задач?
      • Какие у задач приоритеты?
      • Сколько задач с определенным статусом и приоритетом?
      • Какие задачи будут выполнены в следующем спринте?
      • Когда будет запущен следующий спринт?
      • У каких задач статус «в работе»?
      • Какие задачи уже завершены разработчиками и какие задачи уже проверены специалистом по тестированию?
      • и т.д.
      Рабочая схема Agile в Belitsoft
    • Если в проекте возникает проблема, сразу «загорается лампочка» - команда видит и решает это в течение часа или к следующему выпуску (в зависимости от приоритетов). Мы также заботимся о спокойствии наших клиентов – у нас все под контролем!
    • Вы далеко от своей команды разработчиков? Вы в разных часовых поясах? У вас нет четких требований к программному обеспечению? Обычно, если клиент находится в соседнем здании, он может прийти на встречу, ясно представить итоговый вид продукта и описать его проектной команде. В таком случае любая методология разработки сработает.
      Но если у вас удаленная команда, разница в 3-12 часов между клиентом и проектной командой, а сфера проекта мало знакома вам и вашим разработчикам, а вы готовы для экспериментов, провалов и успехов, то Agile методология – это единственный способ работы в такой сложной и неопределенной обстановке, когда основная цель – это занять место на рынке и стать на нем конкурентоспособным участником.
  • Для команды разработчиков:

    • “JIRA” как система отслеживания задач и проблем. Это замечательный помощник, позволяющий классифицировать поступающие от клиента запросы в едином структурированном месте. Использование системы для отслеживания задач и проблем – это гарантия того, что вы не потеряете требования заказчика и обязательно реализуете их. Позвольте вашим заказчикам почувствовать себя как дома! Предложите им удобные домашние тапочки!
    • “Confluence” как программное обеспечение для работы в команде. Это единое место для хранения всех документов, простого и быстрого поиска, совместной работы над технической документацией, описания API, руководства с участниками проекта, основных решений, результатов совещаний, файлов проекта, сценариев тестирования, финальных дизайнов, общих ссылок и т.д. Эта система дает ко всему этому простой доступ. Даже если завтра кто-то покинет вашу команду, клиент будет уверен, что новый сотрудник быстро присоединится к команде и легко освоит базовые аспекты технического описания. Дайте вашему клиенту уверенность в будущем в этом очень нестабильном мире!
    • “PHPUnit” как среда тестирования PHP, анализа и рефакторинга исходного кода. … Скорость работы с использованием Agile методики разработки может привести к тому, что ошибки остаются в продукте от релиза к релизу. Иногда бывает очень сложно отследить такие ошибки и не потерять их из виду.

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

Используйте модульные тесты, проводите анализ и рефакторинг кода уже сегодня, чтобы сэкономить деньги вашего клиента завтра!

4. AGILE МЕТОДОЛОГИЯ БЕЗОПАСНА

  • Влияют ли внесение новых требований в Agile проект и скорость работы на качество продукта?

    Клиенту не нужно об этом заботиться. Ему не нужно брать ответственность за принятие решений. Сегодня клиент хочет одного, а завтра – другого, и это нормально. Если клиент передумает – не проблема. Всегда есть Лидер команды, Старшие разработчики и ребята с огромным опытом работы в Agile проекте, которые понимают важность создания кроссплатформенного, кроссбраузерного, мобильного, простого и масштабируемого решения. Главные принципы нашей команды позволяют нашим клиентам:

    • Делать запрос на проект: требования любой сложности и важности
    • Отменять предыдущие требования и заменять их другими
    • Делать это на любом этапе проекта

    Например, сегодня клиент хочет сделать всего 10 функциональных страниц, которые будут перезагружаться при обновлении страницы. Завтра клиент попросить реализовать все с использованием технологии AJAX с интерактивным пользовательским интерфейсом, позволяющим в фоновом режиме получать данные с сервера и обновлять страницы без необходимости перезагрузки. Это позволит сделать программное обеспечение более быстрым и удобным. Не проблема! Разработка этого функционала займет примерно 5-7% от уже потраченного бюджета, поскольку технологии/CMS/Библиотеки (Joomla! CMS, Symfony 2, CodeIgniter, YiiFramework, Warp, AngularJS, jQuery, Bootstrap, ...) позволяют сделать это довольно быстро.

  • А если что-то сломалось? А если что-то вдруг перестало работать? А если завтра конференция или встреча, на которой нужно представить мой продукт… Что мне делать?

    Не переживайте … Есть GIT – распределённая система управления версиями файлов. Разработчики, работающие в команде над Agile проектом всегда сохраняют все релизы в специальной системе, позволяющей управлять версиями продукта с использованием вышеупомянутых PHP и JavaScript Frameworks/CMS/Библиотек. Эта система позволяет отслеживать любые изменения исходного кода, внесенные участниками команды, и не позволяет случайно перезаписать данные…. Это круто и безопасно. Правда?

ВЫВОД

Agile метод разработки работает только при выполнении определенных условий:

  • Кросс-функциональная команда высоко квалифицированных профессионалов
  • Реальное участие клиента и его постоянная готовность работать с командой.

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

Откровенно говоря, большая часть проектов построена не исключительно на Agile методике. Каждый проект – это комбинация повторяющихся процессов со своими требованиями, целями и подходами к разработке. Так, моя команда пытается сочетать преимущества разных методологий (включая Agile) в разработке программного обеспечения и предлагает нашим клиентам действительно гибкие подходы к разработке по разумной цене, основанной на реалиях ценообразования в Восточной Европе в целом и в Беларуси (Минск) в частности.

Если у вас остались какие-либо вопросы, или вы хотите начать работу с моей командой, пожалуйста, отправьте свои вопросы и требования к программному обеспечению через форму для связи с пометкой «для Дмитрия Гарбара».». Я буду рад ответить на ваши вопросы, дать совет по выбору технологии и разработать для вас удобный продукт.