​​Про неопределённость

Многие ошибочно считают, что senior-специалистов отличает то, что они всегда уверены в том, что и как нужно делать. Что senior-специалисты строят абсолютно понятные и предсказуемые системы и процессы, но в быстро развивающихся продуктах и командах это невозможно. Никто в команде не может точно сказать, что нужно делать, как и какие потребуются ресурсы и сколько времени это займёт, можно лишь догадываться. На самом деле senior-специалисты принимают во внимание неопредлённость и свои незнания (и неопределённость и незнания людей вокруг) и строят системы и процессы с их учетом. Они понимают, что их оценки могут быть неверны, что код может сломаться, а люди их могут их понять неправильно.

Например, опытные product-менеджеры не просто приоритезируют новые фичи и гипотезы по их важности/деньгам/тону, с которым гипотеза была озвучена начальством. Они учитывают свою же уверенность в этих оценках (см. confidence в RICE).

Опытные разработчики чаще стараются удалять код, чем писать, чтобы уменьшать сложность систем и увеличивать их предсказуемость, а когда добавляют что-то новое – со всех сторон обкладываются мониторингами и алертами, ведь за свои 5/10/15 лет в разработке они поняли, что даже идеально написанный и протестированный код может сломаться у клиента и часто даже не по их вине.

Неопытный проджект-менеджер закидывает разработчикам новую фичу на оценку и ожидает точного срока, при несоблюдении которого будет приходить и спрашивать, а почему не уложились в свою же оценку? Опытный же понимает, что разработчики сами могут не знать, сколько может занять эта новая фича и узнает не срок, когда фича будет на продакшене, а срок, когда у разработчика будет достаточно данных, чтобы дать более-менее правильную оценку (а ещё лучше – работает без оценок). Кстати, некоторые системы ведения проектов построены вокруг идеи того, что на первой стадии работы над проектом мы не делаем ничего «осязаемого», мы просто уменьшаем количество unknowns о проекте, а во второй уже что-то делаем (см. hill charts в Basecamp).

В общем, не ожидайте, что всё, что вы делаете – правильно. Лучше заранее подумайте, как вы сможете как можно раньше понять, что сделали что-то неправильно?

Показать комментарии