¿Es el trabajo de un desarrollador sugerir requisitos de TI?


26

Soy el único desarrollador que trabaja en una aplicación web que está llegando a su fin. Ahora estamos buscando hacerlo en vivo dentro de unos meses.

Esta es una aplicación web para una empresa que no es de TI. Aunque tienen su propio equipo interno de TI, me han preguntado cuáles serán los requisitos de hardware para los servidores en vivo, por ejemplo. RAM, 32 bits o 64 bits.

¿No debería hacer esto el equipo interno de TI o, dado que soy la única persona que trabaja en el proyecto, es mi responsabilidad informarles sobre los requisitos de hardware específicos que puedan afectar el rendimiento del proyecto?

La razón por la que hago esta pregunta es que no he hecho esto antes. Todas las veces me dieron un servidor y me pidieron que implementara aplicaciones en él. Nunca me preocupé por la configuración del servidor, etc.


66
Después de haber estado en ambos lados de esa moneda (varios años de experiencia tanto en TI como en SD), puedo decir con confianza que si tuviera un centavo por cada vez que un equipo de desarrollo me diera una especificación de hardware que se ajuste con precisión a la aplicación, tendría $ 0.00. Probablemente el 90% estaban muy por debajo de las especificaciones y los demás aparentemente requerían supercomputadoras. ¡No tenga miedo de trabajar con TI para descubrir las especificaciones de hardware! Combinando su conocimiento de la aplicación con su conocimiento de sistemas y escalabilidad, obtendrá mucho más que tratar de aumentar las especificaciones de CPU y RAM basadas en desarrollo / prueba.
Justin ᚅᚔᚈᚄᚒᚔ

Respuestas:


52

Aunque tienen su propio equipo interno de TI, me han preguntado cuáles serán los requisitos de hardware para los servidores en vivo, por ejemplo. RAM, 32 bits o 64 bits.

Tal vez se dan cuenta de que, como desarrollador, tienes más información sobre los requisitos de la aplicación que ellos. Probablemente ha estado ejecutando la aplicación y sabe cuánta memoria requiere bajo diferentes cargas.

Desde el punto de vista del departamento de TI, están felices de proporcionar lo que su aplicación necesite. Probablemente podrían averiguar qué requiere la aplicación a través de prueba y error, o podrían preguntarle al único hombre de la compañía que probablemente tenga alguna idea sobre el comportamiento de la aplicación para obtener su opinión.

No es raro que se les pida a los desarrolladores que hagan cosas que no están estrictamente en la descripción de su trabajo . Es posible que tenga que escribir alguna documentación, a pesar de que hay un escritor técnico en el personal. Es posible que deba participar en el proceso de prueba aunque haya un departamento de control de calidad. O se le puede pedir que ayude a redactar una propuesta, aunque haya un analista de negocios en el proyecto. Esto es normal: eres parte de un equipo y tu principal preocupación debería ser ayudar al equipo a tener éxito. También es bueno para usted, ya que amplía su experiencia y lo ayuda a comprender lo que hacen los otros miembros del equipo, y es bueno para la empresa, ya que difunde el conocimiento.


77
Heavy es el jefe de un pequeño desarrollador de code-shop, porque es él quien debe usar muchos sombreros.
Philip

1
Recientemente terminé una migración del sitio de Wordpress. Eso no era exactamente lo que tenía en mente cuando decidí convertirme en ingeniero de software, pero en un equipo pequeño, especialmente en una empresa pequeña, haces lo que hay que hacer por el bien del equipo, no porque se ajuste a tu idea de cuál podría ser tu trabajo ideal.
cáñamo

15

¿Es mi responsabilidad informarles sobre los requisitos de hardware específicos que pueden afectar el rendimiento del proyecto?

Es responsabilidad de un proveedor de productos (su empresa, en este caso) definir los requisitos mínimos para la operación exitosa del producto. Como persona responsable dentro de su empresa; puede ser el líder tecnológico del proyecto ( suena como usted ) o el CTO de su empresa , lo que no le importa a su cliente.

Sin embargo, debe proporcionarse una lista de especificaciones mínimas para permitir el buen funcionamiento de este producto en una máquina y servidor cliente.


44
Esta. El equipo de TI no tiene idea de cuán exigente puede ser su aplicación. Sin ese conocimiento, proporcionar un servidor es una puñalada en la oscuridad. Si no lo saben y tienen que proporcionar un servidor, generalmente obtendrás algo monstruosamente sobredimensionado, ya que no quieren reducir su tamaño. A menos que, por supuesto, no haya presupuesto, entonces se quedará atascado en el pequeño servidor y será culpado de todos los problemas de rendimiento que hayan tenido.
Brian Knoblauch

6

Dependería de algunos detalles. Pero en general, pueden esperar al menos que usted les dé algunos requisitos mínimos, ya que debería tener un mejor conocimiento sobre la tecnología que utilizó para el proyecto. Sabría qué base de datos se usa si usara un indexador adicional para la búsqueda de texto completo, lo que tal vez requeriría más memoria o haría uso de núcleos adicionales.

Por otro lado, también pueden tener algún conocimiento adicional, como qué tipo de carga esperar, cuántos clientes pueden acceder al sitio, etc.

Simplemente intentaría ponerme en contacto directo con el equipo de TI y aportar el conocimiento de ambas partes.


1

En este punto del proceso, deberían estar pidiéndole esta información. El desarrollador / equipo de desarrollo no solo es responsable de escribir el código. Es su trabajo comprender la aplicación que está creando y todo su funcionamiento interno. Este conocimiento debería haber venido de sus reuniones internas de diseño. Quién mejor para evaluar el perfil de ejecución del sistema con todos sus matices que el equipo / desarrollador que lo creó.

Esta tarde en el juego, estaría más preocupado si dictaran la configuración del servidor en lugar de preguntarme.


0

Aunque tienen su propio equipo interno de TI, me han preguntado cuáles serán los requisitos de hardware para los servidores en vivo, por ejemplo. RAM, 32 bits o 64 bits.

Los requisitos de hardware no significan nada.

Si bien usted, como desarrollador, puede estar pensando en estos términos, tenga cuidado de que a nadie en el negocio le importe realmente las respuestas que dé a estas preguntas. Lo que importa es cómo la aplicación Web realiza . Según esta pregunta, sospecho que no tiene requisitos de rendimiento (como solicitudes por segundo y tiempo de carga promedio para una página). Debe proporcionar orientación técnica para desarrollar las respuestas a estas preguntas antes de preocuparse por los requisitos de hardware.

Idealmente, no debería tener que hacer esto solo: usted, un analista de negocios, alguien de TI que conoce el costo de un servidor y el gerente del proyecto debe definir los requisitos de desempeño y su impacto en el alcance / cronograma / presupuesto. Una vez que se acuerde, usted y TI pueden trabajar juntos para descubrir exactamente lo que eso significa, pero hay una buena posibilidad de que desee hacer alguna optimización de su parte además de lanzarle hardware.

Incluso si tiene que hacerlo usted mismo, le recomiendo documentar sus requisitos de rendimiento en términos medibles que no sean descripciones arbitrarias del hardware; esto también le dará margen para volver a TI más tarde y solicitar más información si la aplicación no está ' No funciona hasta el tabaco.


0

No puede esperar que conozcan los requisitos HW del software que nunca han visto. Los arquitectos y los desarrolladores senior deben tener una idea aproximada de cuánta capacidad de almacenamiento y procesamiento se requiere para una cantidad x de clientes. En cuanto a cuántos clientes debe soportar el software que depende del cliente y que realmente debería estar en la especificación aprobada.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.