Константин Борисов - Как хорошему разработчику не стать плохим менеджером

Здесь есть возможность читать онлайн «Константин Борисов - Как хорошему разработчику не стать плохим менеджером» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2020, Издательство: Array SelfPub.ru, Жанр: Психология, Программирование, management, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Как хорошему разработчику не стать плохим менеджером: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Как хорошему разработчику не стать плохим менеджером»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В этой книге автор, сам прошедший путь от разработчика до менеджера в сфере IT, рассказывает неочевидные моменты, которые являются критически важными для правильного управления. Почему разработчики увольняются после повышения зарплаты? Как делать FixedPrice проекты? Почему Scrum не упрощает менеджмент? Книга содержит ответ на эти и многие другие вопросы. В книге есть много баек, которые показывают тяжёлую, но интересную жизнь менеджера в разработке. Иллюстратор обложки: Ксения Ерощенко. Иллюстрации в тексте книги авторские.

Как хорошему разработчику не стать плохим менеджером — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Как хорошему разработчику не стать плохим менеджером», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Разработка скорее похожа на съёмки фильма. Да, есть сценарий, но он не включает в себя все детали и постоянно переделывается. Каждая сцена снимается и переснимается, пока не получится так, как надо. И в процессе случаются многочисленные накладки разной степени ужасности: актёры беременеют, бюджет меняется, меняются законы и т.д. В таких условиях даже сам подход “сделать сразу без ошибок” не имеет смысла. Это как сказать актёрам: “Плёнки на дополнительные дубли нету, играйте сразу нормально”.

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

Одно время я вёл примерный учёт заведённых на меня багов. Для разработчика каждый баг можно считать официальной регистрацией сделанной им ошибки. Вести счёт я прекратил, когда багов стало больше 3000. Менеджер делает свою работу в тех же условиях неопределённости, что и разработчик, поэтому в IT проекте будут менеджерские ошибки. И их будет много.

Иногда бывает, что разработчик, которому сказали, что по его функционалу нашли 20 багов, удивляется и начинает их разбирать: “Ну, этот баг – это не я виноват, это там у нас дизайн кода такой кривоватый. А эти два бага надо в один объединить, и вообще это, скорее, в требованиях ошибка. А эти баги я уже исправил, это у вас просто код старый в тестирование ушёл. А эти баги очень мелкие, они не считаются. В общем, я реализовал всё без ошибок!”

Очень странно слушать такие речи от разработчика, но совсем недопустимо, когда подобное говорит менеджер. Вместо оправданий менеджеру нужно брать на себя ответственность. Любая ошибка, сделанная командой – это ошибка менеджера. Менеджеру полезно это не только знать, но и признавать публично.

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

Во-вторых, проблема не может быть решена на том уровне, на котором она возникла (© Альберт Эйнштейн). Если некоторый Вася обрушил продакшн, неправильно реализовав какой-то кусок кода, то очень хочется в виде решения поругать Васю и сказать ему, чтобы он так не делал. Но обычно такие ситуации означают, что процесс построен неверно, и надо менять его, а не Васю. Юнит-тесты, код-ревью, автоматизация, Continuous Integration и прочие плотно вошедшие в индустрию практики как раз позволяют избегать тех ситуаций, в возникновении которых пару десятков лет назад обвиняли “нерадивых разработчиков”.

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

Если же менеджер берёт вину на себя, то команда расслабляется и может начать думать над решением. К тому же, пока менеджер рассказывает, где и что он мог бы сделать лучше, каждый из команды понимает, что он тоже мог бы многое сделать для решения проблемы, и в следующий раз ведёт себя более проактивно. Если удастся своим примером привить команде готовность признавать свои ошибки, то уже в ближайшем будущем это принесёт очень хорошие плоды.

Только менеджер должен быть очень конкретен в признании своих ошибок. Недостаточно заявить: “Вот, у заказчика сервер упал и не поднимается. Это моя ошибка, так как только по ошибке я мог нанять таких косячников, как вы. А теперь давайте вместе подумаем, как всё исправить”.

Нужно быть очень аккуратным в выборе слов, чтобы подать пример. Менеджер должен сказать то, что он хотел бы услышать от каждого из своей команды. Например: “Как вы уже знаете, продуктовый сервер заказчика на новой версии не работает, старая версия не восстанавливается, и заказчик несёт большие убытки. Причина может быть в том, что я запланировал недостаточно тестирования на этот релиз. Или в целом процесс релиза я не сделал надёжным. Или, может, мне надо было сильнее вовлечь заказчика в процесс проверки релиза. Точная причина неизвестна и не важна. Над предотвращением таких проблем в будущем мы подумаем позднее, когда пожар потушим. А пока, кто что может предложить для того, чтобы починить сервер сегодня, чтобы, когда клиенты заказчика проснулись, они могли бы работать?”

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Как хорошему разработчику не стать плохим менеджером»

Представляем Вашему вниманию похожие книги на «Как хорошему разработчику не стать плохим менеджером» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Как хорошему разработчику не стать плохим менеджером»

Обсуждение, отзывы о книге «Как хорошему разработчику не стать плохим менеджером» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x