Доказательство того, что замена оборудования улучшит производительность разработчика

Теперь машины, которые мы вынуждены использовать, имеют 2 ГБ оперативной памяти, процессор Intel Core 2 Duo E6850 @ 3GHz...

Политика внутри компании заключается в том, что у всех есть один и тот же компьютер, независимо от того, что и что, и они проходят цикл обновления 3 года... То есть у меня будет эта машина в течение следующих 2 лет...:S

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

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

Итак, как я могу доказать, что выигрыш в $X будет получен, если вы потратите $Y на новое оборудование...

Стек, с которым я работаю, выглядит следующим образом: VS 2008, SQL 2005/2008. По мере выполнения обязанностей мы являемся администраторами SQL, а также разработчиками Web/Winform/WebService. Таким образом, очень типично иметь 2 сеанса VS и по крайней мере один сеанс SQL, открытый одновременно.

Ура Энтони

9 ответов

Решение

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

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

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

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

Машина отлично выглядит, кроме оперативки.

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

К сожалению, если они настроены скептически, то вряд ли вы сможете доказать это им только количественным способом. Даже если вы придумали цифры, они, вероятно, поставят под сомнение методологию. Я предлагаю вам посмотреть, хотят ли они посмотреть 10-минутную демонстрацию (возможно, назовите это презентацией), и показать им опыт переключения между экземплярами VS (объясняя, почему вам нужно переключаться и как часто), показать им процесс сборки (снова объясняя, почему вам нужно создавать сборку и как часто) и т. д.

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

Если не считать этого, хотя..

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

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

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

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

  • Запуск второго экземпляра VS и ожидание его загрузки и сборки
  • Извлечение или обновление исходного дерева
  • Запуск другого экземпляра VS или проверка чистого исходного кода для "быстрого просмотра" некоторой ошибки, которая была назначена
  • Несколько циклов сборки / отладки для исправления сложных ошибок
  • Ментальные накладные расходы при переключении между различными задачами, которые нельзя недооценивать

Некоторое время назад я рассмотрел вопрос о новом оборудовании после разбивки количества времени, которое было потрачено впустую, ожидая, пока машина догонит. В обычный день нам может потребоваться сделать 2 или 3 полных сборки по полчаса каждая. Время соединения составляло около 3 минут, и в цикле сборки / отладки вы можете делать это 40 раз в день. Так вот 3,5 часа в день жду машины. Большая часть этого находится в маленьких 2 или 3-минутных карманах, что недостаточно для переключения контекста и выполнения других действий. Это достаточно долго, чтобы проверить свою почту, проверить переполнение стека, высморкаться и все. Так что больше ничего продуктивного вы не сможете сделать за это время.

Если вы можете показать, что новая машина соберет весь проект за 15 минут, а соединение займет 1 минуту, то теоретически это даст вам дополнительные 2 часа производительности в день (или, более реалистично, потенциал для дополнительных циклов сборки).

Поэтому я хотел бы получить некоторые объективные временные характеристики, которые показывают, сколько времени требуется для различных частей вашего рабочего цикла, а затем попытаться выполнить сравнительные временные характеристики на машинах с 4 ГБ ОЗУ, вторым диском (например, быстрым, например, WD Raptor), SSD, что угодно, чтобы придумать какие-то твердые цифры в поддержку вашего дела.

РЕДАКТИРОВАТЬ: я забыл упомянуть: представьте это, поскольку ваше текущее оборудование заставляет вас терять производительность, и стоить на количество потерянного времени, умножая его на типичную почасовую ставку разработчика. На этом основании я смог показать, что новый ПК окупит себя примерно через месяц.

Даже обсуждение этого с ними в течение более пяти минут обойдется дороже, чем просто позвонить местному дилеру ПК и купить ОЗУ из своего кармана. Спросите вашего руководителя проекта, могут ли они поместить его на вкладку проекта как еще один "инструмент разработки". Если он не может, не беспокойтесь и не кашляйте

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

Когда у нас возникла та же проблема, мой начальник купил лучшие карты gfx для всей команды из собственных карманов и пошел к парням за компьютером, чтобы достать каждому из нас второй монитор. Несколько дней спустя он снова пошел, чтобы получить каждому из нас по 2 ГБ ОЗУ.

Регулярно выполняйте задачу, которую можно улучшить с помощью более быстрого оборудования, например: запустите набор тестов, запустите сборку, загрузите и завершите работу виртуальной машины - и измерьте время, которое требуется с текущим оборудованием и более качественным оборудованием.
Затем вычислите месячную или годовую стоимость: сколько раз в месяц х время полученного х почасовая зарплата и посмотрите, достаточно ли этого для обоснования.
Например, предположим, что вы зарабатываете 10 000 долларов в месяц и получаете 5 минут в день на более совершенном компьютере, потери для вашей компании в месяц будут примерно равными (5/60 часов в день) x 20 рабочих дней / месяц x 10 000 долларов США / 8. часов / день = 105 долларов в месяц. Или около 1200 долларов в год, потерянных из-за машины (при условии, что я не испортил математику...). Теперь, прежде чем поговорить с вашим менеджером, подумайте, значимо ли это число.
Теперь это предполагает, что 1) вы можете измерить улучшение, даже если у вас нет лучшей машины, и 2) пока вы "тратите" свои 5 минут в день, вы не делаете ничего продуктивного, что не очевидно,
Для меня стоимость медленной машины более психологична, но ее трудно определить количественно - после нескольких дней ожидания того, что произойдет на ПК, я начинаю капризничать, что плохо сказывается на моем внимании, и мои сотрудники!

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

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

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

Другие вопросы по тегам