Динамическая технология создания программного обеспечения
Методы и модификации технологии создания программного обеспечения, представленные в Традиционные технологии разработки программного обеспечения, часто критиковались за слишком высокую стоимость проектов. Для всех них общим является то, что обязательным является документирование, в котором подается результат выполнения различных шагов (спецификации, диаграммы и т.д.), являющиеся одновременно входными данными для следующих шагов. Более того, критика касалась также и некоторой близости к внешним обстоятельствам. Проект разработки программного обеспечения часто не учитывает того, что общая программа может в значительной степени определяться требованиями и пожеланиями заказчика и заказчик может значительно влиять на разработку.
Технологии создания программного обеспечения должны предусматривать полное удовлетворение потребностей будущих пользователей. Но эти технологии действительно развиваются так, упрощающие результаты того, что должно быть в начале проекта и получаемый в процессе разработки. В этой ‘связи со сказанным возникло так называемое экстремальное программирование (Extreme Programming, XP) – методология, основанная на принципах простоты, коммуникативности, обратной связи’ связи, решительности. Простота означает самое возможное решение проблемы; коммуникативность и обратная связь – это постоянные контакты всех лиц, участвующих в проекте, в том числе и будущего пользователя. Разработчики должны быть решительными в своих действиях, часто и интенсивно общаться между собой и составлять подобранный коллектив.
Существуют и другие подходы, тесно связаны с ХР-программированием, которые можно объединить одним термином: динамическая технология программирования. Это название было внедрена группой известных общественных личностей, которые опубликовали так называемый Манифест динамической технологии разработки программного обеспечения (Manifesto for Agile Software Development), основными принципами которого являются:
• Индивидуумы и взаимодействие стоят выше процессов и инструментария;
• Работающее программное обеспечение является выше объемной документации;
• Сотрудничество с клиентом является важнее договоров и переговоров;
• Реакция на изменения важнее выполнения планов.
Как видим, элементы, находящиеся справа в вышеуказанные принципах, можно неоднократно обнаружить в традиционных технологиях создания программного обеспечения, о которых упоминалось выше. Однако Манифест вовсе не отвергает эти положения, что выражается в такой фразе Манифеста: «имеют смысл утверждения правой стороны предложений, однако мы отдаем предпочтение левой части».
* * *
Кто-то использует компьютер в рабочих целях или для обучения, а кто-то больше для развлечения. Например, игры марио наводят на ностальгию по детсву, когда рубились в такую штуку на приставках типа Дэнди и подобных.