Экстрим-программирование Agile
Полтора года работаю тим-лидом по разработке сайтов, в задачи входит общение с клиентом, расстановка задач и приоритетов, технические задания и планирование работы, разруливание багов, трекинг issues`ов и тд и тп.
Уже не раз случались ситуации, когда в самые "горячие" моменты жизни сайта - рассылка тысячам активных пользователей емайлов, промо-компании, запуск нового функционала - наш сайт(ы) прекращал работать
Временно, на час, на два, иногда на день. И вчера снова случилась такая ситуация, что меня и повергло в обращение к материалу по изучению общего подхода программирования.
Как выяснилось, методика моей(нашей) работы называется экстремальное программирование. Один из самым популярных подходов в разработке программного обеспечения и любого другого софта на западе, да и судя из моего опыта в Европе, России и Востоке тоже.
Основные принципы экстрим-программирования очень просты и сводят разработку любых проектов к совершенно простым понятиям:
- Постоянная обратная связь с клиентом
- Прозрачность и простота разработки
- Анализ и предоставление клиенту готовых частей кода(релизов)
- Постоянное обсуждение и тестирование
Моделей(методик), а лучше сказать практик, такого подохода несколько: Cleanroom, RAD, RUP, Scrum, Спираль. На инфографике ниже расписана модель экстремального программирования Agile:

График как мне кажется достаточно ясно раскрывает суть процесса разработки: от ежедневных итераций по созданию, тестированию, рекодинга нового функционала до получения собственно ожидаемого продута и цели (goals и vision).
Интересно, что TDD в данной структуре выделено как обычный пункт ежедневной работы. У меня на это два взгляда, которые зависят от опытности работающей команды и каждого ее члена в частности.
Понятно, что тест-кейсы должны быть простыми: тест->ожидаемый результат->реальный результат->рефакторинг или новый) код. И в случае опытных программеров этот TDD проходит как по маслу, но если программеры не опытные или не до конца (непрозрачно) понимают весь проект в целом, что противоречит практике Agile, выплывают баги подобные нашим. Когда в самом конце тест-разработки готовый продукт является одним большим багом
Исходя из всего этого, становятся понятными некоторые вещи, которыми можно подитожить статью:
- Для усовершенствования процесса разработки, нужно четко его понимать, от самого его названия, до основных его понятий. Изучать на примере других компаний или по опыту сторонних разработчиков.
- Программисты должны развиваться быстрее, чем повяляются новые в их карьере задачи, для того чтобы TDD процесс был гладким.
4 Комментов к “Экстрим-программирование Agile”
Оставить коммент
Donation Bar
- Как сюда попасть
- Обзор бирж ссылок на SEOadd.ru (30$)
- BestMasterиZация (10$)
- Dofollow блог (6.5$)
- Партнерки на подписках (6.1$)
- BestMasterиZация (6$)
Order Links
Топ комментаторов
- No commentators.

Опубликовал cross в
medic :
Спасибо конечно за пост, но если честно то ни хрена не понял, даже с третьего раза
Понял только что нужно иметь четки план действий и придерживаться его, и равно с ним понимать, что в конце должно получиться
Kbul :
Что бы это понять надо учиться пять лет в институте, и помимо тез знаний которые там дают, постоянно нагружать свой мозг информацией из этой сферы.
Notepad2 :
Картинка порвала ленту
Свмысле на главной влезает на менюшку, нуже рефакторинг
Photomaster :
Разрыв шаблона О.О! Всегда когда слышал это понятие, думал, что это программирование в последние пару дне срока <_<…