Как вы отслеживаете сложные бизнес-правила вне кода?

9

Мне интересно посмотреть, как другие люди делают это. Особенно в ситуациях, когда несколько разных клиентов используют одну и ту же программную базу с немного разными бизнес-правилами. Какие методы вы используете, чтобы документировать, как все должно работать или бизнес-правила.

По сути, когда в команду приходит новый разработчик, у нее есть простой доступ к информации о том, как все должно работать, потому что очевидно, что есть разница между исправлением ошибок и обеспечением правильной работы.

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

MetaGuru
источник
6
What kind of practices do you use to document how everything is supposed to work or business rules.Поверь мне, ты не хочешь знать ... <вздох>
Яннис
3
Да, черт, я скучаю по вам бизнес-правилам, поэтому я создал правила для ваших правил, чтобы вы могли описывать правила, пока вы описываете правила. SCNR.
Раку

Ответы:

10

Это один из вариантов использования каркасов BDD, таких как Cucumber, которые позволяют фиксировать бизнес-требования в коде и часто тестировать их. Другие подходы, которые я видел, включают в себя длинные и сложные технические документы, большие листы бумаги, прикрепленные к стене, слайды и Джо, парень в конце стола, который знает все.

philosodad
источник
теперь это выглядит замечательно, также найден для C #: specflow.org
MetaGuru
2

Я бы подумал, что, по крайней мере, они будут задокументированы и сохранены в документе с требованиями.

Я понимаю, что в большинстве мест либо нет письменных требований, либо они не поддерживаются, но это другая проблема. :-)

Джон Макинтайр
источник
1

Мы использовали BPMN для документирования и моделирования наших бизнес-процессов, если вы это имеете в виду.

Мы также пытались использовать механизм рабочего процесса в проекте, чтобы позволить пользователям участвовать в моделировании, но это натолкнулось на некоторое сопротивление, потому что они слишком боялись что-то сломать, даже если это моделирование было выполнено вместе со специалистом по технологическому процессу из нашего ИТ отдел.

Рака
источник
2
Бояться что-то сломать кажется довольно распространенным явлением - в нашем веб-приложении есть много настраиваемых пользователем материалов, но мы склонны вносить изменения, когда наши пользователи не знакомы с функциональностью, которую пытаются изменить.
Майкл К
1
omg.org/spec/BPMN "OMG", моя мысль точно. Я собираюсь начать изучать это, хотя, спасибо за реальный ответ.
MetaGuru
1
Я думаю, что движки рабочих процессов и BPMN в целом являются удивительной идеей, но их успех во многом зависит от технической близости более поздних пользователей. Я надеюсь, что у следующего поколения пользователей не будет проблем с ними. </ optimism>
Раку
1
Да, OMG - правильное описание для этого :-).
Раку