Несу ли я ответственность за работу, выполненную коллегами, поскольку мы являемся командой, даже если они исключили меня?

Я работаю в моей нынешней компании уже 7 месяцев, и в общей сложности я завершаю свои два года в отрасли. Моя компания представляет собой крупное предприятие с относительно мягкими сроками и гибким графиком.

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

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

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

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

Поэтому я решил вообще отказаться от рефакторинга, он не приветствовался. В это время мне удалось захватить две новые функции для разработки и их завершения.

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

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

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

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

Что произойдет, если я буду избегать работы, связанной с этим продуктом, и с этого момента сосредоточусь исключительно на других задачах? Действительно ли я несу ответственность за такую ​​работу, которую производят коллеги, исключая меня?

Редактировать: я должен был дать понять, что мы используем Agile, Scrum и Kanban. В результате нет распределения задач, мы добровольно беремся за открытые задачи. Кроме того, у всех нас есть один и тот же менеджер, о котором я упоминал в посте, и у нас есть горизонтальная иерархия в нашей команде, поэтому нет «босса», «тимлида» или чего-то еще. Ожидается, что мы будем действовать коллективно.

Редактировать 2: Сократить сообщение. Редактировать 3: еще больше сократил пост.

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

Пожалуйста, рассмотрите возможность сокращения вашего поста. Это довольно много для чтения, и если вы это сделаете, я ожидаю, что вы получите гораздо больше внимания от людей, которые придут к нему.
ОП, это слишком долго.
«Никто нас не направит». Это абсолютно нормально в программном обеспечении. Это вопрос «добро пожаловать в мир программного обеспечения». Этот вопрос задают снова и снова здесь. Ответ всегда таков: «(1) в программировании жизнь трудна! (2) познакомься со своим дилером Porsche!»
@Fattie, какие части я могу обрезать дальше? Я думаю, что если я укорочу его дальше, это может привести к недопониманию.
Привет ОП. Честно говоря... Я бы не стал об этом беспокоиться :) В любом случае, все, что говорит ваш вопрос: как новый программист, я потрясен, узнав, что в типичной команде из 10 или около того я единственный компетентный человек. Все остальные, включая менеджеров, совершенно бесполезны. Единственный ответ на это: (1) да, это правильно (2) «заткнись, не будь ребенком и работай усерднее» (3) будь готов очень скоро заработать ошеломляюще большие суммы денег.
@EJoshuaS Я бы также сказал, что программирование вуду здесь тоже актуально.
Вам не нужно ставить edit 2 и edit 3 , каждый может просмотреть историю сообщений. Типичный менеджер не любит проблемы, он хочет решения и почему (деньги/время) интересно инвестировать в ваше решение. Можете поискать на сайте, там довольно много всякой всячины про "как я убеждаю своего менеджера <XY>". Если текущее состояние одной части вашего кода окончательно снижает производительность, изложите факты (у меня это должно было занять 1 день, вместо этого у меня ушло 5, и каждый раз, когда мы что-то там делаем, появляются нежелательные побочные эффекты, из-за которых мы теряем время,...)
Ваша компания проводит код-ревью?
@EJoshuaS они у нас есть, однако коллеги не делают должных обзоров, открыто говоря на встречах, что считают обзоры пустой тратой времени, поэтому они не будут этого делать, даже если это их работа, а также они не соблюдают, если есть пиар нуждается в голосах, они просто используют дружбу, чтобы подтолкнуть ее. Это одна из причин, по которой я перестал чувствовать себя ответственным за это дело, а также предлагать рефакторинг. Я не могу спасти этот беспорядок, это не моя работа.

Ответы (4)

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

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

Я решил сосредоточить свою работу на задачах вне проекта X. Хотя я хотел помочь улучшить код, мой вклад был отклонен, и люди жаловались на мое участие. Это казалось огромной тратой времени, и я не хочу продолжать тратить свое время впустую, когда я мог бы быть более продуктивным и выполнять ценную работу для компании, как в проектах Y и Z.

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

Если задачи не противоречат вашему трудовому договору, вы должны делать то, что вам поручит ваш «уполномоченный» (программа-переводчик ---, ваш начальник, менеджер, скрам-мастер --> человек, который дает вам ваши задачи).

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

Никто не может ожидать, что вы построите дом без соответствующего набора инструментов! Объясните своему руководителю (и себе), что вам действительно нужно, что вы хотите иметь и как это получить.

Но если это рабочее место не стоит таких усилий (и здесь важно только ваше мнение), то вы можете поискать новое, более подходящее к вашему списку «кем я хочу работать» :)

РЕДАКТИРОВАТЬ после комментария:

Если вы, как команда, несете ответственность за достижение цели, то ответственность несет каждый член команды, и вы тоже. Каждый раз есть задания, за которые никто не хочет браться, а надо. Может быть, можно заключить «сделку» с коллегами: вы берете это нелюбимое задание (ваш коллега ведет себя так, как будто ему это тоже не нравится) за них, и они соглашаются поддержать вас тем, что вы хотите (см. ...").

На мой взгляд, вся командная работа основывается на таких сделках, но иногда они должны быть выражены.

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

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

Поскольку это Agile-Scrum-команда, напишите тикет в бэклоге обо всем, что, по вашему мнению, нуждается в исправлении. «Команда», как вы указали, либо подберет эти истории при планировании, либо сохранит их в журнале невыполненных работ. Это должно удовлетворить вашего менеджера, указать, что вы поместили их в бэклог, и ему нужно поговорить со скрам-мастером, если они не будут внесены во время планирования.

Затем их следует принести, и люди должны принять их В ПРИОРИТЕТНОМ ПОРЯДКЕ. Это еще одна вещь, которую вы могли бы затронуть при планировании, что люди выбирают вишенки, а не работают в порядке приоритета.

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

Наконец, у вас должен быть владелец продукта, который принимает ваши истории. Если нет, то кто принимает эту работу как «сделанную». Возможно, потребуется рассмотреть «определение выполненного». Если вы используете agile/scrum, проводите ли вы ретроспективы в конце спринта с возможностью высказать опасения и изменить шаблоны? Если нет, возможно, вам нужно поговорить с вашим руководством о том, что на самом деле они не используют Agile / Scrum, а Ad-Hoc.

https://agileforall.com/learning-with-fist-of-five-voting/

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

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

Кстати, копирование внутреннего кода было разумным решением!

Зачем изобретать велосипед, если у компании уже есть подходящий код?!

Ваш скрам-мастер был прав, что вы зря потратили время.

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

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

Если сможете, это, несомненно, повысит ваше уважение и авторитет у босса, иначе ваша критика может быть истолкована как нытье.

В зависимости от объема работы в компании избежать этого проекта может быть невозможно.

«Зачем изобретать велосипед, если у компании уже есть подходящий код» Это звучит так, будто человек скопировал в проекте, когда ему, вероятно, просто нужен был фрагмент
@Mars Вполне законно (конечно, со своими подводными камнями) использовать работающий, проверенный и проверенный проект и строить поверх него, пока у вас не будет рабочего прототипа для вашего нового проекта. Затем начните удалять ненужный код. При тщательном выполнении с большим количеством тестов это может привести к гораздо более стабильному продукту за гораздо более короткое время, чем при написании с нуля. Очевидно, что время играет важную роль в этой компании или команде, как и в любом бизнесе.
Скрам-мастер не мой начальник, он мой товарищ по команде.
@часто кофе извиняюсь, по-моему, он все еще был прав в своей оценке.
@DigitalBlade969 DigitalBlade969 Я не собирался изобретать велосипед, когда занимался рефакторингом. Коллега скопировал всю кодовую базу продукта, не анализируя, какие части нам нужны, а какие нет. В результате получился очень громоздкий и медленный код без каких-либо тестов. Поэтому с помощью рефакторинга я стремился навести порядок, понять, что вызывает длительное время сборки и т. д. Я не думаю, что устранение технического долга — пустая трата времени.
@часто кофе это нормально. см. мой комментарий к Марсу. Таким образом, он гарантировал, что вы, ребята, сможете работать над уже работающим продуктом, и «все, что нужно сделать вашей команде», — это адаптировать его к новому проекту. Удаление частей из рабочего программного обеспечения может сделать его бесполезным и может помешать или даже повредить процессу преобразования его в новый продукт. Я не говорю, что это лучшее решение или то, которое я бы обязательно выбрал, но, тем не менее, это жизнеспособная концепция.
С какой стати за это проголосовали???????
Зачем изобретать велосипед, если у компании уже есть подходящий код? Я не понизил голос, но я не уверен, как именно это применимо - ОП указывает, что код, написанный другими людьми, не подходит (что является его главной заботой здесь) - включая скопированный код. Это, кажется, не отвечает на вопрос, как написано. См. также: Карго-культовое программирование .
@DigitalBlade969 Я полностью понимаю, о чем вы говорите, и вы правы, это то, что большинство из нас делает все время! Я просто имел в виду, что в данном случае похоже, что OP считает, что это было огромным излишеством. Также не уверен, почему за это проголосовали! Я лично не согласен, но это достаточно логика!