Снижение прибыли от дополнительных разработчиков

10

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

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

smp7d
источник
2
Я считаю, что точка называется «сейчас». Если серьезно, вы должны показать им график, показывающий момент, когда добавляется одна / пять / десять новых разработчиков, и влияние, которое это оказывает на график проекта (учитывая потерю производительности из-за наставничества существующих участников, ошибок новых участников и переделок и т. Д.) )
Одед
14
«Девять женщин рожают ребенка за один месяц» - это общая аналогия, используемая для объяснения проблемы ресурсов и сроков для руководства.
dasblinkenlight
2
@dasblinkenlight - «А что, если у вас женщины работают посменно?» (типичный нетехнический ответ руководства).
jfrankcarr
6
but senior management tends to view it as aggressively negativeПовестка дня старших руководителей в вашем случае, вероятно, двоякая: уменьшить данные о завершении проекта любым возможным способом и контролировать разработчиков. Любое мнение, которое противоречит их предвзятым представлениям, будет рассматриваться как негативное и зависеть от того, насколько агрессивно вы пытаетесь «убедить» их, иначе вы будете помечены как «не командный игрок», например. Управление говорит за того, кого нельзя контролировать.
maple_shaft
1
Вы (они?) Обеспокоены - График, риск или $, или их комбинация. Узнайте, что их больше всего беспокоит, и расскажите, почему больше разработчиков не решат эту проблему (и, если принять всерьез, предложите альтернативное решение). Часто это более тонко, чем чистые деньги или временные графики.
Mattnz

Ответы:

7

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

miraculixx
источник
3
То, что вы описали, - это то, что экономисты называют точкой отрицательной отдачи - когда добавление ресурсов оставляет вас в худшем положении Точка уменьшения прибыли - это то, где добавление большего количества ресурсов все еще увеличивает производство, но в меньшем объеме. Таким образом, добавление ресурсов оставляет вас немного лучше, но меньше, чем вы ожидаете.
MarkJ
@MarkJ Хороший вопрос. Я предполагаю, что я не обязательно ищу или уменьшающуюся или отрицательную прибыль правилом. Я просто ищу то, что ведущий разработчик / менеджер проекта сказал бы «нет» большему количеству ресурсов. К сожалению, это не всегда плохо.
smp7d
6

« Добавление рабочей силы в поздний программный проект делает это позже. Человеко-месяц - это концепция единицы работы, пропорциональной количеству работающих людей, умноженному на время их работы; закон Брука гласит, что это отношение - миф, и следовательно, центральная часть книги ". - Источник: Wiki-Mythical_Man_Month .

Без шансов
источник
1
«Мой приятель по гольфу, который также управляет консалтинговой фирмой, говорит, что у него есть два программиста« черного пояса », которые доступны прямо сейчас. У них обоих есть степень магистра в области компьютерных наук. Вы должны быть в состоянии получить их без каких-либо проблем. Возможно, вы узнаете кое-что о том, как лучше планировать свое время. "
jfrankcarr
1
@kevincline - «Я вижу, что вы не командный игрок. Я переназначаю вас на поддержку нашего 14-летнего приложения VB6. Вот копия« Кто переместил мой сыр? », которую вы можете прочитать».
jfrankcarr
3
«Я вижу, что вы не командный игрок». У меня тоже был этот комментарий. Мой ответ был сравнением с футболом: хорошая команда не пытается втиснуться в 5 квадратных метров, но пытается занять все поле, чтобы каждый игрок мог быть более эффективным; и игроки часто отдают мяч назад и вперед по мере необходимости. Работа в команде означает, что члены команды координируют свою деятельность, но работают над независимыми, непересекающимися областями проекта. Если это возможно, вы можете добавить больше разработчиков и повысить производительность.
Джорджио
1
@kevin cline: Может быть, это причина, почему в конечном итоге становится бесполезно добавлять новых разработчиков в команду. Вероятно, следует прекратить добавлять новых разработчиков, если не удается найти область, совершенно независимую от остальной части проекта.
Джорджио
2
Отношение команды, размер проекта, насколько хороша ситуация, опыт новых членов, текущее состояние требований и т. Д. - все это важные факторы, которые следует учитывать здесь ...
NoChance
4

Обречен на повторение

Бедный Фред Брукс похож на Кассандру из Гомеровской Иллиады . Если вы читаете книгу, из которой вышел фильм Троя, она была той, кому плевать на (троянского) коня. Она точно предсказывает будущее, но никто не верит ей до тех пор, пока не произойдет предсказание, и они не увидят его сами.

Не боретесь с управлением / пассивным сопротивлением или тщательным наймом?

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

Минимизация времени, которое вы тратите на маловероятных кандидатов, сэкономит огромное количество времени. Например, любое резюме без ваших трех основных требований в первой 1/3 их резюме будет отброшено, кандидаты должны пройти 30-минутный экран телефона перед любыми собеседованиями на местах, не обращая внимания на рекрутеров, которые предварительно не проверяют ваши потребности. Другие методы имеются в большом количестве, убедитесь, что все, что вы используете, является эффективным и действенным.

Контроль бремени интеграции нового найма

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

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

Лучшие и худшие назначения для новых сотрудников

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

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

Сохранение гармонии в команде, установление будущих ожиданий

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

DeveloperDon
источник
1

Я не знаю стандартного термина для обозначения уменьшения отдачи от рабочей силы; поскольку цель состоит в том, чтобы убедить людей, попробуйте вместо этого перевести фразу:

  • «пределы разложимости» могут быть особенно актуальны для проекта среднего размера.
  • «Коммуникационный барьер» напоминает классический закон Брука для крупных проектов.
  • «требования к итерации дизайна» как причудливый способ сказать «если вы хотите что-то не дерьмовое, потребуется некоторое время, чтобы сделать это наполовину правильно».
comingstorm
источник
0

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

dasblinkenlight
источник