Каримов, Р. А. Некоторые аспекты гибкой методологии разработки программного обеспечения / Р. А. Каримов, Н. Р. Качкынбеков. // Международный журнал гуманитарных и естественных наук. – 2018. – 3. – С. 199-202.

НЕКОТОРЫЕ АСПЕКТЫ ГИБКОЙ МЕТОДОЛОГИИ РАЗРАБОТКИ

ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

 

Р.А. Каримов, студент

Н.Р. Качкынбеков, студент 

Сибирский федеральный университет

(Россия, г. Красноярск)

 

Аннотация. Методы управления 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 обычно использует истории пользователей с бизнес-ориентированными критериями приемлемости для определения характеристик продукта. Сосредоточив внимание на потребностях реальных клиентов, каждая функция постепенно увеличивает стоимость, а не только ИТ-компонент. Это также дает возможность для бета-тестирования программного обеспечения после каждой итерации, получая ценную информацию на раннем этапе проекта и предоставляя возможность вносить изменения по мере необходимости.

Быстрая рентабельность инвестиций. Тот факт, что гибкое развитие является итеративным, означает, что функции предоставляются постепенно, поэтому выгоды реализуются на ранней стадии, пока продукт находится в процессе разработки. Функциональный продукт «готов к сбыту» уже после нескольких итераций [11].

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

Сосредоточение внимания на стоимости бизнеса. Позволяя клиенту определить приоритет функций, команда понимает, что наиболее важно для бизнеса клиента, и может предоставлять функции в самом ценном порядке.

Хорошим программным решением для организации, можно рассмотреть возможность использования методологии Agile. Это  мощный инструмент для разработки программного обеспечения, не только предоставляющий преимущества команде разработчиков, но и предоставляющий клиенту ряд важных бизнес-преимуществ [5]. Данная методология помогает командам проекта справляться со многими из наиболее распространенных ошибок в проекте (таких как стоимость, предсказуемость графика и ползучесть области) более контролируемым образом. Также следует учитывать время выхода проектов на рынок [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 of flexible development methodology, disadvantages of waterfall model, room by room principle, waterfall, efficiency of flexible methodology.