Shu-ha-ri для программистов

Что происходит, когда команда (или фирма) решает, что теперь она разрабатывает софт, используя SCRUM (или XP или что угодно)?

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

shu-ha-ri

Но в какой-то момент кто-то начинает спрашивать “Почему?” и команда переходит на уровень Ha. Это не всегда случается, например, если руководство давит все попытки что-то изменить (ага — это забавно, когда методология зовется “гибкой”, а изменять в ней ничего нельзя). На уровне Ha команда начинает менять методологию под себя.

Например, если это SCRUM, то команда может решить, что ей не нужны 5% workshops, или что она не хочет запрещать Product Owner-у добавлять новые задачи внутри итерации, или даже что ежедневные Scrum standup — это waste и их надо делать раз в 2-3 дня.

На уровне Ha команда избавляется от ненужного, что мешало ей в работе, а также может добавить в процесс что-то, что будет помогать. Как результат — рост производительности и самоудовлетворенности команды.

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

  • Она уже не ограничена никакими рамками конкретной методологии.
  • Она может выбирать самое подходящее из разных методологий, пробовать это и решать — подходит или нет.
  • Она может даже ненадолго полностью отказаться от одной методологии и переключиться на другую только затем, “чтобы попробовать”.

Такая команда работает еще эффективнее и это и есть та самая “команда мечты”, про которую писали ДеМарко и Листер в Peopleware. Такой команде просто не надо мешать, и тогда она сделает все, что от нее требуется.

Те же самые 3 уровня развития можно применить ко многим вещам. Например, к умению программировать.

Вначале программист находится на уровне Shu — он изучает язык или языки программирования, изучает алгоритмы, улучшает свои навыки написания программ, изучает предметную область и т.д.

Shu-программист может быть вполне успешным и их большинство в нашем мире.

Такой программист может отлично делать свою работу, если задание поставлено четко, но с трудом может ставить себе задачу сам. Он следует правилам разработки, принятым в его компании или отрасли и не спрашивает постоянно “почему?”, не пытается постоянно изменить что-то. Он “следует”, “течет по течению” и эти фразы лучше всего описывают таких программистов.

Уверен, что вы знаете немало Shu-программистов, потому что, подчеркну, их большинство. А может вы и сам — Shu-программист? Тогда читайте дальше и, возможно, вы сможете постичь третью ступень.

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

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

И со временем такой программист может достигнуть просветления и перейти на уровень Ri. А вы на каком уровне сейчас находитесь?

И, главное, что вы делаете и достаточно ли стараетесь для перехода на другой уровень?

Оставить комментарий