Некоторые аспекты гибкой методологии разработки программного обеспечения

Определение причин выбора Agile-подхода в разработке программного обеспечения. Разработка основных принципов управления проектами Agile на основе производительности, адаптивности и сотрудничества. Анализ преимуществ гибкого управления проектами.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 21.07.2020
Размер файла 20,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

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

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

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

г. Красноярск

Аннотация

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

Высокое качество продукции. В 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.

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.

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.