Должен ли архитектор программного обеспечения подчиняться менеджеру проекта? [закрыто]

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

Мне трудно найти плюсы и минусы для обоих вариантов. Единственное, что я смог найти, это:

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

Редактировать

Чтобы уточнить мой вопрос:

  • вопрос не относится к конкретной компании. См. комментарий @Marv для объяснения.
  • Трудно дать краткое определение архитектора программного обеспечения. Подводя итог Саймону Брауну : архитектор программного обеспечения отвечает за технические аспекты проекта программного обеспечения и обучает разработчиков команды. Я не имею в виду технического руководителя, который сочетает в себе архитектуру и управление проектами.
  • кажется, нет разногласий по поводу того, что делает руководитель проекта.
  • сайт Project Management.SE не кажется подходящим, так как он посвящен управлению проектами, а не организации бизнеса.
В моей роте они одинакового ранга и оба подчиняются вышестоящим. Я не знаю, является ли это стандартной практикой или даже лучшей практикой. На самом деле, мое наблюдение состоит в том, что это, кажется, порождает конфликт.
Это кажется настолько зависимым от ситуации и вашего определения соответствующих заголовков, что я не уверен, что есть полезный ответ или универсальная передовая практика.
Не согласен, что ПМ не следит за качеством.
Я думаю, что это совершенно неправильно, что это было закрыто как специфичное для компании. В вопросе нет ничего, что касалось бы конкретной компании. Рассматриваемые роли являются общими и широко распространенными ролями, а иерархия ролей довольно стандартна и спорна. Я предлагаю, чтобы OP разместил этот вопрос в Project Management SE здесь ( pm.stackexchange.com/questions ), где его можно лучше понять .

Ответы (4)

Я считаю, что это ложная дихотомия по следующим причинам:

  • Менеджер проекта не должен пытаться навязать свое мнение об архитектуре программного обеспечения, это не его работа. Их работа состоит в том, чтобы управлять процессом доставки «продукта» в соответствии с требованиями. Они делают это, координируя/используя экспертов в предметной области (например, архитекторов) в команде проекта для обеспечения необходимых элементов. Если PM придерживается (и пытается внедрить) мнения об архитектуре программного обеспечения, тогда роли и обязанности размыты, и именно это размытие создает проблему. Роли и обязанности всех членов команды проекта, включая PM, должны быть четко определены в документе об инициации проекта и однозначно понятны всем.
  • Архитектура программного обеспечения (предположительно) будет помогать на этапах проектирования программного проекта и, следовательно, отвечает за создание элементов конечного результата. В этом отношении их результаты становятся частью результатов проекта и, соответственно, находятся под контролем Менеджера проекта. Таким образом, для целей проекта они являются частью команды проекта, условно управляемой менеджером проекта, но это не означает, что менеджер проекта может или должен переопределить их — это не должно быть так, как работает управление проектом (см. выше)

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

Мне нравится ответ, но PM может иметь мнение об архитектуре, но он не должен диктовать архитектуру. Если PM считает, что архитектура подвергает проект риску, то будет справедливо сообщить об этом как о риске.
@Frisbee, ты прав, конечно, я немного увлекся. Я изменю свой ответ соответственно
Я не согласен. В реальном мире или в теории архитектор в идеале не должен отчитываться перед проектным менеджером. оба должны отчитываться перед вице-президентом или старшим вице-президентом. Должность архитектора ценна, и менеджер по проектам, обладающий лишь опытом управления проектами, не может нести ответственность за управление производительностью архитектора или отменять архитектурные решения. Оба должны сотрудничать, способствуя достижению целей проекта, и между ними не должно быть отношений отчетности.

Хотя я в принципе согласен с другими ответами, я редко сталкиваюсь с такой чистой и истинной формой дисциплины управления проектами, которая практикуется в реальном корпоративном мире.

Важно посмотреть, где существуют невысказанные мотивы, которые могут исказить предполагаемые мотивы Менеджера проекта. Да, в принципе руководитель проекта несет ответственность за реализацию проекта в рамках бюджета и в срок. Важно помнить, что, поскольку PM является арбитром стоимости и времени, они представляют только 2 из 3 основных принципов общего объема работ.

введите описание изображения здесь

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

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

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

Концепция та же. Они существуют как важные участники проекта, а не как участники команды разработчиков.

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

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

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

тл;др; Работа архитектора состоит в том, чтобы попытаться предоставить руководителю проекта проект, который они запрашивают, в соответствии с параметрами, которые они запрашивают.

Этот термин «Архитектор» используется в отрасли настолько широко, что становится ясно, что у каждого будет свой ответ, потому что у всех разный опыт того, каким должен быть Архитектор. Мой ответ больше похож на взгляд SEI на роль архитектуры программного обеспечения. На мой взгляд, то, что вы здесь называете архитектором, больше похоже на Технического руководителя проекта, что, я думаю, является важным отличием. Хотя есть некоторое совпадение.
@maple_shaft - На самом деле архитектор обычно не участвует в ранней разработке дизайна. Архитектор обычно убирает руки, когда приходит время выполнять тяжелую работу по фактической работе, именно тогда (хороший) технический руководитель копается и работает усерднее всего. Но я согласен, что у каждого свое мнение о том, что должен делать архитектор. Разработчики думают, что они должны делать больше работы, менеджеры думают, что они должны высунуть свой нос из своего проекта... и т.д.

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

Менеджер по доставке не должен управлять членами группы доставки, существует конфликт интересов

Работа PM заключается в том, чтобы убедиться, что проект выполнен вовремя и с минимальными затратами. Группа реализации (особенно архитекторы, как в примере) несут ответственность за разработку и реализацию соответствующего назначению проекта, и это вполне может не вписываться в план менеджера проекта, а для реализации проекта требуются компромиссы с обеих сторон.

Наделение одной стороны высшими полномочиями создаст неприступную ситуацию (было такое), когда проект сильно скомпрометирован, чтобы уложиться в сроки и/или в бюджет. Поочередно с PM на буксире к архитектуре вы в конечном итоге столкнетесь с ситуацией Duke-Nuke'em Forever, когда ничего не поставляется, так как его нужно дорабатывать/рефакторить.

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

Один маленький педантичный момент: я не считаю обязанностью продакт-менеджера сдать проект по « минимальной стоимости». Ответственность PM заключается в том, чтобы реализовать проект по согласованной цене, которая обусловлена ​​требованиями и определена в мандате проекта (в какой бы форме он ни принимался). Плюс, конечно, есть третья точка треугольника; "качество", т.е. оно должно соответствовать требованиям. Однако я уверен, что проповедую хору обо всем этом :)
Что ж, за 20 с лишним лет программных проектов согласованная стоимость = стоимость счастливого пути = минимальная стоимость. И несмотря на то, что говорят продакт-менеджеры, третья точка треугольника находится вне поля зрения из-за больших затрат на сигнализацию, чтобы заполнить их поле зрения. Я хочу сказать, что вам нужен этот конфликт, это здоровая дискуссия о реализации проекта, а неудачи — это те, где одна сторона сильнее и наклоняет проект в свою пользу.
Всего 20? N00b тогда ;) Я, безусловно, согласен с «конфликтом» как с хорошей вещью, как описано здесь, никаких аргументов с моей стороны - вам нужно, чтобы обе стороны тянули, чтобы получить «правильный» результат. Но я не совсем понимаю вашу точку зрения о том, что качество «просто вне поля зрения». В любом случае, поскольку это не дискуссионный сайт, я думаю, мы оставим его там.
Я уверен, что всем приходилось работать над проектами, в которых расстановка приоритетов расходов привела к непоправимому провалу. Я также был на другой стороне. Однажды провел 18 месяцев с командой государственного сектора, техническим специалистом, но не управляющим проектом. Продолжал вписываться в то, что хотел клиент (медицина), плюс работал над кодом. В версии 10, когда я прибыл, и никогда не запускался в производство, только приглашал бета-версию (4 года команды из 8 человек). Он так и не был запущен в работу, в конечном итоге был списан, когда другая часть системы была реорганизована и необходимость в нем отпала.
@MarvMills - моя точка зрения заключалась в том, что, хотя большинство продакт-менеджеров утверждают, что знают об этом, они не могут видеть дальше части затрат треугольника. Теперь это не так по всем направлениям, но видел это слишком много раз, особенно когда это внутренний проект (т. е. стоимость исходит из бюджета, который был согласован кем-то выше уровня x, а не кем-то, кто авторизует фактические счета за деньги).
Все верно, был там, прожил это и остались шрамы. Однако мысленно я смотрю на это под другим углом; те проекты, в которых предусмотрен недостаточный бюджет, отмечены красными флажками как с высокой вероятностью провала по всем известным нам причинам. Я больше не беру на себя ответственность за реализацию проекта, бюджет которого навязывается извне. Я виновен в том, что пожертвовал прошлыми проектами ради бога бюджета, когда был неопытным управляющим проектом, и теперь я знаю, что при этом не был хорошим управляющим проектом. Я утверждаю, что хороший проектный менеджер должен заботиться о качестве, иначе он не занимается управлением проектами!
Я согласен с ответом, к сожалению, некоторым менеджерам проектов это не нравится, и они голосуют здесь :) - верно: НИКАКОЙ член команды разработчиков в идеале не должен отчитываться перед личным менеджером. На самом деле команда инженеров должна отчитываться перед менеджером команды разработчиков. Организации качества идут по этому пути.