¡Las mejores prácticas más importantes para el desarrollo de software son recopilar los requisitos del producto completamente, usar el control de fuente, usar Agile / Scrum y hablar con su equipo todos los días!
Comience escribiendo un documento de requisitos.
Un documento de requisitos del producto debe actuar como punto de partida: delinear el propósito del producto, quién lo usará y cómo usarlo. Es un precursor esencial para el diseño y desarrollo.
Si bien no tiene que perder un tiempo precioso tratando de definir cada cosa posible que hará el software, debe asegurarse de capturar todo lo necesario para satisfacer las expectativas del cliente y ofrecer un producto funcional. Es un acto de equilibrio seguro.
- ¿Cuáles son los fetiches más extraños de los que has oído hablar?
- ¿Cuál es el mejor discurso pronunciado por cualquier persona / político / deportista en el mundo?
- ¿Cuáles son los mejores ejemplos de gran diseño para los sitios web oficiales de músicos en 2014?
- ¿Qué novela ha dejado una impresión duradera en tu mente?
- ¿Cuál es la mejor estrategia para implementar DevOps?
He respondido algunas preguntas sobre este tema, pero el mejor lugar para ir es probablemente un artículo que escribí específicamente sobre cómo escribir PRD
Elija Agile y el marco Scrum.
Utilizamos metodologías Scrum y Agile porque ayuda a los equipos de desarrollo a construir proyectos de software dentro del presupuesto y dentro del plazo. Al mismo tiempo, ayuda a los clientes (o propietarios de productos como los llamamos en Scrum) a liderar equipos de desarrollo para construir el mejor producto posible, es decir, un producto que satisfaga las necesidades de la empresa y sus clientes.
Agile y Scrum son perfectos para equipos pequeños y remotos que trabajan en productos de software complejos. La idea es lanzar productos rápidamente, se obtienen comentarios y se realizan mejoras de forma iterativa. Si bien creo mucho en Agile y Scrum, no es sensato contratar un equipo de desarrollo y comenzar a desarrollar funciones sin saber en qué se está metiendo. Debido a esto, es importante no omitir la recopilación de requisitos del producto del cliente.
Agile y Scrum se adaptan a la forma iterativa actual de crear software. Fomenta una cultura multidisciplinaria donde los roles se superponen. Está diseñado para requisitos cambiantes. Por último, se basa en la transparencia, con todas las tareas y comunicaciones visibles para todos.
Elige un equipo en el que confíes.
No hay que decirlo, pero asegúrese de confiar y respetar a todos los miembros de su equipo.
Habla con tu equipo todos los días.
Esto es parte de Scrum y se llama el stand up diario. Esta es la ceremonia Scrum sin la que no puedo vivir. Todos nos reunimos en una videollamada y revisamos la lista de tareas y el progreso. Les da a todos una buena idea de lo que está sucediendo y cuál es su trabajo.
Use GIT para el control de fuente.
Nunca ejecute un proyecto sin control de fuente. Incluso si solo hay un desarrollador. El control de versiones le permite ver los cambios realizados con el tiempo y retroceder cuando sea necesario. Esta capacidad de retroceder lo hace invaluable. Una vez que tenga un gran equipo, los sistemas centralizados basados en la nube, como Build software, facilitan en conjunto los equipos remotos que trabajan sincrónicamente.
Utilice una plataforma de gestión de proyectos que satisfaga sus necesidades.
Consideramos que la gestión de tareas es tan vital que creamos nuestra propia plataforma interna. Hay muchas plataformas excelentes por ahí. De Asana a Basecam a Trello, ¡solo por nombrar a los tres grandes! Escriba una lista de funciones clave y vea qué herramienta es la más adecuada para usted. Escribí un artículo que califica específicamente el mejor PMT para el desarrollo de software que puedes leer aquí.
Prueba, prueba y prueba.
Puede probar de forma manual o automática. Las pruebas automatizadas son perfectas para proyectos en etapa avanzada / modo de soporte. ¡Cuando la configuración es tan fácil como presionar un botón para verificar que todo funciona bien antes de actualizar! Este entorno controlado por prueba (TTD) también funciona en otros casos de uso, pero se vuelve menos valioso cuando un proyecto se encuentra en sus primeras etapas. En esta etapa, las cosas todavía están cambiando y no tiene sentido crear nuevas pruebas automatizadas que se extinguirán en unos días. En esta situación, tendemos a centrarnos más en el control de calidad manual. De cualquier manera, siempre probamos antes de lanzar.
Personalizado o ‘Fuera de la plataforma’.
A menudo escucho a los clientes decirme que quieren construir su propia plataforma, pero cuando analizamos los requisitos, nos damos cuenta de que ahorrarían tiempo y dinero al personalizar un producto ‘listo para usar’. Si está creando un blog, ¡no necesita crear una plataforma de administración de contenido usted mismo! Es por eso que recomiendo trabajar con un arquitecto de software para ayudarlo a decidir qué debe desarrollar usted mismo y qué puede comprar y personalizar.
Use un marco
Elegir el marco adecuado ayudará a su equipo a desarrollar una aplicación que cumpla plenamente con las reglas comerciales, que esté estructurada y que sea mantenible y actualizable. Los marcos también son más rápidos para trabajar porque permiten a los desarrolladores ahorrar tiempo reutilizando módulos genéricos. Por último, los marcos vienen completamente documentados para que todos en el equipo puedan leer y cumplir con las mismas pautas de uso.