Ciencia de datos ágil - Conceptos metodológicos

En este capítulo, nos centraremos en los conceptos del ciclo de vida de desarrollo de software llamado "ágil". La metodología de desarrollo de software ágil ayuda a construir un software a través de sesiones incrementales 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 los clientes

La máxima prioridad se otorga a los clientes que se centran en los requisitos a través de la entrega temprana y continua de software valioso.

Acogiendo con beneplácito los nuevos cambios

Los cambios son aceptables durante el desarrollo de software. Los procesos ágiles están diseñados para funcionar con el fin de igualar la ventaja competitiva del cliente.

Entrega

La entrega de un software en funcionamiento se entrega a los clientes en un lapso de una a cuatro semanas.

Colaboración

Los analistas de negocios, analistas de calidad y desarrolladores deben trabajar juntos durante todo el ciclo de vida del proyecto.

Motivación

Los proyectos deben diseñarse con un clan de individuos motivados. 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 efectivo para enviar información a un equipo de desarrollo y dentro de él.

Medir el progreso

Medir el progreso es la clave que ayuda a definir el progreso del proyecto y el desarrollo de software.

Mantener un ritmo constante.

El proceso ágil se centra en el desarrollo sostenible. La empresa, los desarrolladores y los usuarios deberían 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 ser autoorganizado y debe ser independiente con la mejor arquitectura; Los requisitos y diseños surgen de equipos autoorganizados.

Revisar el trabajo

Es importante revisar el trabajo a intervalos regulares para que el equipo pueda reflexionar sobre cómo progresa el trabajo. Revisar el módulo de manera oportuna mejorará el rendimiento.

Stand-up diario

El stand-up diario se refiere a la reunión de estado diaria entre los miembros del equipo. Proporciona actualizaciones relacionadas con el desarrollo de software. También se refiere a abordar los obstáculos del desarrollo del proyecto.

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.

  • El stand-up debe incluir discusiones sobre la actualización de 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 simple y debe completarse dentro de 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.

  • Se deben definir todos los casos de prueba de aceptación.

  • Aceptación del propietario del producto al definir la historia.

Modelo ágil de Scrum

¿Qué es el 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 orden consistente. 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 distintivo en comparación con otras metodologías de enfoque ágil tradicional. Se divide en las siguientes tres categorías:

  • Roles

  • Artefactos

  • 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

  • Equipo

Los artefactos Scrum proporcionan información clave que cada miembro debe tener en cuenta. 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

  • Backlog de Sprint

  • Cuadro de incendio

  • Incremento

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 Scrum. La cartera 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 se debe abordar.

¿Por qué Scrum Master?

Scrum Master interactúa con cada miembro del equipo. Veamos ahora la interacción del Scrum Master con otros equipos y recursos.

Dueño del producto

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 los elementos de la cartera de pedidos de productos claros y concisos.

  • Planificación de productos con entorno específico.

  • Asegurarse de que el propietario del producto sepa cómo aumentar el valor del producto.

  • Facilitar los eventos de Scrum cuando sea necesario.

Equipo Scrum

El Scrum Master interactúa con el equipo de varias maneras:

  • Coaching de la organización en su adopción Scrum.

  • Planificación de implementaciones de Scrum para la organización específica.

  • Ayudar a los empleados y 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 maneras. 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.

  • Entrenando a la organización y a los equipos en aquellas áreas donde Scrum aún no se ha adoptado completamente o no se ha aceptado.

Beneficios de Scrum

Scrum ayuda a los clientes, miembros del equipo y partes interesadas a colaborar. Incluye un enfoque de tiempo y comentarios continuos del propietario del producto para garantizar que el producto esté en condiciones de funcionamiento. Scrum proporciona beneficios a los diferentes roles del proyecto.

Cliente

Los sprints o las iteraciones se consideran de menor duración y las historias de los usuarios se diseñan según la prioridad y se toman en cuenta en la planificación del sprint. Asegura que cada entrega de sprint, los requisitos del cliente se cumplan. Si no, los requisitos se anotan y se planifican y se toman para el sprint.

Organización

La organización con la ayuda de Scrum y los maestros de Scrum puede centrarse en los esfuerzos necesarios para el desarrollo de historias de usuarios, reduciendo así la sobrecarga de trabajo y evitando la repetición del trabajo, si corresponde. 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 responsabilidad principal 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 hay. Los gerentes de producto también verifican que el producto diseñado esté alineado según los requisitos del cliente en cada sprint.

Equipo de desarrollo

Con una naturaleza de tiempo limitado y manteniendo sprints por 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 prioridad para el cliente agregando más valor a la iteración.

Conclusión

Scrum es un marco eficiente dentro del cual puede desarrollar software en el trabajo en equipo. Está completamente diseñado sobre principios ágiles. ScrumMaster está ahí para ayudar y cooperar con el equipo de Scrum de todas las formas posibles. Actúa como un entrenador personal que lo ayuda a cumplir 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 debe ser potencialmente capaz de manejar cada situación.