SEMAT

SEMAT (Software Engineering Method and Theory) - инициатива по превращению программной инженерии в настоящую научно-техническую дисциплину.

SEMAT - это не метод, он не конкурирует с agile-подходами или “водопадом”, а подкрепляет их, делает лучше и при этом позволяет быстро понять, в каком состоянии находится проект. В каждой организации применяются самые разные языки программирования, среды и методологии разработки, но без единой платформы SEMAT они будут существовать сами по себе, без взаимосвязей с единой проектной структурой. SEMAT kernel - "метаметод", который предоставляет универсальные механизмы измерения и анализа процесса производства, контроля за его прогрессом.

Концепция

В концепции SEMAT выделяют три момента.

  1. Ядро. Под всеми методологиями лежит единое ядро (это то, что в девелоперских проектах делается всегда и везде). Ядро — не метод, описанный в книге, а ежедневные практики, позволяющие измерять успех продвижения к цели. При этом ядро не “математично”, а представляет собой скорее экспертные суждения. Главный принцип его формирования таков: использовать только что, что нужно абсолютно всем. При этом, конечно, пользователи могут добавлять собственные проектные практики, которые описываются в терминологии ядра и таким образом становятся более понятными.
  2. Язык. Так как разработчики документацию и книги практически не читают, им нужно предоставить интуитивно понятный графический синтаксис (символический визуальный язык). Эффект от него поразительный: например, полсотни страниц классического описания Scrum умещается в две страницы в синтаксисе SEMAT.
  3. Альфы. Ядро само по себе очень компактно, а основная работа с помощью SEMAT строится на так называемых “альфах”, практиках (то, что мы делаем и используем в рабочих процессах). В любом проекте всегда есть требования (не обязательно задокументированные — SEMAT этого не требует, достаточно, чтобы они “хранились” у специалиста в голове), всегда есть команда (пусть даже состоящая из одного человека), что подразумевает методы совместной работы (люди знают, как работать вместе, хотя это знание также не обязательно формализовать), и всегда есть акционеры/заказчики/инвесторы, с которыми надо взаимодействовать.