Главная страница
Навигация по странице:

  • Обмен знаниями

  • Сложности в обучении

  • Создание условий: психологическая безопасность

  • Психологическая безопасность в больших группах

  • Таблица 3.1.

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

  • Вникайте в контекст

  • Делай как вGoogle


    Скачать 5.77 Mb.
    НазваниеДелай как вGoogle
    Дата31.05.2022
    Размер5.77 Mb.
    Формат файлаpdf
    Имя файлаDelay_kak_v_Google_Razrabotka_programmnogo_obespechenia_2021_Tom.pdf
    ТипДокументы
    #559735
    страница7 из 69
    1   2   3   4   5   6   7   8   9   10   ...   69
    58
    Глава 2. Успешная работа в команде
    Стремление изменить текущее положение вещей
    Умение ставить амбициозные цели и достигать их, даже когда коллеги сопро- тивляются или проявляют инертность.
    Пользователь прежде всего
    Понимание пользователей продуктов Google, уважительное отношение к их мнению и готовность предпринять действия, отвечающие их интересам.
    Заботливое отношение к команде
    Сочувственное и уважительное отношение к коллегам, готовность оказывать им активную помощь без лишних вопросов и улучшать сплоченность команды.
    Правильные поступки
    Соблюдение этических норм во всем и готовность принимать сложные или не- удобные решения для защиты целостности команды и продукта.
    В настоящее время, определив желательные черты характера и образ поведения сотрудника, мы начали уходить от использования термина «по-гугловски». Всегда лучше четко обозначать свои ожидания!
    Заключение
    Основой практически любого ПО является сплоченная команда. Миф о гениаль- ности разработчика, в одиночку создающего ПО, все еще сохраняется, но правда в том, что в действительности никто не работает один. Чтобы организация, занимаю- щаяся созданием ПО, выдержала испытание временем, она должна иметь здоровую культуру, основанную на смирении, доверии и уважении и вращающуюся вокруг команды, а не отдельного человека. Кроме того, творческий характер разработки
    ПО требует, чтобы люди рисковали и иногда терпели неудачу, принять которую помогает здоровая командная среда.
    Итоги
    y
    Помните о недостатках работы в изоляции.
    y
    Оцените, сколько времени вы и ваша команда тратите на общение и межличност- ные конфликты. Даже небольшие вложения в понимание личностей и разных стилей работы могут иметь большое значение для повышения эффективности.
    y
    Если вы хотите эффективно работать в команде или крупной организации, пом- ните о своем предпочтительном стиле работы и стилях работы коллег.

    ГЛАВА 3
    Обмен знаниями
    Авторы: Нина Чен и Марк Баролак
    Редактор: Риона Макнамара
    Искать ответы на вопросы, связанные с вашей предметной областью, лучше внутри ор- ганизации, а не в интернете. Но для этого организации нужны эксперты и механизмы распространения знаний, о которых мы поговорим в этой главе. Эти механизмы могут быть очень простыми (задать вопрос и написать ответ) и более структурированными, такими как учебные пособия и классы. Самое главное — в организации должна под- держиваться культура обучения, которая требует создания чувства психологической безопасности, позволяющего людям признавать недостаток собственных знаний.
    Сложности в обучении
    Обмен опытом между организациями — непростая задача, особенно при отсутствии устойчивой культуры обучения. Компания Google уже сталкивалась с рядом про- блем, главным образом в период роста.
    Отсутствие чувства психологической безопасности
    Среда, в которой люди боятся рисковать или совершать ошибки из страха на- казания. Часто проявляется как культура страха или стремление избегать про- зрачности.
    Информационные островки
    Фрагментация знаний, возникающая, когда разные подразделения организации не общаются друг с другом или не используют общие ресурсы. В такой среде каждая группа создает свой способ действий
    1
    . Это часто приводит к следующему:
    Фрагментация информации
    Каждый островок представляет лишь часть общей картины.
    Дублирование информации
    На каждом островке изобретается свой способ решения одной и той же задачи.
    1
    Другими словами, вместо того чтобы разрабатывать один глобальный максимум, в органи- зации создается множество локальных максимумов (
    https://oreil.ly/6megY
    ).

    60
    Глава 3. Обмен знаниями
    Информационный перекос
    На островках по-разному используется одно и то же решение.
    Единая точка отказа (ЕТО)
    Узкое место, возникающее, когда важная информация поступает только от одного человека (вспомните фактор автобуса (
    https://oreil.ly/IPT-2
    ) из главы 2).
    Она может появиться из самых благих намерений вроде предложения «давай я сделаю это вместо тебя» и давать кратковременное увеличение эффективно- сти («так быстрее») в ущерб долгосрочной перспективе развития (команда не учится выполнять работу). ЕТО приводит к победе принципа «все или ничего».
    Принцип «все или ничего»
    Команда, в которой проведена грань между теми, кто знает «все», и новичками.
    Если эксперты всегда и все делают сами, не тратя времени на подготовку новых экспертов путем наставничества или создания инструкций, знания и обязанности продолжают накапливаться у тех, кто уже имеет опыт, а новые члены команды брошены и развиваются медленно.
    Попугайство
    Повторение без понимания сути. Обычно характеризуется бездумным копирова- нием паттернов или кода без понимания их цели на основе предположения, что это необходимо по неизвестным причинам.
    Кладбища с привидениями
    Места, обычно в коде, которых люди стараются не касаться, потому что боятся, что что-то может пойти не так. В отличие от вышеупомянутого попугайства, для кладбищ с привидениями характерно отсутствие каких-либо действий из-за страха и суеверий.
    В оставшейся части главы мы рассмотрим успешные политики преодоления этих сложностей, обнаруженные инженерами Google.
    Философия
    Программную инженерию можно определить как командную разработку многовер- сионного ПО
    1
    , в центре которой находятся люди. Да, код — это важный результат, но лишь малая часть создания продукта. Необходимо отметить, что код не возникает сам по себе из ничего, равно как и опыт. Каждый эксперт когда-то был новичком: успех организации зависит от роста ее сотрудников и инвестиций в них.
    Совет эксперта всегда неоценим. Члены команды могут разбираться в разных об- ластях, поэтому выбор товарища по команде, которому можно задать любой вопрос,
    1
    Parnas D. L. Software Engineering: Multi-person Development of Multi-version Programs.
    Heidelberg: Springer-Verlag Berlin, 2011.

    Создание условий: психологическая безопасность
    61
    очень важен. Но если эксперт уходит в отпуск или переходит в другой коллектив, команда может оказаться в беде. И хотя один человек может оказать помощь многим, эта помощь не масштабируется и ограничивается числом «многих».
    Документированные знания лучше масштабируются не только в команде, но и во всей организации. Такие механизмы, как командная электронная база знаний (wiki), позволяют множеству авторов делиться своим опытом с большими группами людей.
    Но масштабируемость документации сопровождается компромиссами между ее обобщенностью и применимостью к конкретным ситуациям, а также требует до- полнительных затрат на обслуживание и поддержание ее актуальности.
    Между знаниями отдельных членов команды и задокументированными знаниями находятся коллективные знания. Эксперты часто знают то, что нигде не задоку- ментировано. Если задокументировать эти знания и поддерживать их, они станут доступными не только тем, кто имеет возможность общаться с экспертом, но и всем, кто сможет найти и прочитать документацию.
    Получается, что в идеальном мире, где все всегда и сразу документируется, нет нуж- ды консультироваться с человеком, верно? Не совсем. Письменные знания имеют преимущества масштабирования, но целевая личная помощь ничуть не менее ценна.
    Человек-эксперт может синтезировать свои знания, оценить, какая информация применима к конкретному случаю, определить актуальность документации и знать, где ее найти или к кому обратиться.
    Коллективные и письменные знания дополняют друг друга. Даже идеальная ко- манда экспертов с совершенной документацией должна общаться друг с другом, координировать действия с другими командами и адаптировать свои политики.
    Никакой подход к обмену знаниями не может быть правильным сразу для всех типов обучения, и лучшее сочетание, скорее всего, будет зависеть от особенностей организации. Организационные знания, вероятно, будут меняться по мере роста организации. Тренируйтесь, сосредоточьтесь на обучении и росте и создайте свою группу экспертов. Инженерных знаний много не бывает.
    Создание условий: психологическая безопасность
    Психологическая безопасность имеет решающее значение для формирования об- разовательной среды.
    Чтобы учиться, вы должны сначала осознать, что есть что-то, чего вы не понимаете.
    Мы должны приветствовать такую честность (
    https://xkcd.com/1053
    ), а не наказывать ее. (В Google эта работа поставлена довольно хорошо, но иногда инженеры не хотят признавать, что они чего-то не понимают.)
    Значительная часть обучения — это способность пробовать что-то и чувствовать себя в безопасности. В здоровой среде люди чувствуют себя комфортно, задают вопросы, ошибаются и приобретают новые знания. Исследование в Google (
    https://

    62
    Глава 3. Обмен знаниями oreil.ly/sRqWg
    ) показало, что психологическая безопасность является самым важным условием создания эффективной команды.
    Наставничество
    Мы в Google стараемся задать тон общения, когда к компании присоединяется
    «нуглер» (новый гуглер). Чувство психологической безопасности мы создаем с по- мощью назначения наставника — человека, который не является членом команды, менеджером или техническим руководителем, в обязанности которого входит от- вечать на вопросы и оказывать помощь нуглеру. Наличие официально назначенного наставника для обращения за помощью облегчает новичку работу и избавляет его от страха, что он может отнимать время у коллег.
    Наставник — это доброволец, работающий в Google больше года и готовый консульти- ровать новичка по любым вопросам, от использования инфраструктуры до навигации по культуре Google. Он поддерживает нуглера, когда тот не знает, к кому обратиться за советом. Наставник не входит в одну команду с новичком, что позволяет второму чувствовать себя более комфортно при обращении за помощью.
    Наставничество формализует и облегчает обучение, но самообучение — это непре- рывный процесс. Коллеги всегда учатся друг у друга: как новые сотрудники, так и опытные инженеры, изучающие новые технологии. В здоровой команде коллеги могут не только давать ответы, но и задавать вопросы, не боясь показать, что они чего-то не знают.
    Психологическая безопасность в больших группах
    Обратиться за помощью к коллеге по команде легче, чем к большой группе в основ ном незнакомых людей. Но, как мы видели, индивидуальные решения плохо масштаби- руются. Групповые решения более масштабируемы, но они также более пугающие.
    Новичкам может быть страшно задать вопрос большой группе, зная, что он может храниться в архиве много лет. Потребность в психологической безопасности усилива- ется в больших группах. Каждый член группы должен сыграть свою роль в создании и поддержании безопасной среды, гарантирующей, что новички не будут бояться задавать вопросы, а начинающие эксперты будут чувствовать, что способны помочь новичкам, не опасаясь нападок со стороны авторитетных экспертов.
    Самый действенный способ создать такую безопасную и гостеприимную среду — заменить состязательность групп их сотрудничеством. В табл. 3.1 приведены неко- торые примеры рекомендуемых паттернов (и соответствующих им антипаттернов) групповых взаимодействий.
    Эти антипаттерны могут возникать непреднамеренно: кто-то, возможно, пытается по- мочь, но случайно проявляет снисходительность и неприветливость. Мы считаем, что здесь уместно перечислить социальные правила сообщества Recurse Center (
    https://
    oreil.ly/zGvAN
    ):

    Расширение знаний
    63
    Никакого притворного удивления («Что?! Я не могу поверить! Ты не знаешь, что
    такое стек?!»)
    Притворное удивление разрушает чувство психологической безопасности и за- ставляет членов группы бояться признаться в нехватке знаний.
    Никаких «на самом деле»
    Скрупулезные исправления, которые, как правило, связаны с игрой на публику, а не с точностью.
    Никаких подсказок из задних рядов
    Прерывание текущего обсуждения, чтобы предложить свое мнение, без коррект- ного вступления в разговор.
    Никаких «-измов» («Это так просто, что даже моя бабушка справилась бы!»)
    Выражения предвзятости (расизм, эйджизм, гомофобия), которые могут заста- вить людей чувствовать себя ненужными, неуважаемыми или незащищенными.
    Таблица 3.1. Паттерны групповых взаимодействий
    Рекомендуемые паттерны
    (сотрудничество)
    Антипаттерны
    (состязательность)
    Простые вопросы или ошибки правильно воспринимаются и находят ответы и решения
    К простым вопросам или ошибкам придираются, и человек, задавший вопрос, наказывается
    Объяснения направлены на обучение человека, задавшего вопрос
    Объяснения направлены на демонстрацию своих знаний
    На вопросы даются полезные ответы с терпением и добро- желательностью
    Ответы даются свысока, в язвительной и неконструктивной форме
    Взаимодействия принимают форму общего обсуждения для поиска решений
    Взаимодействия принимают форму спора между «победи- телями» и «проигравшими»
    Расширение знаний
    Обмен знаниями начинается с вас. Важно понимать, что вам всегда есть чему по- учиться. Следующие рекомендации позволят вам расширить свои знания.
    Задавайте вопросы
    Главный урок этой главы: постоянно учитесь и задавайте вопросы.
    Мы говорим нуглерам, что на раскачку может уйти до шести месяцев. Этот длитель- ный период необходим для освоения большой и сложной инфраструктуры Google, но он также подтверждает идею о том, что обучение — это непрерывный итеративный процесс. Одна из самых больших ошибок, которую допускают новички, — не про- сят помощи в сложной ситуации. Возможно, вам нравится преодолевать проблемы в одиночку или вы боитесь, что ваши вопросы «слишком просты». «Я должен по-

    64
    Глава 3. Обмен знаниями пробовать решить проблему сам, прежде чем просить о помощи», — думаете вы. Не попадайтесь в эту ловушку! Часто ваши коллегия являются лучшим источником информации: используйте этот ценный ресурс.
    Не заблуждайтесь: день, когда вы вдруг обнаружите, что знаете все, не наступит никогда. Даже у инженеров, годами работающих в Google, возникают ситуации, когда они не знают, что делать, и это нормально! Не бойтесь говорить: «Я не знаю, что это такое, не могли бы вы объяснить?» Относитесь к незнанию как к области возможностей, а не страха
    1
    Неважно, кто вы — новичок или ведущий специалист: вы всегда должны находиться в среде, где есть чему поучиться. В отсутствие такой среды неизбежен застой, при котором вам стоит поискать новую среду.
    Моделировать такое поведение особенно важно для тех, кто играет руководящую роль: важно не приравнивать «руководство» к «знанию всего». На самом деле чем больше вы знаете, тем больше понимаете, что ничего не знаете (
    https://oreil.ly/VWusg
    ).
    Открыто задавая вопросы
    2
    или показывая пробелы в знаниях, вы подтверждаете, что для других это тоже нормально.
    Терпение и доброжелательность отвечающего способствуют созданию атмосферы, в которой нуждающиеся в помощи чувствуют себя в безопасности. Помогите чело- веку, задающему вам вопрос, преодолеть нерешительность. Инженеры, вероятно,
    смогли бы самостоятельно разобраться в коллективных знаниях, но они пришли не для того, чтобы работать в вакууме. Адресная помощь помогает инженерам работать быстрее, что, в свою очередь, повышает эффективность всей команды.
    Вникайте в контекст
    Обучение — это не только узнавание чего-то нового, но и развитие понимания решений, лежащих в основе существующего дизайна и реализации. Представьте, что вашей команде поручили развивать унаследованную кодовую базу критически важной части инфраструктуры, существовавшей много лет. Ее авторы давно ушли, а код непонятен. Может возникнуть соблазн переписать все заново и не тратить время на изучение существующего кода. Но вместо того чтобы воскликнуть: «Я ничего не понимаю», и закончить на этом, попробуйте погрузиться глубже: какие вопросы вы должны задать?
    Рассмотрим принцип «забора Честерсона» (
    https://oreil.ly/Ijv5x
    ): перед тем как удалить или изменить что-то, сначала разберитесь, зачем это «что-то» здесь на- ходится.
    1
    Синдром самозванца (
    https://oreil.ly/2FIPq
    ) не редкость среди успешных учеников, и гуглеры не исключение. Большинство авторов этой книги тоже подвержены синдрому самозванца.
    Мы понимаем, что страх неудачи пугает людей с синдромом самозванца и может затормозить развитие.
    2
    См. статью «How to ask good questions» (
    https://oreil.ly/rr1cR
    ).

    Масштабирование вопросов: вопросы к сообществу
    65
    В деле реформирования, в отличие от деформирования, существует один про- стой и ясный принцип, который можно назвать парадоксом. Представьте, что существуют определенные нормы или законы, например забор, построенный поперек дороги. Молодой реформатор радостно подходит к забору и говорит:
    «Я не вижу в нем смысла, давайте уберем его». На что более умный реформатор вполне может ответить: «Коль скоро вы не увидите пользы, я не позволю убрать его. Идите и подумайте. А потом скажете мне, что вы видите в нем определенную пользу, и я позволю снести его».
    Это не означает, что код не может быть лишен ясности или существующие паттерны проектирования не могут быть неправильными, но часто инженеры склонны прихо- дить к выводу «это плохо!» быстрее, чем нужно, особенно в отношении незнакомого кода, языков или парадигм. Google тоже не застрахован от такого подхода. Ищите и вникайте в контекст, особенно в решениях, которые кажутся необычными. Когда вы поймете суть и цель кода, подумайте, имеет ли смысл ваше изменение. Если да, то смело меняйте код. Но если нет, задокументируйте свои рассуждения для будущих читателей.
    Многие руководства по стилю в Google включают дополнительные подробности, чтобы помочь читателям понять причины существующих рекомендаций по стилю, а не просто запомнить список произвольных правил. Понимание причин появления данного руководства позволяет авторам принимать обоснованные решения о том, когда руководство должно перестать применяться и его следует обновить (глава 8).
    1   2   3   4   5   6   7   8   9   10   ...   69


    написать администратору сайта