ИТ для нового стиля бизнеса
отмена
Отображаются результаты для 
Вместо этого искать 
Вы имели в виду: 

Гибкость против “классики”

Rovena

Сегодня ИТ-индустрия, как и весь остальной мир, стремительно меняется. Раньше крупные ИТ-компании и корпорации имели больше шансов на выживание и дальнейший рост на рынке. Быть большим было выгодно, потому что всегда можно было “проглотить” того, кто меньше и слабее тебя. Но современные реалии таковы, что выживает уже не крупнейший, а быстрейший. Скорость начинает превалировать во всех областях на рынке. Это заметно даже в государственном секторе, не говоря уже коммерческих компаниях, и, в особенности, о банках.

Гибкость против “классики”

За счет каких технологий и методологий реализуется это движение вперед? Прежде всего, благодаря Agile - новой концепции быстрой интерактивной разработки, впервые сформулированной в 2001 году в Agile-манифесте и пришедшей на смену классической методике waterfall. В Agile главной составляющей является организация командной работы и эффективного взаимодействия между отдельными членами команды программистов, а также постоянное получение обратной связи от заказчика. “Чем быстрее ты поймешь, что ошибся и исправишь свою ошибку, тем быстрее ты окажешься на правильном пути”, - примерно так обозначают этот принцип приверженцы концепции Agile. Agile - собирательное наименование. Оно состоит из нескольких методов, среди которых можно упомянуть “экстремальное программирование”, Kanban, Scrum. Именно Scrum чаще всего используется компаниями, практикующими Agile-разработку ПО.

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

Концепция waterfall может быть сравнима с классическим проектом по постройке большого здания, где за каждый участником (архитектор, главный инженер, прораб и т.д.) закреплен определенный круг обязанностей. Вначале создается проект, который утверждается заказчиком, затем создаются инженерные коммуникации, которые также требуют согласования. Здание это строится по обычному принципу - от фундамента до крыши, после чего заказчик принимает его или не принимает по причине брака или недоработок. В случае с Agile-проектом, “архитектурный план” создается и корректируется “на лету”, при этом постоянно согласовывается с заказчиком. Сам процесс “строительства” также осуществляется одновременно, но здесь уже неважно, с чего вы начнете, можно начать даже с “крыши”.  Но главная особенность Agile в том, что в первую очередь реализуются наиболее важные для заказчика функции, которые являются базовыми, а уже затем “надстраивается” все остальное.

Подобный подход к разработке идеально подходит для создания различных веб-ресурсов, мобильных приложений и т.д., поскольку именно в этих областях чуть ли не еженедельно появляются новые технологии и инновации, а также открываются новые пути и способы взаимодействия с клиентом. Чаще всего, речь идет о молодой клиентской аудитории, которая ждет новых услуг и не “завтра”, а “сегодня”. Для компаний, работающих с такой аудиторией Agile-концепция должна стать определяющей.

Управление Agile-проектами: учимся и пробуем

Разработчики могут освоить концепцию Agile самостоятельно, но лучше воспользоваться услугами компаний, специализирующихся на консалтинге по выбору наиболее подходящей методики, тренингах и обучении в этой области. Чаще всего такие тренинги строятся по интерактивному “игровому” методу в рамках учебных команд, взаимодействующих друг с другом. Для маленькой компании достаточно всего нескольких дней обучения для того, чтобы освоить основы Agile, а уже затем совершенствовать свои навыки под наблюдением опытного тренера. Он, в частности, должен помочь компании найти проблемы в области коммуникаций, мешающие переходу на новые методики работы. Поскольку сами Agile-подходы родились именно для небольших команд разработчиков, поэтому большим компаниям нужно уметь масштабировать их на крупные коллективы. Для крупных компаний и корпораций целесообразно внедрять Agile-подходы среди команд разработчиков, которые трудятся над одним продуктом. Таким образом, можно говорить о точечном подходе к синхронизации.

Для масштабирования Scrum-проектов чаще всего применяется трехуровневая модель. На нижнем уровне находятся команды разработчиков, которые используют Scrum в неизмененном виде. Средний уровень - программный, когда команды объединяются вместе для работы над крупным проектом. Самый верхний уровень - стратегический, “портфельный”. Более подробную информацию можно найти на сайте Scaled Agile Framework (www.scaledagileframework.com). Этот фреймворк включает в себя полезные аспекты из Scrum, Kanban и “экстремального программирования”, которые может взять на вооружение любая крупная организация. Так, из Scrum берется методика построения команд разработчиков, умеющих сообща эффективно решать поставленные задачи.  Из “экстремального программирования” берутся правила быстрого создания качественного программного кода, Kanban привносит идею о том, что команды и сотрудники не могут выполнять чрезмерный объем работы.

Существуют и другие подходы, ориентированные на масштабирование Scrum (http://guide.agilealliance.org/guide/scrumofscrums.html) и прочих Agile-методик в крупных организациях.

Ускорение разработки и развертывания приложений

Для внедрения Agile-концепции разработчикам понадобится ряд продуктов и решений. Помимо привычных интегрированных платформ для создания приложений (Visual Studio, Eclipse, NetBeans и т.д.), понадобятся средства для управления процессом, например HP Agile Manager, который поможет организации наладить процесс гибкого управления разработкой, а также взаимодействие Scrum- и Kanban-команд между собой. Разработчики постарались сделать этот продукт достаточно гибким, простым, удобный и соответствующим “духу” Agile-разработки. По принципу работы он напоминает Scrum-доски или Kanban-доски, на которых схематично обозначается весь процесс создания приложения, вносятся различные корректировки и дополнения. Но физические доски удобны для небольших команд разработчиков, в то время как в крупных компаниях их применение затруднительно. Здесь и приходят на помощь такие продукты, как HP Agile Manager. Дополнительным плюсом является интеграция HP Agile Manager со средой разработки.

Получив в свои руки инструменты для управления процессом разработки, заказчик сможет научиться гибко им управлять. Но мало написать код программного продукта. Его еще нужно собрать, протестировать в разных средах и ситуациях, а затем передать заказчику, который уже сможет его эксплуатировать. На этом пути также необходимо сократить простои и лишние затраты времени, поскольку, как известно, время - это деньги. В решении этих задач поможет концепция DevOps, хорошо известная на ИТ-рынке. Она поможет оптимизировать процесс взаимодействия разработчиков между собой и с заказчиком, с целью максимального ускорения получения готового продукта и его внедрения.

Важным аспектом здесь является автоматизация создания тестовых сред. Здесь на помощь приходит концепция Infrastructure-as-a-Code и такие продукты, как HP Codar, который может получает информацию для создания тестовой среды вместе с тестируемой сборкой приложения. HP Codar интегрируется с OpenSource-средой для сборки и проверки приложений Jenkins и выполняет обновление существующей тестовой среды или полное развертывание и подготовку среды «с нуля». Процесс тестирования полученных приложений можно поручить решению HP Application Lifecycle Management (ALM), в которую можно вводить любые тестовые модели, и проводить как ручное так и автоматическое тестирование различных видов. Фактически, благодаря связке HP Codar, Jenkins и HP ALM, весь процесс сборки, развертывания и тестирования может проходить в автоматическом режиме.

Что касается инструментов автоматизации развертывания на инфраструктурном уровне, то здесь ключевым средством является решение HP Operations Orchestrations. Оно включает в себя большое количество коннекторов (свыше 5000), из которых собираются готовые процессы в режиме дизайна. 

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

Community and Social Marketing Manager
Об авторе

Rovena