Рубрики
Uncategorized

Создание безупречной рабочей среды

Обвиняющие люди не работают. Давайте перестанем сделать это. И найти альтернативные способы работы. Теги с управлением, карьерой, производительностью, дежопами.

Как только я работал в компании по разработке программного обеспечения. Это была обычная компания: ничего неплохо, но ничего не нравится. У него были те же проблемы, что и другие подобные компании:

  • Низкокачественный код
  • Неудовлетворенные сроки
  • Бюджет переполнен

И разочарованные клиентов в качестве окончательного результата.

Конечно, все в управлении стремились знать, что (или «кто») был причиной. В течение нашего рабочего дня было вполне нормально услышать что-то вроде: «Проект не удался, потому что вы написали некачественный код, теперь клиент уходит от нас».

Это помогло в любом случае? Нет. Было ли там приятно работать? Нет. Итак, как только я проснулся и решил, что я больше не хочу работать в этой компании.

Уродлистые Часть заключается в том, что я был основателем этой компании.

Можем ли мы все согласиться, что обвинение не работает?

Прежде чем идти дальше и описывать, как нам удалось изменить нашу среду и как она повлияла на наши результаты, я хотел бы указать ему прямо: обвинять кого-то для чего-либо не работает. Почему?

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

Что мы можем сделать вместо этого? Мы можем построить Наши процессы другой способ Действительно

Улучшить свой проект вместо того, чтобы обвинять кого-либо

Можете ли вы представить ситуацию, когда что-то пойдет не так? Когда ваша продукция перестала работать, потому что произошла несоответствие версии зависимостей. Или потому что вы сделали глупое опечатка в вашем Строка Переменная.

Это происходит довольно часто, это не сюрприз.

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

Но как?

Небольшие задачи и прозрачные области

Обычно это трудно определить большие задачи, которые занимают дни и недели. Такие задачи не имеют четкого охвата и «выполненные» критерии.

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

Более того, будет трудно рассмотреть и контролировать качество кода. Мы все знаем, как тяжело просмотреть 1000+ строк кода.

Я настаиваю на том, что задача должна быть маленькой (не более 4 часов) и должна иметь четкую область. Лучше иметь пять небольших и четко определенных задач, чем одна большая задача.

Это уменьшает возможность неправильного интерпретации. И позволяет обе стороны легко отслеживать прогресс, контролировать сроки и почувствовать импульс проекта.

Сделать свой CI как можно более строгими

Чем раньше вы найдете ошибки в вашем коде, тем лучше он для проекта. Этот график иллюстрирует, насколько дорогим (с точки зрения времени и денег), чтобы позволить ошибку течь в производство.

Плохой код не должен достигать Мастер ветвь и даже человеческий рецензент. И мы можем автоматизировать это! Существует статический анализ, проживание, разные тесты и другие метрики, которые должны пройти раньше. Если что-то сломано — ваш код просто не пройдет до Мастер Филиал и рецензент не будут рассмотреть его до тех пор, пока все не пройдут проверки.

Таким образом создает четкие и прозрачные правила качества, которые должны быть выполнены. Это стало законом.

Добро пожаловать все ошибки

Но ошибки все еще произойдут! Это грустная реальность. Но это ваш выбор, как к ним лечить. Вы можете злиться и подавлены из-за них, или вы можете учиться у них.

Я предпочитаю учиться у своих ошибок и других ошибок. Как это возможно?

Всякий раз, когда в производстве, когда что-то плохое происходит в производстве, вам нужно отслеживать, как ваши качественные ворота позволили этому случиться. Что мы пропустили?

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

Вот некоторые Реальный мир Примеры того, как мы это делаем.

Всякий раз, когда что-то плохое происходит для нашего Python / Джанго Проект мы добавляем новое правило на CI Process или написать новое правило для льминания для Наш корпоративный Линтер Отказ Таким образом, мы гарантируем, что это не повторится снова.

И те же произведения для Наш интернет JavaScript / Vue проекты.

Сделайте свой клиент частью процесса

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

У нас было много проблем с этим в прошлом. Длительные итерации и длительные циклы обратной связи убивали нас. Мы не смогли решить ошибки и новые требования достаточно быстро.

Ответ на эту проблему просто:

  1. Сделайте свой клиент частью вашего процесса разработки
  2. Сделать ваши итерации как можно маленькие
  3. Продемонстрировать свой прогресс как можно чаще

Мы достигаем всех этих целей несколькими полезными практиками:

  1. Мы приглашаем наших клиентов в репозиторий с первого дня
  2. MicroTasking позволяет нам сделать несколько итераций в один рабочий день
  3. Gitlab и k8s Позвольте нам сделать демонстрацию каждой отдельной функции при необходимости

Мы собираем обратную связь от клиента, как только сможем. Клиент всегда понимает, что происходит в проекте: что делается и что такое прогресс.

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

Заключение

«Нет обвинения, но исправления» метода резко изменилось, как мы работаем в хорошем состоянии.

Так как мы практикуем эти вещи, мы не провалили один проект. И мы не потеряли одного инженера из-за конфликта.

Конечно, эта статья не охватывает все функции и трюки, которые мы используем в нашей повседневной жизни, но вы можете прочитать больше о том, как мы работаем на RSDP (Повторяемый процесс разработки программного обеспечения) Главная страница Отказ И ты можешь Следуй за мной на Github Быть проинформированным о каких инструментах мы строим.

Оригинал: «https://dev.to/sobolevn/building-blameless-working-environment—17hl»