НЕКОТОРЫЕ АСПЕКТЫ ГИБКОЙ МЕТОДОЛОГИИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Р.А. Каримов, студент Н.Р. Качкынбеков, студент Сибирский федеральный университет (Россия, г. Красноярск)
Аннотация. Методы управления Agile уже заменили многие традиционные концепции и методы управления проектами. Agile стал «решением» недостатков методологии водопада. Вместо последовательного процесса разработки методология Agile следует постепенному подходу. Поскольку каждая компания хочет создать постоянную клиентскую базу, обеспечивая более высокий уровень гибкости и удовлетворенности, эти методы управления в настоящее время применяются для различных проектов. Основные принципы управления проектами Agile разработаны на основе производительности, адаптивности и сотрудничества.
Ключевые слова: гибкая методология разработки, agile метод, водопадная методология разработки, спринт, улучшение разработки проекта, итерационная модель разработки, итерация, преимущества гибкой методологии разработки, недостатки водопадной модели, принцип комната за комнатой, waterfall, эффективность гибкой методологии.
Гибкая методология вошла в мир разработки программного обеспечения штурмом и быстро закрепила свое место как «золотой стандарт». Все гибкие методологии начались на основе четырех основных принципов, изложенных в Agile Manifesto [4].
Agile быстро становится одним из самых популярных подходов к разработке программного обеспечения. Однако, вместо того, чтобы быть одной конкретной методологией в традиционном смысле, Agile на самом деле является зонтичным термином, который включает множество различных методологий, включая: Scrum, Kanban, Lean Startups, XP, DevOps и Continuous Deployment. В результате, неудивительно, что 88% респондентов из версии Agile Report 2010 «оценили способность адаптироваться к изменениям» как преимущество номер один для охвата Agile.
Модель Agile построена на идее самоорганизующихся, кросс-функциональных команд [10]. Основные процессы включают адаптивное планирование, эволюционное развитие, раннюю доставку и постоянное совершенствование - все это позволяет быстро развертывать и изменять.
Для большинства организаций основной причиной выбора Agile-подхода в разработке программного обеспечения является способность быстро отображать действующее решение. Процесс разработки настолько тесно связан с операционными потребностями бизнеса, что программное обеспечение может сразу начать добавлять ценность, а затем добавить функциональность с помощью последующих итераций.
Иногда, используя принцип «комната за комнатой» сравнивают разработку программного обеспечения с перемещением в доме. Используя Agile, можно перемещаться в доме поэтапно, по одной комнате за раз, рассматривая особенности декора и размещение мебели, при перемещении по комнате. Преимущество этого в том, что можно увидеть, что больше всего нравится в новом доме, прежде чем принимать окончательное решение о том, как будут выглядеть все комнаты. Тогда есть шанс внести изменения, пока движущие силы всё ещё вокруг. Для многих это может быть более практичным, чем планирование и выполнение всего движения одним махом, с дополнительным риском не использовать все доступные комнаты [7].
В общем, когда говорят о методе Agile, это подразумевает итеративный и инкре-
ментный метод управления. Основное внимание в нем уделяется оказанию помощи командам в изменяющемся ландшафте и поддержанию акцента на быстрой доставке деловой ценности [2].
Перед тем как перейти к преимуществам гибкого управления проектами, можно сравнить традиционный и гибкие методы разработки. В разработке программного обеспечения часто говорят о «традиционной модели», которая относится к модели водопада. Она очень отличается от метода Agile, потому что он не является итеративным, Waterfall - это больше о процессе, где можно увидеть прогресс, «протекающий» через фазы разработки. На самом деле это последовательная модель, обычно идущая от анализа требований, проектирования, внедрения, тестирования и обслуживания [8].
Гибкие методологии полностью отвечают потребностям клиентов. В течение всего цикла поощряется участие пользователей, обеспечивая видимость и прозрачность, показывающие фактический прогресс проектов. Как уже упоминалось ранее, метод Agile - это все итеративное планирование, что позволяет легко адаптироваться при изменении некоторых требований. Тот факт, что в процессе происходит непрерывное планирование и обратная связь, означает, что бизнес-ценность предоставляется с самого начала проекта. Опять же, идея заключается в том, чтобы довести бизнес-ценность на ранней стадии процесса, что облегчает снижение рисков, связанных с развитием. Преимущества гибкого управления проектами:
Высокое качество продукции. В Agile-разработке тестирование интегрируется во время цикла, а это означает, что регулярно проводятся проверки, чтобы продукт работал во время разработки. Это позволяет владельцу продукта вносить изменения, если это необходимо, и команде известно, есть ли какие-либо проблемы [ 1].
Определение и разработка требований как раз вовремя, чтобы знание характеристик продукта было как можно более актуальным.
Включение непрерывной интеграции и ежедневного тестирования в процесс разработки, что позволяет команде разработчиков решать проблемы, пока они еще свежи.
Проведение ретроспективы спринта, позволяющее команде постоянно совершенствовать процессы и работать [6].
Завершение работы с использованием определения сделанного: разработанного, испытанного, интегрированного и документированного. Программное обеспечение разрабатывается в инкрементальных, быстрых циклах. Это приводит к небольшим добавочным выпускам с каждой итерацией по предыдущим требованиям. Каждая итерация тщательно протестирована для обеспечения качества программного обеспечения.
Повышение удовлетворенности клиентов. Владелец продукта всегда задействован, прогресс развития имеет высокую видимость и гибкость в изменении, очень важно. Это подразумевает взаимодействие и удовлетворенность клиентов.
Демонстрация работоспособности клиентов в каждом обзоре спринта. Доставка продуктов на рынок быстрее и чаще с каждым выпуском. Клиенты получают ранний доступ к продукту в течение жизненного цикла [3].
Снижение рисков. Гибкие методологии практически исключают вероятность полного отказа проекта. Agile обычно использует истории пользователей с бизнес-ориентированными критериями приемлемости для определения характеристик продукта. Сосредоточив внимание на потребностях реальных клиентов, каждая функция постепенно увеличивает стоимость, а не только ИТ-компонент. Это также дает возможность для бета-тестирования программного обеспечения после каждой итерации, получая ценную информацию на раннем этапе проекта и предоставляя возможность вносить изменения по мере необходимости.
Быстрая рентабельность инвестиций. Тот факт, что гибкое развитие является итеративным, означает, что функции предоставляются постепенно, поэтому выгоды
реализуются на ранней стадии, пока про- ность использования методологии Agile. дукт находится в процессе разработки. Это мощный инструмент для разработки Функциональный продукт «готов к сбыту» программного обеспечения, не только уже после нескольких итераций [11]. предоставляющий преимущества команде
Преимущество первого хода. Длитель- разработчиков, но и предоставляющий ные циклы доставки часто являются про- клиенту ряд важных бизнес-преимуществ блемой для предприятий, особенно для [5]. Данная методология помогает коман-быстрорастущих рынков. Agile означает дам проекта справляться со многими из быстрые выпуски продуктов и способ- наиболее распространенных ошибок в ность оценивать реакцию клиентов и соот- проекте (таких как стоимость, предсказуе-ветственно изменять их, оставляя вас впе- мость графика и ползучесть области) более реди конкурентов. контролируемым образом. Также следует
Сосредоточение внимания на стоимости учитывать время выхода проектов на ры-бизнеса. Позволяя клиенту определить нок [9]. Статистика гласит, что, используя приоритет функций, команда понимает, гибкое управление проектами, в среднем что наиболее важно для бизнеса клиента, и время выхода на рынок составляет 37% может предоставлять функции в самом быстрее, а эффективность команды увели-ценном порядке. чивается с ростом производительности на
Хорошим программным решением для 16% в среднем. организации, можно рассмотреть возмож-
Библиографический список
1. Евдокимов И.В. Кадровое обеспечение внедрения SCADA-систем на предприятиях // Труды Братского государственного университета. Серия: Экономика и управление. 2005. Т. 1. С. 116-119.
2. Евдокимов И.В. Аспекты внедрения информационных технологий на предприятиях г. Братска // Труды Братского государственного университета, Серия: Экономика и управление, 2006. Т. 1. С. 144-148.
3. Евдокимов И.В., Коваленко М.А., Мелех Д.А. Управление разработкой и внедрением учётной информационной системы // Научное обозрение. Экономические науки. 2017. № 4. С. 34-39.
4. Евдокимов И.В. Адаптация стандартов программных средств к проектам в области информационных технологий // Труды Братского государственного университета. Серия: Экономика и управление. 2010. Т. 2. С. 97-101.
5. Евдокимов И.В., Ященков К.Г., Телков А.Ю., Татауров В.А. Экспертные методы оценки трудоёмкости разработки программных проектов // Экономика и менеджмент систем управления. 2017. Т. 24. № 2.2. С. 272-276.
6. 8 Benefits of Agile Software Development/ Segue Technologies//Written by Segue Technologies on August 25. 2015.
7. Pros and Cons of the Agile Approach//DCSL Software Ltd//07.02.2017 by Pal Kienitz in: Agile.
8. The Benefits You Get by Doing Agile Project Management//03.21.2017 by Ekaterina Novoseltseva.
9. Agile: The Business Benefits of Agile Software Development//www.ociweb.com//12140 Woodcrest Executive Drive, Suite 250 Saint Louis, MO 63141, MO.
10. Agile Project Management: Best Practices and Methodologies//Alexsoft software r&d engineering.
11. An Introduction to Agile Software Development by Victor Szalvay, co-founder Danube Technologies, Inc// 12011 Bel-Red Rd. Suite 201 Bellevue, WA 98005.
SOME ASPECTS OF THE HYPICAL METHODOLOGY FOR SOFTWARE
DEVELOPMENT
R.A. Karimov, student N.R. Kachkynbekov, student Siberian federal university (Russia, Krasnoyarsk)
Abstract. The management methods of Agile have already replaced many traditional concepts and methods of project management. Agile has become a "solution" to the shortcomings of the waterfall methodology. Instead of a consistent development process, the Agile methodology follows a gradual approach. Since each company wants to create a permanent customer base, providing a higher level of flexibility and satisfaction, these management methods are being applied to various projects. The basic principles of Agile project management are developed on the basis of productivity, adaptability and cooperation.
Keywords: flexible development methodology, agile method, waterfall development methodology, sprint, improvement of project development, iterative development model, iteration, advantages offlexible development methodology, disadvantages of waterfall model, room by room principle, waterfall, efficiency of flexible methodology.