Debe conocer bien el ciclo de vida de desarrollo de software (SDLC) para hablar con un desarrollador. Las etapas básicas del SDLC (ciclo de vida de desarrollo de sistemas) son:
1. Análisis / definición de requisitos: aquí es donde el usuario final / cliente (USTED) define lo que el software debe hacer desde la perspectiva del usuario final. Crear un prototipo de la interfaz de usuario aquí es un buen comienzo, pero también debe crear un documento formal que también describa lo que espera que haga cada botón y elemento de la interfaz de usuario. Sea lo más detallado y claro posible. ¡Cuanta menos ambigüedad, mejor!
1a. Estimación del cronograma / costo: una vez que entregue al desarrollador su prototipo de interfaz de usuario y el documento de requisitos, puede crear una estimación aproximada del cronograma / costo. Antes de dar una estimación detallada, es posible que quieran dedicar un tiempo a elaborar un diseño que usted revise / apruebe.
- ¿Cómo paso a la gestión general?
- ¿Qué libros de programación informática seguirán siendo relevantes durante muchos años?
- ¿Cómo funciona un motor de reserva de hotel en línea en tiempo real? ¿Existe un sistema central de software que utilizan compañías como MakeMyTrip, etc.?
- ¿Cuáles son algunas fotos de portada de Facebook únicas / creativas para ingenieros?
- Cómo decidir cuándo escribir un programa y también adaptarlo a futuros cambios
2. Diseño de software / creación de prototipos: un desarrollador creará modelos (es decir, modelos UML) del software que implementará. Esto podría incluir modelos arquitectónicos si se trata de una arquitectura de varios niveles. Si hay grandes incógnitas (es decir, visualizaciones / algoritmos complejos), el desarrollador puede querer hacer un prototipo rápido y sucio de algunas de las funciones.
2a. Programa detallado / Estimación de costos: después del diseño del software, el desarrollador puede proporcionarle una Estructura de desglose de trabajo (WBS) de todas las tareas y una estimación detallada de costos / programa para cada tarea. Debe administrar la programación / WBS con reuniones semanales y actualizaciones de estado.
3. Implementación de software (Desarrollo / Codificación): aquí es donde el desarrollador construye el software creando código fuente en un lenguaje de programación particular. Como no está desarrollando este código usted mismo, debe seleccionar el idioma dominante para su plataforma particular en la que planea implementar la aplicación.
4. Prueba de software: aquí es donde vuelve a aparecer en la imagen al comprobar que el software ha proporcionado la funcionalidad que especificó en el documento de requisitos.
4a. Pruebas funcionales: debe tener una lista de verificación escrita (también conocido como un Plan de prueba derivado de su documento de requisitos) donde cada botón / elemento en la interfaz de usuario se prueba con varios valores (incluidos los valores inesperados también conocidos como “casos de esquina”). Idealmente, tiene un hardware separado para hacer las pruebas. Esto puede ser en un entorno de nube.
4b. Pruebas automatizadas: además de las pruebas funcionales manuales, el software debería haberse desarrollado utilizando pruebas de módulos automatizadas para todas las funciones clave (usando algo como JUnit). Estas pruebas automatizadas también deben ejecutarse y aprobarse antes de cualquier cambio importante en el sistema.
5. Implementación de software: aquí es donde el software se traslada de la prueba al entorno de desarrollo. Idealmente, tiene un hardware separado para el sistema de producción. Esto puede ser en un entorno de nube.
6. Mantenimiento de software / Corrección de errores: una vez que el software esté en producción y en manos de usuarios reales, se descubrirán errores. La fase de mantenimiento es donde se corrigen los errores y se implementan nuevas versiones.
¡Los mejores deseos!