10 consejos de desarrollo ágil probados y probados
Publicado: 2020-05-04La mayoría pensaría que la programación y el desarrollo de software son una actividad solitaria que tiene a los nerds informáticos escondidos en sus habitaciones, trabajando en millones de líneas de código, pero eso está lejos de la verdad. El desarrollo de software real es un esfuerzo grupal significativo que requiere equipos de desarrolladores con diferentes especializaciones para trabajar juntos en la creación de un software que sea funcional, fácil de usar y con las funciones adecuadas.
Conseguir que un equipo de desarrollo esté en sintonía durante todo el ciclo de desarrollo significa seguir un modelo que pueda facilitar mejor el proceso. Ha habido bastantes a lo largo de los años con nombres como Waterfall, Spiral, V-model, etc., que ilustran cómo se desarrolla el software, desde la concepción hasta tener un producto terminado y luego mantenerlo.
Fuente de la imagen: Afiche del manifiesto ágil de Adam Weisbart.
El proceso al que muchos grandes desarrolladores atribuyen ahora es lo que se conoce como Agile, llamado así por su principio básico de adaptabilidad y evolución constante. Basado en lo que se llama el Manifiesto Ágil y escrito por un pequeño grupo de desarrolladores altamente experimentados.
Vieron la colaboración como el pilar central del desarrollo y tanto los requisitos como las soluciones pueden evolucionar a partir de ella. El desarrollo ágil toma un buen tiempo para dominarlo, pero aquí hay diez consejos que pueden ayudarlo.
Excelente hardware para sus desarrolladores y probadores
Si bien es posible codificar usando una computadora portátil, es mejor desarrollar su software con un equipo que sea más que amplio. También es igual de importante para los evaluadores tener máquinas de calidad para hacer su trabajo, ya que querrá ver los errores y fallas que surgen independientemente de los problemas de rendimiento.
Pero lo que los programadores realmente quieren es que varios monitores tengan la mayor cantidad de espacio en pantalla para escribir su código. Los buenos teclados también son un gran impulso, ya que escribir código es su pan y mantequilla, y los teclados mecánicos son duraderos y excelentes para escribir (al menos aquellos con interruptores táctiles).
Centrarse en los resultados
Nunca se trata de quién tiene la idea correcta, sino de dar con la idea correcta. Al final, la dirección proviene de la alta dirección, a diferencia de los primeros días de Agile, cuando venía de abajo hacia arriba. Se descubrió que este es el mejor flujo de proceso, ya que las personas de mayor rango pueden concentrarse en supervisar y administrar el proyecto, mientras que los desarrolladores pueden concentrarse en su trabajo mientras siguen los parámetros y los límites establecidos por la alta gerencia.
Debido a este modelo de gestión de arriba hacia abajo, se espera que el equipo de desarrollo produzca resultados concretos y medibles. Deben poder mostrar su trabajo, no solo en código, sino tener algo que realmente funcione según lo previsto. Esto luego se pone bajo el timbre a través de Test Driven Development (TDD), un proceso que juega un papel importante en el desarrollo ágil.
Implemente la entrega continua primero
Básicamente, sigue viniendo. Esto asegura que el desarrollo se logre a un ritmo constante y que los desarrolladores reciban comentarios temprano y con frecuencia. La comunicación constante y la retroalimentación son de lo que se trata el desarrollo ágil, lo que permite que el equipo se adapte a cambios repentinos y circunstancias inesperadas cuando sea necesario. Aquí es donde entran las "construcciones".
Una compilación es básicamente una versión utilizable del software que se está desarrollando. A través del concepto de Entrega continua (CD), debe haber una implementación frecuente de compilaciones sucesivas, cada una lanzada después de realizar mejoras y correcciones extraídas de los comentarios sobre la compilación anterior.
Obtenga patrocinio para la alta dirección
Si bien el desarrollo ágil adopta un enfoque de arriba hacia abajo, puede llevar mucho tiempo esperar la aprobación de la alta dirección antes de implementar o cambiar algo.
Cuando se hace mal, esto podría resultar en una gran cantidad de tiempo perdido esperando que se otorgue el permiso. Una buena solución es tener un vocero que pueda llevar esa inquietud del desarrollador a la autoridad más rápido, preferiblemente alguien que sea bueno para presentar ideas y pueda entender lo que se le pide.
Avanzando hacia ciclos más cortos de desarrollo y prueba
El infierno del desarrollo impregna muchos programas, incluidos los más importantes. También hay momentos en que los largos ciclos de desarrollo dan como resultado funciones que finalmente son rechazadas por los usuarios, lo que hace que todo el ciclo sea una gran pérdida de tiempo y dinero que la empresa no podrá recuperar de inmediato. Una buena manera de mitigar estas amenazas es acortar los ciclos de desarrollo y prueba.
Dado que el desarrollo ágil se trata de hacer que las cosas funcionen lo más rápido posible, incluida la afluencia de comentarios, es importante tener ciclos de desarrollo más cortos para llegar al "producto mínimo viable". Esto les da a los usuarios algo en lo que hincar el diente y poder dar retroalimentación en consecuencia, que luego se puede abordar en la próxima compilación.
Lograr la automatización desde el primer día
También conocido como AD1, este es un objetivo elevado que definitivamente puede hacer que las cosas vayan más rápido si configura todo lo antes posible. De manera realista, es posible que pueda automatizar todo para el segundo o tercer año si es bueno, pero al menos debe seguir terminándolo el primer día siempre que sea posible.
Es un ahorro de tiempo, e incluso un salvavidas si lo piensas lo suficiente. Tener procesos simples hechos automáticos realmente puede ayudar a los desarrolladores y otros miembros a no tener que lidiar con trabajo innecesario.
Proporción efectiva del equipo
Como dice el dicho, “Demasiados cocineros echan a perder el caldo”. Si bien tener muy pocos miembros en un equipo puede dificultar el trabajo, tener demasiados puede ser igualmente malo. También es una gran pérdida para las finanzas tener demasiados en un proyecto, ya que hay que pagarlos. Por lo tanto, es fundamental tener en cuenta las necesidades del proyecto y del equipo en sí, así como el plazo establecido y muchos otros factores.
Planificar problemas abiertos
El equipo puede tratar de solucionar todos los problemas, pero siempre habrá algunos que se escapen y/o terminen siendo problemas abiertos. Esto se maneja trabajando en esos problemas abiertos en el siguiente ciclo de desarrollo.
Solicitar comentarios
Esto no se puede enfatizar lo suficiente: la retroalimentación es el elemento vital del desarrollo ágil. Son datos los que pueden ayudar a que el software evolucione, y tanto los desarrolladores como la alta gerencia deben prestar atención al menos a los más urgentes que son tanto para el presente como para el largo plazo.
Evaluación de su proceso
Aquí es donde entra la evolución del desarrollo, ya que no solo debe evaluar el software en el que se está trabajando, sino también su proceso de desarrollo. Hay tantas cosas que puede ajustar, pero tendrá que determinar cuáles son las que pueden producir los mejores resultados en un marco de tiempo determinado con el proyecto actual y también con los futuros.