Маношин Д.А.
Дальневосточный Федеральный Университет DOI: 10.24411/2520-6990-2019-10332 ОСОБЕННОСТИ МЕТОДОЛОГИИ ОРГАНИЗАЦИИ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ EXTREME PROGRAMMING (ЭКСТРЕМАЛЬНОЕ ПРОГРАММИРОВАНИЕ)
Manoshin D.A. Far Eastern Federal University THE SPECIFICITY OF THE METHODOLOGY OF SOFTWARE DEVELOPMENT IN EXTREME
PROGRAMMING
Аннотация.
В статье описана методология разработки ПО с помощью экстремального программирования. Указаны основные принципы методологии и особенности её применения. Abstract.
This article describes the methodology of software development using extreme programming. The basic principles of methodology and features of its application are specified in it.
Ключевые слова: разработка ПО, экстремальное программирование, программное обеспечение, тестирование ПО, пользовательские истории, парное программирование.
Key words: software development, extreme programming, software testing, user stories, pair programming.
Развитие информационно -коммуникационных технологий, информатизация общества требует изменений в подходе к разработке программного обеспечения. На сегодняшний день успех компании зависит от скорости, с которой она может расти и выводить продукты на рынок, следовательно, компаниям, задействованным в разработке ПО, необходимо резко сократить жизненный цикл разработки программного обеспечения.
Именно для этих целей американским разработчиком Кентом Беком была создана гибкая методология управления проектами экстремального программирования (англ. extreme programming, XP), которая поддерживает частые выпуски в коротких циклах разработки для улучшения качества программного обеспечения и позволяет разработчикам быстро реагировать на меняющиеся требования клиентов [1]. Экстремальное программирование ориентировано на внедрение новых технологий в рабочий процесс c целью сокращения временных издержек. Можно также утверждать, что эта методология, ориентированная на клиента, так как пользователь ПО является основным человеком, который оценивает работу команды. Цель методики экстремального программирования — справиться с постоянно меняющимися требованиями к программному продукту и повысить качество разработки. Поэтому экстремальное программирование хорошо подходит для сложных и неопределенных проектов [2].
Дон Уэллс опубликовал первые принципы экстремального программирования в 1999 году, чтобы опровергнуть утверждения о том, что экстремальное программирование не поддерживает действия, необходимые для разработки программного обеспечения, такие как: планирование, управление и проектирование [3]. На сегодняшний день можно выделить 12 принципов, благодаря которым методология считается гибкой:
1. Планирование процесса. Решение о разработке блоков системы принимается коллективно командой разработчиков.
2. Тесное взаимодействие с заказчиком.
Доля участия клиентов в проектах экстремального программирования обычно больше, чем в других гибких методологиях. Предполагается также, что между разработчиками и клиентами нет посредников, клиенты способны принимать активное участие в планировании и организации проекта.
3. Общесистемные правила именования классов и переменных.
4. Простая архитектура. Любое свойство системы должно быть реализовано максимально просто, принимается первое простейшее работающее решение.
5. Рефакторинг. Оптимизация кода с целью его упрощения, которая ведет к сокращению ошибок.
6. Парное программирование. Предполагается, что программисты работают в парах. Один из них занимается непосредственно написанием кода, в то время как второй его коллега этот код анализирует визуально. Стоит отметить, что методология уделяет значительное внимание организации офисного пространства, отмечая существенное её влияние на качество работы программистов.
7. Стандартная 40-часовая неделя. В методологии указано, что необходимость сверхурочной работы - четкий индикатор проблемы.
8. Коллективное владение кодом. Группа разработчиков имеет доступ к коду любой части программы и имеют право вносить изменения в код.
9. Единые стандарты кодирования. Сюда входят стандарты именования классов, переменных, констант, стиль комментариев.
10. Небольшие частые релизы. Методология предусматривает минимальные итерации длительностью от 1 дня, максимальные до месяца. Считается, что чем чаще выпускаются релизы, тем больше дефектов ПО может быть обнаружено.
11. Непрерывная интеграция. Интеграции могут подвергаться безошибочно работающие ча-
сти системы, частая интеграция позволяет получить быстрее новый релиз, вместо того, чтобы отдельно выделять продолжительный временной промежуток под сборку системы.
12. Тестирование. Является одной из важнейших составляющих экстремального программирования. Каждый модуль подвергается тестированию, большинство ошибок исправляется на стадии кодирования.
Схематично методологию можно представить с помощью следующих шагов (рис.1)
Список литературы
1. Коробов В.Б. Экспертные методы в географии и геоэкологии: моногр. - Архангельск, 2008. -236 с.
2. Губайдуллин М.Г., Крайнева О.В. Методика экспертной оценки загрязнения геологической среды при нефтяных разливах (на примере прибрежной зоны Баренцева моря) // Вестник САФУ («Естественные науки»), 2016. - №2. - С. 5-15. аоП0.17238^п 2227-6572.2016.2.5
3. Пиковский Ю.И., Исмаилов Н.М., Дорохова М.Ф. Основы нефтегазовой геоэкологии: учеб. пособие / под ред. А.Н. Геннадиева. - М., 2015. -400 с.