Agile

Agile (Agile software development) - гибкая методология работы над проектом, ведение проекта в условиях непрерывно формирующихся требований и реализация их с помощью постоянного взаимодействия групп разных специалистов.

Основные идей

  • люди и взаимодействие важнее процессов и инструментов;
  • работающий продукт важнее исчерпывающей документации
  • сотрудничество с заказчиком важнее согласования условий контракта
  • готовность к изменениям важнее следования первоначальному плану

Microsoft и Agile

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

Команда Visual Studio была одной из первых в Microsoft, кто переключился на Agile. В то время как весь Microsoft пользовался каскадной моделью, разработчики Visual Studio сами захотели попробовать Agile. Благодаря таким принципам, как трехнедельные спринты, частое обновление, частые релизы и, как следствие, — своевременный и частый фикс ошибок/багов, Visual Studio удалось создать более качественное программное обеспечение и делать релизы чаще.

Кроме этого, был заложен новый подход к исходному коду и управлению им. Известный факт, что общение и обмен опытом являются составляющей успеха Agile. Ранее в Microsoft каждая команда ревностно охраняла свою собственную работу и не делилась наработками с другими. Таким образом, люди в одной команде исторически имели ограниченный доступ к другим, они не могли видеть их работы, а также исходный код, который писался другими разработчиками.

С внедрением Agile произошли изменения. Параллельное кодирование не введено, между тем уже практикуется создание «вилок» для краткосрочной перспективы. Например, Microsoft Hyper-V был разработан именно таким образом. Или еще один факт: если люди в команде Bing захотят взглянуть на код ОС Windows, то они смогут это сделать и даже внести правки. Конечно, последнее возможно лишь после наладки и определенной координации между людьми, и все же это реально.

Сочетание разработки и тестирования под названием «комбинированной техники» (впервые использованной в команде Bing) перенимают другие команды Microsoft. В Bing задача создания программных тестов была отдана разработчикам вместо тестеров. Никто не отменял QA, но они выполняют мануальное тестирование конечного продукта. Bing показал хорошие результаты этого эксперимента в виде хорошего качества программного обеспечения.

Как видим, после использования DevDiv (Microsoft’s Developer Division) гибких методов разработки появились первые результаты. Тогда другие команды, в том числе Skype/Lync и Microsoft Studios, стали перенимать опыт по аналогичным причинам. Иногда они немного иначе вводили методы управления, например использовали двухнедельные спринты, но общий подход был очень похожим. Но главное, что указывает на результаты, которые были достигнуты с помощью Agile, — это пользователи, довольные лучшим качеством программного обеспечения и частыми релизами и апдейтами.

Далее поговорим о менее известной, но не менее успешной компании — Exigen Services. Это мультинациональная организация, работающая над предоставлением предложений по исследованию программного оснащения.

Нам она будет еще более интересна, так как активно использует гибкие методологии Agile. Впервые это произошло в 2002 году, когда в проекте начали практиковать экстремальное программирование. А уже в 2004 году стартовал объединенный проект с организацией Dynix по методологии Scrum. По словам Джеффа Сазерленда (одного из основателей этой методологии), данный проект на тот отрезок времени был самым популярным в окружении Java-проектов подобного размаха (около одного миллиона пунктов программного кода).


Возврат к списку

Услуги КСК ГРУПП