Т-образные навыки — важны ли они в процессе разработки и командной работе?

Myroslava Zelenska
Sep 7, 2018 · 5 min read

Иногда Agile команды разработчиков должны решать задачи, требующие большей гибкости и более короткого времени реагирования, чем рекомендуют эксперты. В то же время у них нет всех инструментов, информации и ресурсов, необходимых для выполнения этой работы. Мне кажется, что в таких экстремальных сценариях, когда все шансы против команды, есть команда, которая, скорее всего, преуспеет: та, которая построена по новой Т-образной парадигме навыков.
Вкратце: человек с Т-образными навыками обладает способностью выполнять разные задания, но имеет «глубокое знание» лишь нескольких из них (в картинке под названием поста есть графическое представление этого понятия).

Это описание относится, например, к разработчикам, которые также немного разбираются в тестировании и графическом дизайне. Их глубокие знания касаются разработки, но при необходимости они могут помочь команде сделать макеты или заняться тестированием. Команда, состоящая из членов с такими навыками, более гибкая, когда сталкивается с каким-то bottleneck’ом. Когда некоторые члены команды слишком заняты, другой участник может взять на себя часть нагрузки.

Синьор хеллоуворлдщик?

Вертикальная панель T относится к опыту и пониманию конкретной области, в то время как верхняя, горизонтальная часть T относится к способности сотрудничать с экспертами из других дисциплин, получая еще большее понимание и знания предмета благодаря этому сотрудничеству.
Например, один T-образный разработчик может обладать сильными знаниями в Java, но способен эффективно решать проблемы также в PHP, SQL, Ruby или Python.
Для многих людей эта концепция может быть проблемой, потому что:
- Исторически организации создаются вокруг команд с одинаково квалифицированными специалистами или компонентами системы, например, команда QA или команда Backend.
- Линии управления также следуют за этими организационными структурами, например “Менеджер по саппорту” занимается только этим.
- Целые карьеры строились, специализируясь на высокопрофессиональных наборах навыков, например, PHP разработчик.
- Существует общее заблуждение, что, поскольку каждый человек должен быть Т-образным, каждый человек должен обладать всеми навыками, необходимыми для деливери. Это не так.

Традиционный подход к созданию команд вокруг общих навыков и компонентов имеет ряд проблем в сложном мире, в котором мы сейчас живем:
- Большая стоимость координации по перемещению части работы по всему флоу, отсутствие управления зависимостями, которые это вызывает
- Знания будут потеряны во время передачи между различными специализациями и навыками; решения, составляющие цепочку, также будут потеряны, поскольку работа будет проходить через различные команды.
- Люди становятся очень целеустремленными в наборе навыков и знаний о продукте и компоненте, а мотивация к расширению навыков и знаний становится более сложной.
- Отношение типа «это не моя работа» может стать распространенным, когда люди не имеют мотивации нести ответственность за что-либо большее, чем их конкретный компонент.

Создавая команду со смешанным набором навыков, а не вокруг определенного набора навыков, организация сможет:
- Минимизировать зависимости между командами, в результате чего возникнет меньше проблем с координацией и разными приоритетами
- Сократить передачу знаний, избегая потери информации
- Расширять и углублять навыки отдельных членов команды с течением времени через совместную работу
- Усилить командную ответственность за все решение, а не за отдельные его фрагменты
- Помимо глубоких технических навыков разработчики смогут овладеть «дополнительными навыками (soft skills)», такими как эмпатия, решение проблем, адаптивность и гибкость, видение большой картины, желание учиться, коммуникабельность, командная работа, критическое мышление.
Есть много причин, по которым компании предпочитают нанимать Т-образного человека. Большинство предприятий вкладывают тонны денег и времени, чтобы распространять знания в своих командах разработчиков. Существует вероятность того, что знания будут потеряны, если у сотрудников нет Т-образных навыков, таких, например, как работа в команде или желание учиться.
Многие компании поощряют отношение «это не моя работа» внутри команды, где разработчики не берут на себя ответственность за что-то кроме своей работы. Создание команды с Т-образными навыками, а не с обычными навыками, позволяет организациям решать проблемы координации, менеджмента и приоретизации, поощрять коллективное владение всем продуктом или решением, а не определенными их элементами.

Еще раз хочу уточнить, что разработчики с Т-образными навыками все же имеют специализацию по frontend, backend или конкретном стеке технологий. Тем не менее, они также могут заниматься большим количеством задач по разработке, владеть проектным мышлением и даже управлять продуктом.
Разработчики с Т-образными навыками позволяют компаниям решать новые задачи и быстро развиваться. Такой разработчик может вносить свой вклад в проект с начала до конца, что означает, что у вас могут быть небольшие команды с большей ответственностью. Они могут с легкостью обсуждать свои технологии и сравнивать их с другими. Именно благодаря этим знаниям они всегда знают, что происходит в их проекте, и могут быстро найти источник проблемы.
Эти люди являются наиболее востребованными разработчиками. Современный мир хочет, чтобы сотрудники, которые делают, например, фронтенд, могли еще и использовать промежуточное ПО, терминал в своей выбранной операционной системе, задеплоить свою работу на нужное окружение, и знали, как это все можно протестировать. Обладание Т-образными навыками является одним из самых больших конкурентных преимуществ, которые могут быть у вас для достижения ваших целей и того, чтобы составить хорошую конкуренцию на рынке.

Командная работа и кросс-функциональные люди

Команда из Т-образных людей, где у каждого разные навыки и специальности, позволяет членам команды дополнять друг друга и формировать высокоэффективную команду. Команды с такими Т-образными людьми более эффективны, поскольку у них меньше внутренних узких мест и разногласий с расчета на время одного человека.
Конечная выгода заключается в том, что у команды больше нет единой точки отказа (SPOF).
Команды, состоящие из людей, которые уже имеют или хотят приобрести Т-образные навыки, как правило, более гибкие и эластичные в плане узких мест работы, потому что Т-образные навыки позволяют “Swarming”, так называемое роение (подробнее об этом дальше). Не каждый из разработчиков должен быть способен работать над любой задачей. Это может быть высшей целью, но все же мало реалистично в областях, которые, как правило, требуют узкой специализации (например, разработка видеоигр). Но разве не было бы полезно, если бы каждый член команды мог выполнять какую-то работу за пределами своей специальности? Таким образом, минимум пара человек в команде могла бы выполнять любую задачу (хотя, возможно, не одинаково хорошо или с той же скоростью).

Наличие членов команды с Т-образными навыками поощряет это отношение и делает его практичным, потому что люди способны работать над более чем одним типом задачи. В этих командах человек, способный выполнять какую-то работу, никогда не должен говорить: «Это не моя работа/ответственность». Однако, поскольку человеку не всегда удается выполнять любую задачу, член команды может сказать: «Я не могу выполнить это» — в значении «я не способен это сделать». В этом случае команда может решить, что этот человек (без нужных навыков) поработает над этой задачей с другим человеком, у которого есть навыки, чтобы в будущем у команды было больше совокупных возможностей.
Команды с людьми, которые по-прежнему думают с точки зрения отдельных ролей, заканчивают тем, что некоторые их члены уже далеко впереди, а некоторые погрязли в незавершенной работе. Классическая индивидуально-ориентированная мысль: «У тестировщиков все еще есть незаконченная работа, но я закодил эту фичу, поэтому я начинаю кодить следующую». В команде, которая роится (swarms), люди поймут, что обычно лучше сосредоточиться и помочь провести тестирование, а не забегать вперед, чтобы начать работу над новыми функциями.

В этом посте учтены две основные цели: Т-образные навыки и поощрение разнообразия. Первое поддерживает взаимопонимание и быструю командную работу. Последнее повышает мотивацию людей развивать свои навыки и возможности. Это дает колоссальную возможность активировать таланты людей. Сложное программное обеспечение разрабатывается в нелинейном процессе, именно поэтому индивидуальные навыки в сочетании с Т-образными навыками позволяют командам развития создавать инновационные продукты.

Geek project manager with nonstandard thinking. Passionate for neurology, intellect, mind and all about ‘how-this-damned-brain-works’. Blog is bilingual.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade