УДК 33

Гибкие методологии в работе IT компаний

Бастрыгин Артем Иванович – бакалавр программы «Менеджмент» Новосибирского государственного университета

Кликунов Александр Викторович – бакалавр программы «Менеджмент» Новосибирского государственного университета

Аннотация: В данной статье исследуется применение гибких методологий в работе IT компаний. Автор освещает основные элементы гибких методологий и акцентируют их значимость и преимущества в динамичной сфере информационных технологий. Особое внимание уделяется методологии Scrum. Статья включает анализ различных определений гибких методологий и их успешного применения в IT проектах и компаниях. Особое внимание уделяется роли участников команды в гибких проектах. Статья предоставляет читателям полное понимание сущности и принципов гибких методологий в контексте IT компаний, что способствует оптимизации проектного управления и достижению лучших результатов в динамичной индустрии информационных технологий. Цель: формирование понимания гибких методологий и элементов в рамках работы IT команд. Методы: литературный обзор.

Ключевые слова: agile, гибкие методологии, scrum, управление проектами, IT менеджмент.

Введение

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

Компаниям необходимо адаптироваться, применять современные методы и наработки не только для создания информационных продуктов, но и для менеджмента процессов. Поэтому компании, как способ обрести преимущество, внедряют в свою работу гибкие методологии управления проектами- Agile методологии. Для того чтобы дальше разработать с понятием «гибкие методологии» необходимо иметь четкое определение понятия, для этого был проведён анализ пяти определений от различных авторов.

Например, в Agile манифесте от 2001 года говорится, что гибкие методологии – это способ организации и управления проектами, основанный на постоянном улучшении качества продукта и гибкости в реагировании на изменения требований и условий [6]. Это довольно общее определение, в котором авторы манифеста делают акцент на гибкой доработке продукта.

Скотт Амблер определяет гибкие методологии как подход к разработке программного обеспечения, который ориентирован на быстрое создание рабочих прототипов и постепенное улучшение системы на основе обратной связи от заказчика и пользователей, то есть его приоритет, как программиста- работа с программным обеспечением и реализацией работающего прототипа, дорабатывающегося согласно рекомендациям заказчика [4, с. 13].

Один из создателей экстремального программирования Кент Бек, которое является частью agile, определял гибкие методологии так — это методы разработки программного обеспечения, которые позволяют эффективно и гибко работать с быстро меняющимися требованиями заказчика, давать приоритет более важным задачам и решать их с использованием коллективного владения и автоматических тестов [3, с. 47]. Он также как и Скотт Амблер поднимает вопрос важности заказчика в работе с гибкими методологиями, но также выделяет приоритет задач при разработке.

Мартин Фаулер в своих в своих работах даёт такое определение гибким методологиямэто подход, который предполагает работу над проектом в небольших инкрементах и постоянную проверку результатов, с целью достижения наибольшей эффективности и минимизации рисков [7]. Выделяя аспекты минимизации рисков и эффективности, как одних из важных принципов agile.

Это философия управления проектами, которая ставит на первое место коммуникацию и сотрудничество, а не жесткие процессы и инструменты, так описал гибкие методологии Джим Хигсмит, он в первую очередь выделяет коммуникативный аспект agile, то есть говорит об общении как внутри команды, так и с заказчиками [5, с. 65].

Каждое из этих определений даёт понимание какого-то элемента гибких методологий, были скомпилировал необходимые аспекты из этих определений и выделены пункты, которые наиболее обширно и точно отразят понятие гибких методологий для данной работы команды IT компаний:

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

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

По мнению Д. В. Карпова существует несколько распространенных проблем в процессе разработки ПО, таких как: изменение требований в процессе работы, нечеткое распределение ответственности, наличие множества мелких требований, отвлекающих разработчиков от основной работы и, как следствие, срыв сроков, перерасход бюджета и потеря качества [1, с. 228].

Для успешного решения этих проблем и были созданы гибкие методологии, а пункты, выделенные выше, явно это отражают и ориентированы на решение проблем.

Для корректной и эффективной работы с гибкими методологиями, в компании должны выделяться специалисты, то есть команда для работы. При работе по методологии Scrum выделяют три роли для команды: scrum мастер, владелец продукта и команда. Рассмотрим каждую роль отдельно:

  1. Scrum Мастер играет важную роль в применении методологии Scrum, обеспечивая эффективное взаимодействие между менеджментом и командой, а на начальных этапах также ответственен внедрение гибких методологий в компании [2, с 59]. В его задачи входит создание доверительной атмосферы, выявление проблем при работе, устранение тормозящих аспектов. Также, он занимается проведением stand up’ов, отслеживание прогресса решения поставленных на спринт задач, формирование бэклога проекта и другие задачи, которые могут возникать в ходе работы.
  2. Владелец продукта отвечает за разработку продукта и является единой точкой принятия окончательных решений для команды в проекте [2, с 59]. Владелец продукта — это тот человек, который обладает видением продукта, он работает как с ожиданиями заказчиков, так и с командой разработки и scrum мастером. Владелец продукта совместно со scrum мастером составляет и приоритизирует список задач на спринт.
  3. Команда — это самоорганизующийся и самоуправляемый орган [2, с 58]. Участники команды занимаются разработкой продукта и во время спринта выполняют те задачи, которые были определены владельцем продукта на данный спринт. В обязанности команды входят оценка времени задач в бэклоге, а также принятие локальных решений касательно дизайна, разработки и наполнения, а по итогам спринта на ретроспективе оценивается проделанная работа совместно с владельцем продукта и scrum мастером. После того, как выделены аспекты, которые Agile использует в своей работе и определены ключевые роли для функционирования методологии стоит перейти к тому, почему компании используют именно гибкие методологии и как это помогает им.

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

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

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

  • Использование различных инструментов управления для распределения задач и контроля времени [2, с. 106];
  • Приоритизация обязанностей для каждого члена команды [2, с. 195];
  • Назначение задач, соответствующее профилю и умению каждого член команды [2, с. 62];
  • Оценка всех задач после их выполнения и оценка каждой итерации после ее завершения [2, с. 197].

Ещё одна веская причина использования гибких методологий- высокий уровень эффективности, который достигается разбиванием сложных и громоздких задач на управляемые, над которыми команда может работать. Также, согласно российскому исследованию от Scrumtrek 70% респондентов отмечают, что после перехода на гибкие методологии заметны явные улучшения в двух показателях: прозрачность работы и управление часто меняющимися приоритетами [8].

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

Выводы

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

Список литературы

  1. Карпов Дмитрий Владимирович Гибкая методология разработки программного обеспечения // Вестник ННГУ. 2011. № 3-2. С. 228.
  2. Сазерленд Д. Scrum. Революционный метод управления проектами / пер. с англ. М. Гескиной. М.: Манн, Иванов и Фербер, 2016.
  3. Экстремальное программирование. Разработка через тестирование. Кент Бек. С. 47.
  4. Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process Scott Ambler. С. 13.
  5. Agile Project Management: Creating Innovative Products. Jim Highsmith
  6. https://agilemanifesto.org/iso/ru/manifesto.html.
  7. https://martinfowler.com/agile.html Мартин Фаулер.
  8. https://scrumtrek.ru/blog/agile-scrum/11200/otchet-issledovanie-agile-v-rossii-2022/.

Интересная статья? Поделись ей с другими: