¿Los equipos de entrega ágiles hacen documentación?

Diría que el comentario de su BA tiene una interpretación propia de lo que consideran “ágil” dentro de su equipo. Estoy empezando a no gustarme la palabra, ya que se ha tratado sobre todo en estos días (y Lean es el siguiente, hmm, tal vez volveremos a lo rápido o algo diferente como ágil o ágil). Creo que tienen un argumento válido de que las responsabilidades deben compartirse, pero si hay personas que tienen acceso exclusivo al cliente y, como desarrollador, está luchando por descubrir qué construir, entonces tiene un gran conjunto en su comunicación práctica

Si visita el Manifiesto Ágil http://agilemanifesto.org/ verá lo que realmente dice.

Estamos descubriendo mejores formas de desarrollar software haciéndolo y ayudando a otros a hacerlo.

A través de este trabajo hemos llegado a valorar:

  • Individuos e interacciones sobre procesos y herramientas
  • Software de trabajo sobre documentación completa
  • Colaboración del cliente sobre negociación de contrato
  • Responde al cambio sobre el siguiente plan

Es decir, si bien hay valor en los elementos de la derecha, valoramos más los elementos de la izquierda.

La mayoría de las empresas usan esto como una filosofía y como un conjunto de principios rectores, pero las técnicas de gestión de proyectos se han modelado a sí mismas como SCRUM, Atern, DAD, etc. Esto se debe principalmente a que tienen algunas limitaciones en el mundo físico como el dinero, el tiempo, etc. .

Como un sabio maestro dijo una vez:

“Muchas de las verdades a las que nos aferramos dependen de nuestro punto de vista”.

– Yoda

Martin tiene razón. No hay una forma prescriptiva de hacer Agile … tienes que hacer lo que tiene sentido y Agile está destinado a adaptarse para adaptarse a la situación. La documentación no debe ser un fin en sí mismo, sino que debe usarse de manera inteligente donde agrega valor.

Pensar que las pruebas unitarias son documentación suficiente probablemente indica un malentendido de lo que es una prueba unitaria. Las pruebas unitarias están en un nivel muy bajo y la funcionalidad de prueba dentro del código que a menudo ni siquiera es visible para un observador externo que está más interesado en la funcionalidad externa que proporciona el software. Tampoco proporciona una base suficiente para probar la funcionalidad externa que proporciona el software para determinar si realmente está haciendo lo que se supone que debe hacer.

Una forma simple de documentación en Agile es escribir historias de usuarios para describir la funcionalidad del software; y, si es necesario, agregue criterios de prueba de aceptación a las historias de los usuarios para ser más específicos sobre la funcionalidad que el software debe proporcionar. Esas pruebas de aceptación se pueden agregar a un conjunto de casos de prueba para que se ejecuten periódicamente a medida que se continúa desarrollando el software. La funcionalidad del software cambia continuamente en Agile a medida que se agregan nuevas funciones y una buena práctica es ejecutar una prueba de regresión automática a medida que se agregan nuevas funciones para garantizar que la nueva funcionalidad no haya roto accidentalmente algo que se agregó anteriormente. Las pruebas unitarias no son efectivas para hacer eso, eso requiere pruebas funcionales.

Puede argumentar que un conjunto de pruebas funcionales automatizadas puede reemplazar la documentación, pero eso depende de la situación.

Chuck Cobb
Autor de “La guía del administrador de proyectos para dominar Agile”
Echa un vistazo a: Agile Project Management Academy ( http: // agileprojectmanagementaca …)

Sí, si ayuda al equipo o los documentos son parte de la entrega. El equipo debe evitar documentos que no ayuden o que no sean parte de la entrega. Es mejor revisar durante la retrospectiva lo que todos los documentos pueden agregar valores.

More Interesting

¿Qué es la mantenibilidad en ingeniería de software?

¿El desarrollo ágil considera la necesidad de mantener características?

¿Debo aceptar una oferta de pasantía de verano de Zynga?

Para convertirse en un experto en seguridad de la información, ¿qué debe hacer un desarrollador de software con experiencia de 6 años?

¿Cuáles son las mejores herramientas para el desarrollo de realidad aumentada?

¿Cuál crees que es mejor, desarrollo web, desarrollo de software o desarrollo móvil?

¿Qué computadora portátil usan los programadores para trabajar y cuánto cuesta?

¿Cuáles son las mejores prácticas al depurar aplicaciones móviles?

¿Por qué veo los desarrollos de software tan fácilmente, mientras que la mayoría de los demás no? Por ejemplo, ¿veo el lenguaje de programación como una herramienta que puedo cambiar en cualquier momento, o construyendo software buscando referencias y construyéndolo como un rompecabezas 'enchufar cosas'?

¿Cuáles son los algoritmos que todo profesional de software debe practicar para descifrar entrevistas de codificación?

¿Cómo es pasar a la gestión corporativa después de una carrera en ingeniería de software?

¿Debo dejar mi trabajo para hacer un MBA? ¿Proporcionará un MBA un beneficio en comparación con el salario que ganaría trabajando durante la misma duración?

¿Cómo es trabajar como ingeniero de software en Tesla Motors?

Ingeniero mecánico pasando por un cambio de carrera en Ingeniería de software (aplicando a Hack Reactor y MakerSquare). ¿Qué tan crítico es tener un título en Ciencias de la Computación al solicitar / entrevistar para puestos de Ingeniería de Software DESPUÉS de completar uno de estos programas?

¿La ingeniería de software es una disciplina de ingeniería o no?