Название eXtreme Programming (XP) или экстремальное программирование, в последнее время пользуется в обществе повышенным спросом. В данной статье мы предлагаем вам самим, ознакомившись с принципами этой системы, решить, стоит ли вашей компании работать по ее принципам, что можно позаимствовать, и от чего отказаться.
Экстремальное программирование (далее XP) основано на 12 принципах:
1. Процесс планирования, который требует от XP-заказчика определить деловую стоимость необходимых элементов. После этого программисты должны установить цену, необходимую для разработки элементов. Используя эту информацию, заказчик и разработчики могут составить анализ затрат и прибыли каждого элемента программы, что поможет им принять разумное решение, каким элементом заняться в первую очередь, и разработку какого отложить.
2. Сначала попробуйте выпустить программу небольшим тиражом. Это позволит на раннем этапе внедрить упрощенный продукт на рынок, а также часто ее обновлять в очень коротком цикле. Это также поможет определить настоящую деловую стоимость продукта в реальных условиях.
3. Простой дизайн основывается на философии, что самая высокая деловая стоимость извлекается из наипростейшей программы, отвечающей запросам потребителей.
4. Разложение программы на элементарные операции позволяет XP команде усовершенствовать дизайн системы на протяжении всего цикла развития. Разработчики постоянно оценивают ПО, и когда необходимо, могут осуществить перекодирование. Цель - ориентировать систему программного обеспечения на деловую стоимость, чтобы по минимуму ограничить возможность дупликации (не лицензированного копирования) и неэффективного кодирования.
5. Принцип тестирования. Сначала программисты должны написать тест, а потом - создавать программное обеспечение, которое будет отвечать требованиям, отображенным в тесте. Более того, прежде чем приступить к разработке системы, заказчики должны провести тест на соответствие. Если кодирование соответствует требованиям, отображенным в тесте, разработчик может быть уверен в том, что необходимые элементы программы будут работать.
6. Заказчик должен на месте осуществлять руководство программой, то есть очертить круг требований, определить функциональность, расставить приоритеты, и отвечать на вопросы программистов. Это интенсивное взаимодействие заказчика лицом к лицу с исполнителями сократит количество документации и сократит затраты на создание и поддержание документационной системы.
Система XP также сосредотачивается на совместной работе программистов:
7. Программирование в парах, один из наиболее радикальных принципов, внедренных XP, предполагает, что программисты пишут коды, разбившись в группы по два человека, которые пользуются одной машиной. По мнению сторонников XP, экспериментальным путем доказано, что в таких группах люди справляются со своей работой более эффективно, а заказчик получает возможность не увеличивать, а иногда даже немного сократить затраты на оплату труда.
8. Коллективное право собственности на результат кодирования - это определение говорит само за себя.
9. Стандарт кодирования определяет распределенное между всеми программистами право собственности, а также правила составления и ведения документации кодирования и коммуникации между отдельными частями кода, разработанными разными командами.
10. Команды программистов должны в самом начале проекта разработать метафору (модельное представление), определяющую "систему имен", а также руководство по развитию и коммуникации частей продукта.
11. Постоянная интеграция позволяет команде быстро прогрессировать, внедряя новые элементы программного обеспечения. Отказавшись от принципа создания стабильных надстроек по изданному графику, программисты могут объединить свой код и перестраивать систему программного обеспечения несколько раз в день. Это тоже существенно сократит проблемы интеграции, свойственные для долгосрочных, "водопадо-подобных" проектов (проект, в котором предыдущий этап завершается до начала следующего).
12. Сорокачасовая рабочая неделя возвращает экстремальное программирование в старое русло распорядка рабочего дня. Методология экстремального программирования придерживается этого принципа с тех пор, как было замечено: уставшие программисты часто пишут низкокачественное кодирование. Компании, работающие по XP, стремятся к сокращению сверхурочных часов, тогда программисты останутся свежими, и смогут за меньшее количество времени создать высококачественное кодирование. |