Найти в Дзене

Зачем понимать процессы?

Общаемся с юношей, который пытается проектировать почтовую службу с возможностью отслеживать по трек-номеру свою корреспонденцию.

Смотрим на процессную диаграмму:

Рис.1
Рис.1

Ну она несомненно получше, чем была предыдущая , но все еще вызывает вопросы.

Все равно упорно рисует событие в виде входящей стрелки "Посылка приехала в пункт назначения". То есть вот эта простая идея, что прямоугольник - это "Что сделать?", а стрелка - это "С чем сделать?" и "Что получится на выходе?" - это сложная для понимания идея.
Дружочки, на выходе может быть "Посылка", может быть "Посылка в каком-то статусе", но никак не "Посылка приехала". Но об этом мы уже говорили.
Речь будет о другом.

В задании есть такой текст:


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

Очевидно, что на диаграмме показан клиент, который может посмотреть движение своей посылки, но нигде не показано, что кто-то должен это движение где-то зафиксировать. Судя по диаграмме, посылка вообще волшебно сразу после отправки оказывается в пункте назначения. А между этими моментами - черная дыра.


Спрашиваю юношу:

-Вот у вас клиент отслеживает посылку, хорошо. А благодаря чему он получает вообще эту информацию о том, что посылка сейчас в сортировочном центре города такого-то?

- Ну... на сайте смотрит, - отвечает юноша.

- Хорошо, а как эта информация на сайт попадет? Что в вашей системе предусмотрено, чтобы клиент смог эту информацию видеть?

- Ну... не знаю, как это точно устроено. Наверное, от водителя. Там же какой-то маячок есть на посылке, который сечётся радаром...

Что мы в данном случае видим? Нет, не глупого студента. Он не дурак. Тут совсем другое. Это на самом деле очень типичная ситуация, которая возникает в диалоге системного аналитика и заказчика. У обоих совершенно разная картина происходящего в голове! Один считает, что нужно просто внести данные в базу на сортировочном пункте, а другой думает о маячке и радаре. И, кстати, думает о маячке после прочтения текста задания, где черным по белому написано, что никакого маячка нет, а есть отметка в базе данных. И каждый строит в голове систему исходя из своего видения. И каждый не дурак.

То есть человек пытается проектировать системы вообще ни хрена не понимая, что там реально происходит в жизни, выдумав себе параллельную реальность.

Что с этим делать?

1) Знать, что если вас могут понять неправильно, то вас поймут неправильно. Даже то, что написано русским по белому, поймут неправильно. А уж то, что вы скажете словами через рот! Это вообще поймут ооочень своеобразно )

2) Понимать что п. 1) справедлив для обеих сторон (да, вы тоже можете понять неправильно)

3) Выяснять все детали процесса и РИСОВАТЬ ЧЕРТОВЫ ПРОЦЕССНЫЕ ДИАГРАММЫ.

Да, именно поэтому мы рисуем процессы, чтобы все участники событий их понимали в деталях и одинаково. Чтобы было четкое осознание, кто, когда и что делает. А если какой-то участок процесса кажется мутным и непонятным, то нужно идти к заинтересованным лицам и двести раз переспрашивать " а точно дважды два четыре?".