Проектирования больше нет

         

Проектирования больше нет?


Мартин Фаулер, Chief Scientist, ThoughtWorks
Перевод: К.Максимов, А.Максимова, http://maxkir.com/

Original text at martinfowler.com

Тем, кто успел кратко познакомиться с принципами Extreme Programming (ХР), порой кажется, что в этой методологии нет места процессу проектирования программных продуктов. При этом высмеиваются не только "Большое и Подробное Предварительное Проектирование", но и такие техники как UML и гибкие каркасы приложений. Даже значение паттернов либо принижается, либо напрочь отрицается. На самом же деле, в ХР много проектирования, но подается оно по-другому, нежели в обычных устоявшихся процессах разработки ПО. Методология XP оживила эволюционное проектирование новыми техниками, благодаря которым его теперь можно считать вполне жизнеспособной стратегией. Кроме того, в ХР перед проектировщиком ставятся новые трудные задачи, требующие немалого мастерства. Во-первых, это необходимость проектировать максимально простым образом, во-вторых, рефакторинг, и наконец, использование паттернов в эволюционном стиле.

(Эта статья была написана для моего доклада на конференции XP 2000 и опубликована в ее материалах.)

Последнее обновление текста - май 2004 г.
  • Проектирование предварительное и проектирование эволюционное
  • Основополагающие практики XP


  • Преимущества простого дизайна
  • "Простой дизайн" - что же это за зверь такой?
  • Нарушает ли рефакторинг принцип YAGNI?
  • Паттерны и ХР
  • Наращивание архитектуры
  • UML и XP
  • О метафоре
  • Малыш, хочешь быть архитектором, когда вырастешь?
  • Обратимость решений
  • Желание проектировать
  • Задачи, плохо поддающиеся рефакторингу
  • Проектирование это или нет?
  • Так что же, проектирования больше нет?
  • Благодарности

Методология Extreme Programming (XP) бросила вызов многим устоявшимся представлениям о разработке программного обеспечения. Пожалуй, наиболее противоречивой идеей является отказ от предварительного проектирования в пользу более эволюционного подхода. Для тех, кто всячески чернит ХР, это возврат к разработкам типа "code and fix" ("пишем и правим"). Для приверженцев новой методологии, это отказ от техник проектирования (например, UML), их принципов и паттернов. Незачем беспокоиться о проектировании, считают они. Достаточно внимательно "вслушиваться" в свой код, и проектирование образуется само собой.

Что касается меня, то я нахожусь непосредственно в эпицентре этих споров. Большая часть моей карьеры была посвящена графическим языкам моделирования - UML (Унифицированный язык моделирования) и его предшественникам, а также паттернам. Более того, я писал книги про UML и про паттерны. Раз я теперь принимаю ХР, не значит ли это, что я отрекаюсь от всего, что писал до сих пор?

Не буду испытывать ваше терпение, и заставлять вас ждать, затаив дыхание, ответа на этот драматический вопрос. Краткий ответ - нет. Подробный ответ содержится в оставшейся части этой статьи.



Содержание раздела