Size: a a a

2020 February 25

YP

Yuliya Pavlova in SPb CoA
Олег Игонин
Поделюсь одной из бед-практис из моей работы.

Делаем проект, который включает в себя длинный сценарий вытаскивания, преобразования и сохранения данных.
Где-то на 30% работы аналитика тимлид говорит пускать часть выполненной работы в разработчика, чтобы ускорить процесс.

Предпосылки звездеца:
1. Техрешение не проходило цикла согласования (его в глаза ещё никто не видел ,в т.ч. тимлид).
2. Ещё непонятно как будет работать процесс в целом и не потребуется ли тянуть из запроса на известном шаге 2 данные, необходимые на шаге 9, который не описан.
3. В голове аналитика нет цельной картины работы сервиса.
4. Заказчики продолжают менять точки зрения, некоторые пункты меняются.
5. Нет согласованных фаз проекта.

И вот в этом зоопарке разработчик начинает работу, пытаясь выполнить часть сценария.

К чему это привело:
0. Разраб сразу начинает писать код без прочтения ТЗ.
1. Работа аналитика заафекшено, т.к. ему приходится не работать, а заниматься объяснениями/спорами, уточнениями терминов и прочей обычной работой этапа согласования ТР. И всё это будет повторяться на каждой фазе (хаха, фазе! просто каждый раз, когда у тимлида зачешется), когда разработчик будет приступать к следующему куску сценария.
2. Код будет переделываться под будущие изменения в сценарии.
3. Куча переключений в работе, которые едят 30-40% времени.
4. Все изменения в документации теперь надо делать так, чтобы разработчик это видел. любые изменения в предыдущем сценарии теперь приводят к согласованию с разработчиком.
5. Потом ещё будут тесты)))
6. Разработчику кажется, что в ТЗ кромешный звздец, всё постоянно меняется, что заставляет его прожигать стул.
7. Из-за постоянного звездеца падает мораль, сложнее работать, пропадает желание делать хоть что-то. Из понятного флоу работ процесс превращается в работу с кубиком-рубиком, мозг срочно хочет смотреть котиков. а не вот это вот всё.
8. Все остальные входящие запросы обрабатываются кое-как.
9. Разраб выныривает из контекста в моментах простоя.

При этом следует учесть, что:
1. Никакой business value отдельные куски сценария не несут.
2. В сроки укладывались и без ускорения.
3. Сроки можно было сдвинуть.
4. Заказчикам вообще пофиг на сроки.
источник

ОИ

Олег Игонин in SPb CoA
Andrey
Поэтому тимлиды не должны РПшить
Ну да, они больше экспертами в области архитектуры становятся и решений. Отчасти бизнеса. Но управление - это вообще другая планета.
источник

ОИ

Олег Игонин in SPb CoA
Олег Игонин
Поделюсь одной из бед-практис из моей работы.

Делаем проект, который включает в себя длинный сценарий вытаскивания, преобразования и сохранения данных.
Где-то на 30% работы аналитика тимлид говорит пускать часть выполненной работы в разработчика, чтобы ускорить процесс.

Предпосылки звездеца:
1. Техрешение не проходило цикла согласования (его в глаза ещё никто не видел ,в т.ч. тимлид).
2. Ещё непонятно как будет работать процесс в целом и не потребуется ли тянуть из запроса на известном шаге 2 данные, необходимые на шаге 9, который не описан.
3. В голове аналитика нет цельной картины работы сервиса.
4. Заказчики продолжают менять точки зрения, некоторые пункты меняются.
5. Нет согласованных фаз проекта.

И вот в этом зоопарке разработчик начинает работу, пытаясь выполнить часть сценария.

К чему это привело:
0. Разраб сразу начинает писать код без прочтения ТЗ.
1. Работа аналитика заафекшено, т.к. ему приходится не работать, а заниматься объяснениями/спорами, уточнениями терминов и прочей обычной работой этапа согласования ТР. И всё это будет повторяться на каждой фазе (хаха, фазе! просто каждый раз, когда у тимлида зачешется), когда разработчик будет приступать к следующему куску сценария.
2. Код будет переделываться под будущие изменения в сценарии.
3. Куча переключений в работе, которые едят 30-40% времени.
4. Все изменения в документации теперь надо делать так, чтобы разработчик это видел. любые изменения в предыдущем сценарии теперь приводят к согласованию с разработчиком.
5. Потом ещё будут тесты)))
6. Разработчику кажется, что в ТЗ кромешный звздец, всё постоянно меняется, что заставляет его прожигать стул.
7. Из-за постоянного звездеца падает мораль, сложнее работать, пропадает желание делать хоть что-то. Из понятного флоу работ процесс превращается в работу с кубиком-рубиком, мозг срочно хочет смотреть котиков. а не вот это вот всё.
8. Все остальные входящие запросы обрабатываются кое-как.
9. Разраб выныривает из контекста в моментах простоя.

При этом следует учесть, что:
1. Никакой business value отдельные куски сценария не несут.
2. В сроки укладывались и без ускорения.
3. Сроки можно было сдвинуть.
4. Заказчикам вообще пофиг на сроки.
Но вообще подобный кейс частый в компаниях, у которых нет более-менее жёстких рамок в этапах разработки программного обеспечения. Я в этот раз не очень орал специально, чтобы посмотреть и засечь ,что произойдёт. =)
источник

ОИ

Олег Игонин in SPb CoA
О, я наконец я нашёл эту божественную рекламу
https://youtu.be/VJsp98bgUJ0

Наслаждайтесь))
источник

DK

Daria Kaftan in SPb CoA
Интересно, за что тимлид так не любит разработчика. Он же сам должен себя на его месте хорошо представлять
источник

DK

Daria Kaftan in SPb CoA
Или это "управление" в голову ударило?..
источник

ОИ

Олег Игонин in SPb CoA
А вот я не знаю. Может быть тут разница в том, что он из того времени, когда решения делались без ТР, "из головы". Вот и пришло понимание того, что ТР - это просто направление работы. 20% документации, 80% фантазии и предсказаний.
источник

ОИ

Олег Игонин in SPb CoA
Олег Игонин
О, я наконец я нашёл эту божественную рекламу
https://youtu.be/VJsp98bgUJ0

Наслаждайтесь))
Вот где-то был токой-же момент, про двоих египтян, перевёрнутые вниз остриями пирамиды и инженерию. Про тех, кто не читает ТЗ. =))
источник

A

Andrey in SPb CoA
Олег Игонин
Ну да, они больше экспертами в области архитектуры становятся и решений. Отчасти бизнеса. Но управление - это вообще другая планета.
Ну вот. Поэтому если компания экономит на РП, чему удивляться)
источник

ОИ

Олег Игонин in SPb CoA
Не знаю, экономить это не про мою компанию в целом. Другой вопрос, что в целом опыта в управлении и структуры достаточно, чтобы выполнять заказы бизнеса даже в таки условиях. Тут каждый сотрудник - неплохой эксперт технической и отчасти бизнесовой области - от аналитика до тестировщика. В рамках доменных областей (хоть и несколько хаотично). В таком случае человек, который может "пробить" решение лучше, чем тот, кто может запланировать.
источник

ОИ

Олег Игонин in SPb CoA
Но любое "пробивание" стоит нервов и беклога.
источник

A

Andrey in SPb CoA
Олег Игонин
Не знаю, экономить это не про мою компанию в целом. Другой вопрос, что в целом опыта в управлении и структуры достаточно, чтобы выполнять заказы бизнеса даже в таки условиях. Тут каждый сотрудник - неплохой эксперт технической и отчасти бизнесовой области - от аналитика до тестировщика. В рамках доменных областей (хоть и несколько хаотично). В таком случае человек, который может "пробить" решение лучше, чем тот, кто может запланировать.
Мб конечно.

Я наугад сказал про экономию. Не знаю как у вас все организовано.
В целом суть в том, что принимать такие решения должен РП, а не тимлид.
источник
2020 February 26

NM

Nikita M in SPb CoA
Олег Игонин
Сказ про то, как водопад превратить в хренопад.
опубликовал этот чудесный опус своим студентам)))
источник

ОИ

Олег Игонин in SPb CoA
Nikita M
опубликовал этот чудесный опус своим студентам)))
You are welcome!)
источник

NM

Nikita M in SPb CoA
ммне вообще нравится твои опусы читать
источник

NM

Nikita M in SPb CoA
сразу видно аналитика)))
источник

ОИ

Олег Игонин in SPb CoA
Олег Игонин
Поделюсь одной из бед-практис из моей работы.

Делаем проект, который включает в себя длинный сценарий вытаскивания, преобразования и сохранения данных.
Где-то на 30% работы аналитика тимлид говорит пускать часть выполненной работы в разработчика, чтобы ускорить процесс.

Предпосылки звездеца:
1. Техрешение не проходило цикла согласования (его в глаза ещё никто не видел ,в т.ч. тимлид).
2. Ещё непонятно как будет работать процесс в целом и не потребуется ли тянуть из запроса на известном шаге 2 данные, необходимые на шаге 9, который не описан.
3. В голове аналитика нет цельной картины работы сервиса.
4. Заказчики продолжают менять точки зрения, некоторые пункты меняются.
5. Нет согласованных фаз проекта.

И вот в этом зоопарке разработчик начинает работу, пытаясь выполнить часть сценария.

К чему это привело:
0. Разраб сразу начинает писать код без прочтения ТЗ.
1. Работа аналитика заафекшено, т.к. ему приходится не работать, а заниматься объяснениями/спорами, уточнениями терминов и прочей обычной работой этапа согласования ТР. И всё это будет повторяться на каждой фазе (хаха, фазе! просто каждый раз, когда у тимлида зачешется), когда разработчик будет приступать к следующему куску сценария.
2. Код будет переделываться под будущие изменения в сценарии.
3. Куча переключений в работе, которые едят 30-40% времени.
4. Все изменения в документации теперь надо делать так, чтобы разработчик это видел. любые изменения в предыдущем сценарии теперь приводят к согласованию с разработчиком.
5. Потом ещё будут тесты)))
6. Разработчику кажется, что в ТЗ кромешный звздец, всё постоянно меняется, что заставляет его прожигать стул.
7. Из-за постоянного звездеца падает мораль, сложнее работать, пропадает желание делать хоть что-то. Из понятного флоу работ процесс превращается в работу с кубиком-рубиком, мозг срочно хочет смотреть котиков. а не вот это вот всё.
8. Все остальные входящие запросы обрабатываются кое-как.
9. Разраб выныривает из контекста в моментах простоя.

При этом следует учесть, что:
1. Никакой business value отдельные куски сценария не несут.
2. В сроки укладывались и без ускорения.
3. Сроки можно было сдвинуть.
4. Заказчикам вообще пофиг на сроки.
А знаете, что надо делать в таких случаях? Вот сейчас расскажу. =)
1. При понимании того, что вам подкинули песца в задачи (сдвигая планы), первоначально надо резко деградировать производительность (привет йога!). Это действие поможет вам не начать без головы бежать с остальными превозмогая планы, не повредить свою мораль и не иссушить мыслительную выносливость.Надо понимать, что когда в ваш нагруженный процесс работы включается ещё 1, 2 или больше процессов, то надо заново производить их приёмку, оценку и планирование. Иначе вам придётся откуда-то взять время и силы. Обычно этими буферами являются ваше личное время и силы на семью, хобби, отдых. Вы начинаете работать в перегрузке.
2. Выдержите первый удар без напряжения. В этот момент все люди, которые побегут в вас с вопросами - первичны. Не пытайтесь серьёзно работать с основной задачей. Ваша тип задач должен переключиться с задумчивой работы на консультирование и планирование. Сложную работу закидывайте за планирование. Кроме того. из-за разнородности первой волны вопросов будет очень сложно параллельно работать и вы попадёте в ловушку из пункта 1, начав забирать силы и время из буфера.
3. Проведите перепланирование. Снова расставьте приоритеты задачам, примерные сроки (НАВСКИДКУ), уведомите окружающих.
4. Если сдали ваш драфт на растерзание разработке, то не стоит ориентироваться на разработчика и его удобство в плане доработки документа. Надо чётко понять, что в этом случае смешали две фазы (написание ТЗ и разработку, а то ещё и тестирование) и пропустили фазу приёмки (согласования). Т.е. меняете документ как вам надо и пофиг что там разработка делает. Пускай у них горит . быстрее поймут, что так делать не надо. В ином случае, появится дополнительная сложность и вы ещё сильнее затормозите и усложните свою работу.
4. Начинайте декомпозировать песца до простых задач, снова выстраивайте последовательность работы с документом.
5. Следите за тем, чтобы не перенапрягаться в такой работе. Как только возникает перегруз - деградируйте производительность до уровня: "ну я могу вам сосисочек сварить, ничего более сложного".
6. Ограничивайте доступ к себе и старайтесь найти спокойное место и угол, чтобы не торопясь развязать клубок сложностей, декомпозировать его, уложить в поток работ и последовательно обработать.
источник

ОИ

Олег Игонин in SPb CoA
Вот такие выводы)
источник

ОИ

Олег Игонин in SPb CoA
В конце хочу сказать, что для решения таких проблем есть два пути:
1. Вы начинаете подключать дополнительные ресурсы и бежать с остальными - именно этого зачастую от вас ждёт ваше начальство (ибо им побоку на ваше состояние и они не особо шарят в том, как можно распределять работы таким образом, чтобы они делались ещё быстрее за счёт нормальных фаз и уменьшения многопоточности). Минусы понятны - повреждение здоровья, морали, нервов, воровство личного времени и сил.
2. Декомпозиция задач, приёмка, выстраивание задач в понятную последовательность выполнения не сложных работ. В этом случае вы защищаете своё здоровье, время и силы, но ваше начальство негодует, т.к. у них планирование короткое, а каждая приёмка с декомпозицией занимает до 30% дополнительного времени к решению средних и больших задач.

В целом и там и там вы никак не выиграете во времени.
источник

ОИ

Олег Игонин in SPb CoA
Правильное состояние аналитика, когда его завалили кучей задач:
источник