Esta es una pregunta difícil porque hay muchas variables indefinidas. Para algunos proyectos, el software puede codificarse rápidamente, y para otros, el software en cuestión puede que nunca se complete.
El primer elemento a considerar es el equipo. ¿Los programadores se llevan bien profesionalmente? ¿Y pueden comunicarse bien juntos? Si pueden, entonces podrán mantenerse entre sí (emocionalmente cuando las cosas se ponen difíciles y el agotamiento levanta su cabeza fea) y ayudarse mutuamente cuando tienen problemas. Luego considere la gestión. ¿Apoyan a los programadores? ¿Toman en serio los consejos de los programadores? ¿O los están tratando como robots sin sentido cuyo trabajo es hacer el trabajo y no pensar por sí mismos? Un programador que no cree que están siendo tomados en serio perderá la fe en el proyecto, y eso hará que dejen de preocuparse por la programación rápidamente o con buena calidad.
¿Qué tal la planificación? ¿Se incluyeron los programadores en la fase de planificación del proyecto? ¿O les entregaron los requisitos después del hecho y les dijeron que lo hicieran? Muchas veces los programadores tienen una idea de hacia dónde se dirige el proyecto y pueden ayudar a planificar obstáculos pasados que se enfrentarían si supieran todos los requisitos con anticipación.
- ¿Hay alguna manera de crear una vista proyectada alineada en SolidWorks?
- ¿Qué habilidades y experiencias necesito para pasar de la gestión de proyectos a la ingeniería de software?
- ¿Cuál es la aplicación más útil que has descargado en lo que va de año?
- ¿Qué impacto tienen las herramientas digitales como Photoshop en el estudio del arte, la historia y la arquitectura?
- ¿Cuáles son las aplicaciones más importantes en tu teléfono?
¿Se cambian las características durante el proyecto? Algunas características pueden parecer una implementación rápida, pero de hecho podrían llevar días o semanas para que funcionen correctamente. Esto se puede resolver con una buena comunicación entre la administración y los programadores, de modo que los programadores puedan explicar exactamente por qué esa pequeña característica tardará unos días en implementarse cuando el cliente considera que solo deberían ser unos minutos.
Por último, un buen software es bueno porque se toma tiempo para asegurarse de que se hayan encontrado tantos errores que se puedan encontrar. Apresurarse a través del proyecto puede conducir a un software incompleto o un software inutilizable que se implementará para los usuarios. Muchas compañías han cambiado a una metodología ágil donde no tienen fechas difíciles para el software, sino que se centran en adiciones de funciones y corrección de errores. Lanzan el software cuando está listo, no cuando se ha cumplido una fecha.