Buscando buenas técnicas para justificar la máquina "genial de lo normal" para los desarrolladores. La compañía para la que trabajo compra los mismos sistemas con poco poder de $ 500 para todos, y busca la manera de probar el ROI o los argumentos para usar. Lo siento, no dije esto en la pregunta inicial, la pila es VS 2008, SQL 2005/2008. Como los deberes dictan, somos administradores de SQL así como también desarrolladores de Web/Winform/WebService. Por lo tanto, es muy típico tener 2 sesiones VS y al menos una sesión SQL abierta al mismo tiempo.Justificación de la máquina del desarrollador
Respuesta
Averigua cuánto tiempo pasas en el ciclo de edición -> compilación -> depuración, y sume eso en el transcurso de un año. Luego, estimule (con una inflación justificable) lo que una buena computadora haría con ese número. Multiplique la mejora de tiempo por su tarifa por hora y presentela como un caso de negocios.
una buena es:
tiempo extra por compilar X número de compilaciones por hora X horas de jornada laboral X días de mes X número de desarrolladores
esto pone de manifiesto cuánto de su (costoso) tiempo se desperdicia esperando a que la máquina termine. Puede hacer lo mismo para las ejecuciones de prueba, etc.
Las pruebas, al menos, deben realizarse en un sistema lo más cerca posible del entorno en el que se lanzará. La mayoría de los desarrolladores hacen al menos algunas pruebas en su escritorio, por lo que esa es una razón para no ser peor que su entorno en vivo.
Si su entorno en vivo es un sistema de $ 500 con poco poder, entonces bueno, ese es su entorno. Tal vez deberías trabajar en eso? Es difícil decir qué otras cosas debes mencionar sin tener idea de qué tipo de desarrollo estás haciendo. ¿Solicitud? ¿Servidor? ¿Un lenguaje interpretado o un lenguaje compilado?
Mi frase es "La respuesta a la productividad del programador no es dar a todos las máquinas lentas"
Voluntarios para el mayor número de perros y ponis muestra como se puede (oportunidades para mostrar lo que has hecho para gente importante como el VP y demás). En algún momento su máquina se atascará. Preguntarán por qué todo tarda tanto. Explique que tiene una computadora dolorosamente lenta. También señale cómo va a arriesgarse a perder una fecha límite debido a eso. Señale cómo el disco duro nunca deja de pulirse.
Al tocar los números, señale qué tan caro es su tiempo en comparación con el costo único de actualizarlo ahora.
Danimal tiene una buena fórmula allí. Puede incluir en ese caso de negocio una hoja de cálculo que muestre la máquina base en comparación con lo que un desarrollador "promedio" necesita y desea para su empresa. Cosas como Ram, velocidad de CPU, aplicaciones preinstaladas, GPU, etc.
No olvide incluir múltiples dispositivos de visualización en su solicitud: tener una segunda pantalla para tener el código en uno, depurador en el otro (por ejemplo) es invaluable. O para codificar en una pantalla con la referencia del lenguaje en otra.
¿Tiene un servidor central donde se realiza la construcción? Si es así, argumentar a favor de una estación de trabajo de desarrollo "mayor de lo normal" puede ser difícil.
Ser capaz de reducir los tiempos de construcción en un factor de 2-3, sin embargo, es una razón lógica para comprar un hardware más grande.
OTOH, si una empresa está tan preocupada por lo que están gastando que solo reciben los especiales de Walmart (que están bien para el trabajo "normal" (mecanografía, correo electrónico, programación, presentaciones)), están va a asustar a su personal técnico real, como usted, que realmente quiere hacer su trabajo, y que tiene un trabajo más complejo que, por ejemplo, el asistente administrativo.
A menos que esté contratando desarrolladores incompetentes o sus desarrolladores están haciendo demandas extremadamente ridículas, el retorno de la inversión es casi siempre órdenes de magnitud mayor que el costo de una estación de trabajo. Incluso una máquina de alta potencia con un monitor de 30 "es barata en comparación con el salario de un buen desarrollador, de todos modos. Es tan fácil complacer a los desarrolladores con unos artilugios brillantes. Si no lo haces, la empresa de al lado lo hará!
Todo lo que obtiene de su desarrollador se canaliza a través de sus herramientas. La menor insuficiencia en esas herramientas se multiplicará mil veces a lo largo de la vida de esas herramientas (se espera tener que actualizarlas en dos años). Estas deficiencias matan a su la productividad del desarrollador e incluso puede generar mucha frustración. ¿Por qué querría escatimar en el recurso más importante para sus desarrolladores? Apuesto a que si mira a fondo, encontrará mucho mayor desperdicio en otra parte de su empresa.
en parte debido a la productividad y responsabilidad veness de la máquina para un desarrollador que de otra manera jugaría a justas de presidente durante las compilaciones; sino también porque un desarrollador va a instalar las aplicaciones más grandes y necesitadas de recursos que verá fuera de un servidor de producción.
Visual Studio ocupa mucho disco, RAM y una gran cantidad de CPU. Eclipse (me dijeron) es lo mismo. Cualquier desarrollador por qué está haciendo algo útil también tendrá control de fuente, versiones de desarrollo de sistemas de producción (por ejemplo, un DB local contra el que desarrollarse), etc. Todas esas aplicaciones también ocupan mucho RAM y CPU.
¡A menos que esté desarrollando remotamente en un servidor en alguna parte, necesitará toneladas de recursos solo para instalar la mitad de las aplicaciones infladas que quieren que use!
expresados en código:
AnnualSavings := DeveloperCostPerHour * (AnnualWaitHours(OldPC) - AnnualWaitHours(NewPC));
if AnnualSavings > (MachineCost(NewPC) - MachineCost(OldPC)) then
ShowMessage('Time to pony up for a new machine!!')
else
ShowMessage('Sorry bub, gotta keep the old clunker.');
puedo aportar desde mi propia experiencia ¿por qué la máquina más fuerte sería de gran ayuda:
- Prueba el código bajo diferentes configuraciones. Esto requeriría ejecutar alguna solución de virtualización. Tales soluciones requieren una máquina fuerte.
- Ejecutando una caja de arena. Muchas veces la aplicación desarrollada requiere una base de datos, un servidor web u otro producto complementario. Nuevamente, dicho software puede requerir una máquina fuerte.
- Paralelo de desarrollo. A veces, puede ser muy útil ejecutar varias instancias del entorno de desarrollo. Para hacer eso, multiplica el requisito del sistema de una sola instancia.
La virtualización es un * gran * punto. –
Diles que pagarás la diferencia entre sus máquinas baratas y la máquina que quieras. Si confía en que aumentará significativamente su productividad, recuperará fácilmente el dinero en bonificaciones de rendimiento/aumentos salariales.
Además, si pone su dinero donde está su boca, entonces es probable que no cumplan con su obligación de pago, ya que causará demasiados problemas en la contabilidad.
Una de las razones por las que las empresas estandarizan las máquinas para comprar es evitar las disputas que se producen cuando el empleado A obtiene una cosa y el empleado B obtiene algo mejor. Si pagaste, entonces nadie se va a quejar de que tienes una PC mejor.
Si todavía dicen que no, entonces al menos ya sabes dónde estás parado. No te toman en serio y no toman en serio el rol de desarrollador. Desempolvar el CV.
¿Hay alguna pregunta para los que me votaron? ¿Se rehusaría a comprar un libro de tecnología que lo haría más productivo porque su empleador no lo pagaría? –
Un libro cuesta solo 30 o 40 dólares como máximo. Estamos hablando de unos cientos de dólares. Además, muy pocas compañías tendrían procesos establecidos para permitirle pagar parte de un activo. La mayoría simplemente lo rechazaría debido a legalidades de propiedad y otras cosas. –
Sí, te escucho.
La justificación básica es siempre la misma para mí: máquina más lenta -> desarrollo más lento; Máquina más rápida -> Desarrollo más rápido.
Aunque si tu jefe está demasiado enfocado en los números, Microsoft tampoco está ayudando.
Visual Studio setup requirements:
Requisitos del sistema para instalar Visual Studio 2005
Procesador
mínima: 600 megahercios (MHz) Pentium procesador
Recomendado: 1 gigahertz (GHz) Pentiu m del procesador
RAM
mínimos: 192 megabytes (MB)
recomendados: 256 MB
FYI, 2005 fue hace 3 años. Los requisitos para VS 2008 son más relevantes: http://msdn.microsoft.com/en-us/vs2008/products/bb894726.aspx – Wedge
ser barato en el hardware es estúpida. Las personas son mucho más caras de encontrar, contratar y retener que el hardware. La diferencia en el costo entre hardware mínimo y grande generalmente es equivalente a unas pocas semanas de salario del programador. Debería ofrecerles a los desarrolladores una máquina de gama alta de su elección y al menos 2 pantallas. Si su empresa no le brinda las herramientas para que usted (y, por lo tanto, ellas) tenga éxito, no valen su tiempo.
Si eres un dron asalariado que trabajas horas locas y haces todo lo que se te pide, no pierdas el tiempo exprimiendo la sangre del nabo. La compañía te está explotando, lo permites, y no hay ninguna razón para que cambien. O gasta tu propio dinero (comprándote un poco de tiempo adicional cada día), encuentra de alguna manera que la situación actual te causa dolor en el piso de arriba, o aguántalo.
Si, por el contrario, trabaja una cantidad razonable de horas o paga por hora, debe poder justificar la solicitud, ya sea a través de horas reducidas (= costo reducido) o mediante una productividad mejorada (= cosas que obtienen hecho más rápido). Debe decidir cuál es la organización más interesada y presentar su solicitud en esos términos.
Identifique (y cuantifique si es posible) cómo la máquina con poca potencia impide su productividad y le ralentiza. Luego, aplique eso a O bien horas reducidas para el mismo trabajo O para realizar más trabajo al mismo tiempo.
¡Buena suerte!
Supongo que probablemente no trabaje para una compañía de software, como yo, probablemente sea parte de un grupo de software dentro de una empresa de fabricación/hardware, o tal vez una institución financiera o educativa, etc.
Para mí, trabajar con/para este tipo de empresas, generalmente no es que la empresa quiera negarles a las personas las herramientas que necesitan para hacer su trabajo, sino más bien no entender "por qué" los desarrolladores necesitan mejores máquinas que gente de ventas
Quizás intente usar una analogía que tenga sentido para la (s) persona (s) que sostiene (n) el talonario de cheques. ¿Por qué los vendedores llevan a los clientes a un restaurante especializado en carnes cuando McDonald's está justo al otro lado de la calle? ¿Por qué los mecánicos gastan dinero extra para comprar herramientas Snap-On cuando Wal-Mart vende destornilladores de la marca Buffalo? (seguro, tengo algunos destornilladores Buffalo en casa, pero no soy mecánico)
Esto es simplemente ridículo, los desarrolladores son muy caros de contratar y pagar, el hardware es muy barato.
Ofrecer a todos una máquina decente en su escritorio además de un servidor bien especificado (8G RAM debería estar bien) en la sala de servidores es lo mínimo que debe esperar.
De lo contrario, ¿cómo van a poder ejecutar una cantidad decente de máquinas virtuales a la vez?
Estrictamente hablando, su máquina de escritorio no importa demasiado, siempre que tengan un servidor de desarrollo decente (supongo que esto no es desarrollo de juegos, etc. aquí). Sin embargo, dos pantallas es una buena idea.
Las máquinas de escritorio importan si está desarrollando correctamente: dev y prueba en el box/server local, comprometerse con el control de origen, pub al servidor de desarrollo desde el control de origen. Tener a todos trabajando en un solo servidor es solo pedir problemas. –
Quise decir un servidor cada uno. Eso es ciertamente lo que tenemos. Ejecutamos varias VM por desarrollador, a la vez. Esto es necesario para desarrollar/probar software en clúster. – MarkR
- 1. ¿Cómo pruebo SSL en una máquina de desarrollador?
- 2. Justificación de Python preferido para la sintaxis
- 3. Justificación para la búsqueda de Koenig
- 4. Cómo desbloquear los archivos del servidor TFS bloqueados por otro desarrollador en otra máquina
- 5. Estadística del desarrollador de Apple
- 6. MySQL Fulltext Stopwords Justificación
- 7. propiedad del nombre de la máquina ant
- 8. Justificación para la reflexión en C#
- 9. Justificación para arrojar tipos estáticos?
- 10. Log4net inicie sesión en la máquina del desarrollador, pero en el servidor de prueba no se registra
- 11. Justificación detrás del contenedor_de macro en linux/list.h
- 12. SQL Server 2005 y 2008 en la misma máquina de desarrollador?
- 13. ¿Cómo mejorarías Dalvik? La máquina virtual de Android
- 14. Volcado de importación del desarrollador PL/SQL
- 15. Agregar miembros del equipo a la cuenta de desarrollador individual
- 16. C++: justificación detrás de la regla de ocultación
- 17. La excepción muestra la ruta del desarrollador en lugar de los servidores
- 18. Justificación de texto en WPF hipervínculo
- 19. Justificación de texto con DrawString en C#
- 20. Optimización del motor de búsqueda - ¿Guía del desarrollador?
- 21. ¿Puedo usar OpenCL en una aplicación que distribuyo a una máquina que no es desarrollador?
- 22. Acceso usuario_actual del desarrollador en el modelo
- 23. Verifique la lista del módulo instalado en la máquina
- 24. Obtener el nombre de la máquina del cliente
- 25. VS2008 cómo cambiar de Desarrollador web a C# Configuración del desarrollador
- 26. ¿Dónde está la carpeta "Desarrollador"?
- 27. Justificación del manejo de SimpleXMLElement de los valores de texto en addChild y addAttribute
- 28. Directorio de plantilla de proyecto del desarrollador web
- 29. iOS ID del paquete del desarrollador y el nombre de la aplicación ya están en uso
- 30. TopShelf instalar múltiples del mismo servicio en la misma máquina
¡Factoriza el argumento "15 minutos para enfocarte" y obtendrás un ganador! – bobobobo