Ciencia de datos ágiles: conceptos de metodología
En este capítulo, nos centraremos en los conceptos del ciclo de vida del desarrollo de software denominados “ágiles”. La metodología de desarrollo de software ágil ayuda a construir un software a través de sesiones de incremento en iteraciones cortas de 1 a 4 semanas para que el desarrollo esté alineado con los requisitos comerciales cambiantes.
Hay 12 principios que describen la metodología Agile en detalle:
Satisfacción de clientes
Se da la máxima prioridad a los clientes que se centran en los requisitos mediante la entrega temprana y continua de software valioso.
Acogiendo con satisfacción nuevos cambios
Los cambios son aceptables durante el desarrollo del software. Los procesos ágiles están diseñados para funcionar a fin de igualar la ventaja competitiva del cliente.
Entrega
La entrega de un software funcional se da a los clientes en un lapso de una a cuatro semanas.
Colaboración
Los analistas de negocios, los analistas de calidad y los desarrolladores deben trabajar juntos durante todo el ciclo de vida del proyecto.
Motivación
Los proyectos deben diseñarse con un clan de personas motivadas. Proporciona un entorno para apoyar a los miembros individuales del equipo.
Conversación personal
La conversación cara a cara es el método más eficiente y eficaz de enviar información hacia y dentro de un equipo de desarrollo.
Medir el progreso
Medir el progreso es la clave que ayuda a definir el progreso del desarrollo de proyectos y software.
Manteniendo un ritmo constante
El proceso ágil se centra en el desarrollo sostenible. La empresa, los desarrolladores y los usuarios deben poder mantener un ritmo constante con el proyecto.
Supervisión
Es obligatorio mantener una atención regular a la excelencia técnica y al buen diseño para mejorar la funcionalidad ágil.
Sencillez
El proceso ágil mantiene todo simple y usa términos simples para medir el trabajo que no se completa.
Términos autoorganizados
Un equipo ágil debe autoorganizarse y debe ser independiente con la mejor arquitectura; los requisitos y diseños surgen de equipos autoorganizados.
Revisa el trabajo
Es importante revisar el trabajo a intervalos regulares para que el equipo pueda reflexionar sobre cómo avanza el trabajo. La revisión del módulo de manera oportuna mejorará el desempeño.
Stand-up diario
El stand-up diario se refiere a la reunión diaria de estado entre los miembros del equipo. Proporciona actualizaciones relacionadas con el desarrollo de software. También se refiere a abordar los obstáculos del desarrollo de proyectos.
El stand up diario es una práctica obligatoria, sin importar cómo se establezca un equipo ágil, independientemente de la ubicación de su oficina.
La lista de características de un stand-up diario es la siguiente:
La duración de la reunión diaria de pie debe ser de aproximadamente 15 minutos. No debe extenderse por más tiempo.
Stand-up debe incluir discusiones sobre la actualización del estado.
Los participantes de esta reunión generalmente se ponen de pie con la intención de terminar reuniéndose rápidamente.
Historia del usuario
Una historia suele ser un requisito, que se formula en pocas oraciones en un lenguaje sencillo y debe completarse en una iteración. Una historia de usuario debe incluir las siguientes características:
Todo el código relacionado debe tener registros relacionados.
Los casos de prueba unitaria para la iteración especificada.
Deben definirse todos los casos de prueba de aceptación.
Aceptación del propietario del producto al definir la historia.
¿Qué es Scrum?
Scrum puede considerarse como un subconjunto de metodología ágil. Es un proceso ligero e incluye las siguientes características:
Es un marco de proceso, que incluye un conjunto de prácticas que deben seguirse en un orden coherente. La mejor ilustración de Scrum es seguir iteraciones o sprints.
Es un proceso "ligero", lo que significa que el proceso se mantiene lo más pequeño posible, para maximizar el rendimiento productivo en la duración especificada.
El proceso Scrum es conocido por su proceso diferenciador en comparación con otras metodologías de enfoque ágil tradicional. Se divide en las siguientes tres categorías:
Roles
Artifacts
Cajas de tiempo
Los roles definen a los miembros del equipo y sus roles incluidos a lo largo del proceso. El equipo Scrum consta de los siguientes tres roles:
Scrum Master
Dueño del producto
Team
Los artefactos Scrum proporcionan información clave que cada miembro debe conocer. La información incluye detalles del producto, actividades planificadas y actividades completadas. Los artefactos definidos en el marco de Scrum son los siguientes:
Pila de Producto
Cartera de Sprint
Cuadro de incendio
Increment
Los cuadros de tiempo son las historias de usuario que se planifican para cada iteración. Estas historias de usuario ayudan a describir las características del producto que forman parte de los artefactos de Scrum. La acumulación de productos es una lista de historias de usuarios. Estas historias de usuarios se priorizan y se envían a las reuniones de usuarios para decidir cuál debe abordarse.
¿Por qué Scrum Master?
Scrum Master interactúa con todos los miembros del equipo. Veamos ahora la interacción del Scrum Master con otros equipos y recursos.
Dueño del producto
El Scrum Master interactúa con el propietario del producto de las siguientes maneras:
Encontrar técnicas para lograr una cartera de productos efectiva de historias de usuarios y administrarlas.
Ayudar al equipo a comprender las necesidades de elementos de la cartera de productos de productos claros y concisos.
Planificación de producto con entorno específico.
Asegurarse de que el propietario del producto sepa cómo aumentar el valor del producto.
Facilitar eventos de Scrum cuando sea necesario.
Equipo Scrum
El Scrum Master interactúa con el equipo de varias formas:
Coaching a la organización en su adopción de Scrum.
Planificación de implementaciones de Scrum para la organización específica.
Ayudar a los empleados y las partes interesadas a comprender los requisitos y las fases del desarrollo del producto.
Trabajar con Scrum Masters de otros equipos para aumentar la efectividad de la aplicación de Scrum del equipo especificado.
Organización
El Scrum Master interactúa con la organización de varias formas. Algunos se mencionan a continuación:
El equipo de coaching y scrum interactúa con la autoorganización e incluye una característica de funcionalidad cruzada.
Coaching de la organización y los equipos en áreas donde Scrum aún no se ha adoptado por completo o no se ha aceptado.
Beneficios de Scrum
Scrum ayuda a los clientes, miembros del equipo y partes interesadas a colaborar. Incluye un enfoque temporal y comentarios continuos del propietario del producto, lo que garantiza que el producto esté en condiciones de funcionamiento. Scrum proporciona beneficios a diferentes roles del proyecto.
Cliente
Los sprints o iteraciones se consideran para una duración más corta y las historias de usuario se diseñan según la prioridad y se toman en la planificación del sprint. Garantiza que se cumplan los requisitos del cliente en cada entrega de sprint. De lo contrario, se anotan los requisitos y se planifican y se toman para el sprint.
Organización
La organización con la ayuda de Scrum y Scrum masters puede centrarse en los esfuerzos necesarios para el desarrollo de historias de usuario, reduciendo así la sobrecarga de trabajo y evitando reelaboraciones, si las hubiera. Esto también ayuda a mantener una mayor eficiencia del equipo de desarrollo y la satisfacción del cliente. Este enfoque también ayuda a aumentar el potencial del mercado.
Gerentes de producto
La principal responsabilidad de los gerentes de producto es garantizar que se mantenga la calidad del producto. Con la ayuda de Scrum Masters, es fácil facilitar el trabajo, recopilar respuestas rápidas y absorber los cambios, si los hubiera. Los gerentes de producto también verifican que el producto diseñado esté alineado con los requisitos del cliente en cada sprint.
Equipo de desarrollo
Con la naturaleza encuadrada en el tiempo y manteniendo los sprints durante un período de tiempo menor, el equipo de desarrollo se entusiasma al ver que el trabajo se refleja y se entrega correctamente. El producto de trabajo incrementa cada nivel después de cada iteración o más bien podemos llamarlos como "sprint". Las historias de usuario que están diseñadas para cada sprint se convierten en la prioridad del cliente y agregan más valor a la iteración.
Conclusión
Scrum es un marco eficiente dentro del cual puede desarrollar software en equipo. Está completamente diseñado sobre principios ágiles. ScrumMaster está ahí para ayudar y cooperar con el equipo de Scrum en todas las formas posibles. Actúa como un entrenador personal que le ayuda a seguir con el plan diseñado y realizar todas las actividades según el plan. La autoridad de ScrumMaster nunca debe extenderse más allá del proceso. Él / ella debería ser potencialmente capaz de manejar todas las situaciones.