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.
fuente
Respuestas:
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.
fuente
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.
fuente
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.
fuente
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.
fuente
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.
fuente
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.
fuente