Pasos para iniciar un proyecto de desarrollo de software exitoso

software

La mayoría de las veces el inicio de un proyecto lo atrapa desprevenido. Es posible que esté en el equipo del proyecto desde el primer día, pero el calendario es ajustado y no hay tiempo suficiente para la preparación

Peor aún, podrías pasar por alto algunos pasos, y eso podría volver a perseguirte más tarde.

El proyecto se inicia, pero después de unos meses terminas en un lugar oscuro. Esas cosas molestas que te frustraron durante tus tareas anteriores están de vuelta.

Si eso te suena demasiado familiar, este artículo es para ti. Siga estas pautas al comenzar un proyecto y prepárese para el éxito.

Establecer vías de comunicación claras.

Desde el primer día, asegúrese de que los roles estén bien definidos y que todos sepan quién maneja qué. Las personas solicitarán acceso a sistemas externos, pedirán aclaraciones o señalarán emergencias. Cualquiera que sea el escenario, asegúrese de que las personas de contacto clave se identifiquen fácilmente. Mantenga esta información en un lugar bien conocido y hágala accesible a todos.

Definir las mejores prácticas y convenciones.

Cuando comience el proyecto, no comience a codificar de inmediato. Si lo hace, la mayoría de las veces, su base de código se convertirá en un lío enredado que nadie quiere tocar o mantener.

Tómese un tiempo para evaluar sus experiencias pasadas e identificar qué salió bien y qué no. Le ayudará a definir cómo quiere que sucedan las cosas para esta nueva iniciativa. Involucre a todo el equipo en el ejercicio y asegúrese de escuchar lo que dicen.

El resultado final debe ser una lista de convenciones y mejores prácticas validadas por todo el equipo. Siga estas convenciones y desarrollará una solución mucho más organizada y coherente.

Crear una definición significativa de hecho

¿Cuántas veces, justo antes de la demostración, descubrió que no puede mostrar una función porque falta algo? Lo sé, demasiado a menudo.

Los desarrolladores tienden a considerar que una función se realiza una vez que funciona en su máquina local. Sin embargo, un ciclo completo de desarrollo de software implica mucho más que eso.

Es posible que la función solo funcione en su máquina local, por lo que debe probarla en al menos otro entorno. Luego, debe pedir a sus compañeros que revisen su trabajo. Esto asegura que se cumplan los criterios de aceptación y los estándares de calidad.

El siguiente paso es agregar los pasos de implementación, para que pueda liberar la función al entorno de demostración. Debería poner estos pasos juntos en la Definición de Hecho, junto con cualquier otro paso relevante.

Después de eso, asegúrese de que su equipo use la Definición de Hecho como una lista de verificación antes de completar una tarea. Esto te dará mucha más confianza de que un ticket resuelto es lo que esperas que sea.

Elija un sistema de integración continua apropiado

La integración continua es crucial para cada proyecto. Desea asegurarse de poder lanzar los nuevos desarrollos con el mínimo esfuerzo. Afortunadamente, hay una amplia gama de opciones disponibles en el mercado, siendo Jenkins y TeamCity dos de ellas. Sin embargo, hay un par de factores muy importantes a tener en cuenta al hacer esta elección.

Una de ellas es la preferencia del equipo, y la otra es el precio de la herramienta. Siempre es más inteligente utilizar una herramienta de integración continua que su equipo haya usado antes. Eso significa que todos están familiarizados con la herramienta y no tendrá que hacer un esfuerzo adicional para aprender un nuevo sistema.

Sin embargo, no pase por alto el factor de precios. Si su herramienta de elección es costosa, es posible que los patrocinadores del proyecto no estén dispuestos a pagar por ella. Todos sabemos que esto sucede, pero no es el fin del mundo.

Hay un montón de potentes herramientas de integración continua que son gratuitas. Tómese el tiempo para probarlos y elija el más adecuado para usted.

Elige tus herramientas y aplicaciones

Una cosa que debes evitar es usar demasiadas herramientas diferentes para lograr el mismo propósito. Imaginemos que su equipo tiene que desarrollar una API REST.

John, uno de los miembros de su equipo con menos experiencia, necesita ayuda para probar un punto final para la creación de usuarios. Le pide ayuda a Alex, que está ansioso por ayudar, hasta que ella se da cuenta de que John está usando la interfaz de usuario SOAP para probar sus puntos finales.

Carlos, un gran fan de Postman, pasa unos minutos tratando de entender cómo usar la herramienta, pero sin demasiado éxito. Se da por vencida después de algunos intentos, por lo que deciden comunicarse con George, el chico más experimentado del equipo.

Sin embargo, Lucas es un programador de la vieja escuela. Le gusta hacer todo desde la línea de comandos, así que le pide a John que reescriba sus llamadas a la API para probarlas con cURL. No es una situación ideal para nadie.

Sabemos que a los desarrolladores les encanta tener la libertad de elegir sus propias herramientas, pero no siempre es óptimo trabajar de esa manera. A largo plazo, el equipo se beneficiará más del uso del mismo conjunto de herramientas. Intente evitar este tipo de situaciones eligiendo herramientas específicas para cada propósito.

No sea demasiado rígido, escuche las preferencias de su equipo, pero tome una decisión clara. Además, asegúrese de explicar a todos por qué esto es importante y obtener la aceptación de sus compañeros. Después de todo, no quieres ser un fanático del control.

Utilice los sistemas de control de versiones con prudencia

Los sistemas de control de versiones son una necesidad para cada proyecto de software. No puede desarrollar una solución de software en colaboración sin usar una. Sin embargo, no es suficiente seleccionar un sistema de control de versiones y comunicar la elección a su equipo.

Debe invertir algo de tiempo para definir la forma en que desea que se utilice el sistema para su nuevo proyecto. Un buen punto de partida es comparar los flujos de trabajo existentes y decidir cuál es el mejor para su caso de uso.

A continuación, debe validar el flujo de trabajo con su equipo. Si la respuesta es positiva, es probable que el sistema de control de versiones se utilice según lo previsto.

Evite tener múltiples sistemas de gestión de documentos.

Una de las cosas más frustrantes es cuando necesita encontrar información y no sabe dónde buscarla. Esto suele ocurrir porque hay demasiados lugares donde podría estar. ¡No debería ser tan complicado!

Cuando su tipo de DevOps quiere encontrar la IP del servidor de control de calidad, debe buscar en un solo lugar. Para que esto suceda, debe elegir un buen sistema de gestión de documentos y atenerse a él.

Manténgalo organizado y enfrente a cualquiera que intente almacenar información fuera del sistema. Todos verán los beneficios a largo plazo, incluso las personas a las que se les grita.

Semrush sigue a tu competencia


Fecha actualización el 2019-05-06. Fecha publicación el 2019-05-06. Categoria: software Autor: Oscar olg Mapa del sitio Fuente: freecodecamp Version movil