НовостиОбзорыСобытияIT@WorkРеклама
Идеи и практики автоматизации:

Блог

Анти-SEMAT или каждому свое?

Разбавим позитив по инициативе SEMAT авторитетной критикой.

[spoiler]Алистер Коберн (автор классики "Writing Effective Use Cases"), один из вождей аджайл-движения, и не менее известный спец по программной инженерии, нежели любой гуру из Troika, поприсутствовал на упомянутом "историческом" мартовском семинаре SEMAT в качестве засланного казачка (потому как исходно был настроен негативно, судя по его блогу).
http://alistair.cockburn.us/A+Detailed+Critique+of+the+SEMAT+Initiative

Он заявил, что на этом семинаре собрались реально продвинутые люди, и им вполне по силам сделать что-то действительно выдающееся; однако термин "программная инженерия" сегодня нередко понимается неправильно, и эти люди могут сделать как полезные для этой деятельности вещи, так и вредные; я сам (Коберн в смысле) работаю над теорией программной инженерии 10 лет, и с возникновением SEMAT появилась возможность эти идеи либо улучшить, либо "разломать". По результатам семинара Коберн написал детальную статью с критикой SEMAT, итогом которой стало его заявление, что то, чем занимается SEMAT, не имеет отношения ни к программной инженерии, ни к инженерии, ни к программной теории, а организаторы SEMAT вряд ли вообще способны произвести что-то внятное в ближайшее время :)

В то же время Коберн, как человек рациональный, достаточно четко сформулировал главную причину своего решения не участвовать в SEMAT: цель SEMAT не "расследовать" (изучать, анализировать, синтезировать) программную инженерию, что интересует самого Алистера, а создать некий "ядерный мета-метод" (игра слов такая получилась, в оригинале смысл другой немного, Meta-Method-Kernel) -- математический язык описания некоторых достаточно важных элементов процесса разработки ПО (и это действительно так).

Не менее известный профи Мартин Фаулер, написавший немало бестселлеров по проектированию программных архитектур, на это мероприятие даже не явился, едва прочитав в DrDobbs статьи про SEMAT со словами meta-method-kernel. Именно этот мета-метод мгновенно лишил Фаулера всяческого интереса к SEMAT. Еще в 80-е и 90-е я потратил немало времени на подобные попытки, отмечает Мартин (http://martinfowler.com/bliki/Semat.html), но эта задача слишком сложна, а ценность ее ограничена. Фаулер активный сторонник подхода Коберна, и также полагает, что ключевой элемент разработки ПО  -- это люди, существа по своей природе нелинейные и непредсказуемые. Именно поэтому подобные универсальные мета-методы обречены на неудачу. Программные процессы -- вещь многогранная, и гораздо более реалистичными, по мнению Фаулера, выглядят подходы Алистера к изучению и описанию методов в контексте конкретной организации и конкретного коллектива ("каждому проекту своя методология").

Ну и в заключение отмечу, что и в СССР имелись, и в России имеются свои спецы по программной инженерии, как минимум не уступающие западным по научно-практическому багажу. На их деятельность в следующем году постараемся обратить внимание, хотя, скажу по многолетней практике, с нашими спецами договариваться об их собственном пиаре обычно гораздо труднее, нежели даже с Якобсоном или Коберном, которые важность саморекламы отлично понимают.