SEMAT — различия между версиями

(Концепция)
Строка 7: Строка 7:
  
 
== Концепция ==
 
== Концепция ==
В концепции SEMAT выделяют три момента.
+
[[Файл:semat-concept.png|center]]
# '''Ядро'''. Под всеми методологиями лежит единое ядро (это то, что в девелоперских проектах делается всегда и везде). Ядро — не метод, описанный в книге, а ежедневные [[Практика|практики]], позволяющие измерять успех продвижения к цели. При этом ядро не “математично”, а представляет собой скорее '''экспертные суждения'''. Главный принцип его формирования таков: использовать только что, что нужно абсолютно всем. При этом, конечно, пользователи могут добавлять собственные проектные практики, которые описываются в терминологии ядра и таким образом становятся более понятными.
+
 
# '''Язык'''. Так как разработчики документацию и книги практически не читают, им нужно предоставить интуитивно понятный графический синтаксис (символический визуальный язык). Эффект от него поразительный: например, полсотни страниц классического описания [[Scrum]] умещается в две страницы в синтаксисе SEMAT.
+
В концепции SEMAT выделяют:
# '''[[Альфа|Альфы]]'''. Ядро само по себе очень компактно, а основная работа с помощью SEMAT строится на так называемых “альфах”, практиках (то, что мы делаем и используем в рабочих процессах). В любом проекте всегда есть [[требования]] (не обязательно задокументированные — SEMAT этого не требует, достаточно, чтобы они “хранились” у специалиста в голове), всегда есть [[команда]] (пусть даже состоящая из одного человека), что подразумевает методы совместной работы (люди знают, как работать вместе, хотя это знание также не обязательно формализовать), и всегда есть [[стейкхолдер|акционеры/заказчики/инвесторы]], с которыми надо взаимодействовать.
+
# '''Ядро'''. Под всеми методологиями лежит единое ядро (это то, что в девелоперских проектах делается всегда и везде). Ядро не “математично”, а представляет собой скорее '''экспертные суждения'''. Главный принцип его формирования таков: использовать только что, что нужно абсолютно всем. При этом, конечно, пользователи могут добавлять собственные проектные практики, которые описываются в терминологии ядра и таким образом становятся более понятными.
 +
#* '''[[Альфа|Альфы]]'''. Ядро само по себе очень компактно, а основная работа с помощью SEMAT строится на так называемых “альфах”, абстрактных атрибутах, которые изменяются в проекте, и изменения которых нужно понимать, отслеживать, обеспечивать, направлять, контролировать.
 +
# '''[[Язык]]'''. Так как разработчики документацию и книги практически не читают, им нужно предоставить интуитивно понятный графический синтаксис (символический визуальный язык). Эффект от него поразительный: например, полсотни страниц классического описания [[Scrum]] умещается в две страницы в синтаксисе SEMAT.
 +
# '''[[Практика|Практики]]''' - последовательность действий, совершаемых в рабочих процессах. Практики описываются элементами Ядра.
 +
# '''[[Метод|Методы]]''' - наборы практик.
  
 
== Ссылки ==
 
== Ссылки ==

Версия 15:28, 15 ноября 2016

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

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

Цели и задачи

Главной своей задачей SEMAT ставит выработку нового набора типов компонент метода (новую "схему акта деятельности"), по составу которого будет достигнут не столько "научный результат" (творцов в SEMAT более чем хватает), но общественное согласие. По факту, основатели SEMAT хотят повторить успех UML в области SME -- в начале 90-х по поводу UML договорились между собой представители самых разных методологий разработки и соответствующих им языков ОО-моделирования. Результат известен, UML сегодня "царь горы". Те же самые люди, которые занимались унификацией UML из своих разнородных подходов в середине 90-х, возглавляют теперь SEMAT. Тем самым развитие SME приобретает еще и социальное измерение: способ задания в SEMAT онтологии метода упирает на "разделяемость" (shared) множеством людей, как основное свойство онтологии -- когда они получат результат (набор компонент метода), по факту под этим результатом подпишутся множество людей, и SEMAT будет претендовать на статус "стандарта де-факто".

Концепция

В концепции SEMAT выделяют:

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

Ссылки