Programación extrema en Agile: una guía práctica para los gerentes de proyectos yGestor de tareas UDN ns
Hemos recibido muchas peticiones de solicitudes sobre la programación extrema en la cascada, y que se podríabeneficiarse de ello como gerente de proyecto. En caso de que no supiera qué es la programación extrema, es una forma de marco ágil donde los PMS obtienen lo mejor de los recursos disponibles en un entorno de desarrollo de software.
La programación extrema (XP), un marco de desarrollo de software ágil, está diseñado específicamente para mejorar la calidad del software, el proceso de trabajo para el equipo de desarrollo y el aumento de la satisfacción del cliente.
Es un método ideado para un poco más suave y eficiente.Ciclo de vida del desarrollo de software (SDLC)Para sus proyectos, y se implementó por primera vez en un proyecto el 6 de marzo de 1996.
Programación extrema funciona para proporcionar lanzamientos de software iterativos y recurrentes en todo el proyecto; En lugar de todo, juntos después de un solo ciclo de vida de desarrollo de proyectos largo.
EstasCiclos iterativos cortosAyude a los miembros del equipo y los clientes a evaluar y revisar el progreso del proyecto a lo largo de su desarrollo.
XP incorpora los siguientes 5 valores:
El núcleo de XP es un conjunto interconectado de prácticas de desarrollo de software. Si bien es posible implementar estas prácticas de forma aislada, muchos equipos han encontrado que algunas prácticas refuerzan a los demás y deben hacerse junto con la conjunción. Esto puede permitir eliminar completamente los riesgos que a menudo enfrenta en el desarrollo de software.
Las doce prácticas originales para XP comprenden:
A lo largo de los años, los equipos han encontrado que algunas prácticas refuerzan a los demás. Para eliminar los riesgos, estos deben ser unificados. Las siguientes descripciones incluyen algunos de los refinamientos basados en las experiencias de varios equipos:
Todo el equipo: Los equipos deben comprender grupos multifuncionales de personas con diferentes habilidades. De esta manera, pueden complementarse mutuamente para lograr un resultado específico.
Sentarse juntos:La mayoría de las personas están de acuerdo en que las conversaciones de cara a cara son la mejor forma de comunicación. Los equipos deben sentarse juntos sin barreras a la comunicación, por ejemplo. Paredes de cubículo.
Espacio de trabajo informativo: Se deben organizar equipos para sentarse de una manera para que el trabajo del equipo sea transparente entre sí y las personas afiliadas fuera del equipo.
Trabajo energizado: Esto significa asegurarse de que una persona sea mentalmente y físicamente saludable para centrarse en el trabajo. Esto también implica que no debe haber equipos de trabajo excesivo y respeto para apoyar su salud mental y física.
También lee:
¿Cómo administrar un proyecto como un profesional en el entorno laboral actual?
Programación de pareja: La idea detrás de esta práctica es que 2 cerebros son mejores que uno. La programación de pares se refiere a la producción de software a través de 2 personas sentadas en la misma máquina. Por esto, hay una revisión de trabajo continuo y los problemas reciben una respuesta más rápida. Se ha demostrado que este método mejora la calidad y manténgase más enfocado.
Cuentos: Las historias definen las características que el producto debería tener que sería significativo para los clientes y usuarios. Estas historias se utilizan para la planificación y también sirven como recordatorios para conversaciones adicionales.
Ciclo semanal: El primer día de cada semana, el equipo se reúne para reflexionar sobre el progreso hasta la fecha. Las historias que deben entregarse en la semana son seleccionadas por el cliente. El equipo determina cómo abordar esas historias. El objetivo detrás de esto es lograr una característica de funcionamiento y verificable para el final de la semana. El período fijo permite la producción de una característica que se puede mostrar al cliente para comentarios.
Ciclo trimestral:El propósito del ciclo trimestral es verificar el trabajo detallado de cada ciclo semanal en el contexto del proyecto general. El cliente proporciona el plan general para el equipo dentro de un trimestre en particular. Esto no solo le da al equipo una visión del proyecto, sino que también ayuda al cliente a trabajar con otras partes interesadas involucradas.
Flojo: Esto implica agregar algunas tareas o historias de baja prioridad en los ciclos semanales y trimestrales. Si el equipo se está retrasando en tareas más importantes, estas pueden ser eliminadas. De lo contrario, estos también se completarán, lo que aumentará las posibilidades de cumplir con los horarios estimados.
Construcción de diez minutos: Todo el sistema y todas las pruebas deben ejecutarse dentro de los 10 minutos. Si el tiempo excede este límite, las repeticiones múltiples costarán períodos más grandes entre errores. Esta práctica fomenta la automatización del proceso de construcción, lo que la hace factible regularmente, para ejecutar todas sus pruebas.
Integración continua:Esta práctica fomenta las pruebas inmediatas del nuevo código a la base de código más grande existente. Esto ayuda a capturar y arreglar problemas de integración antes. Esta práctica requiere disciplina y depende de las prácticas de diez minutos de construir y probar el primer desarrollo.
Prueba-Primera programación: En lugar de seguir la forma regular, es decir,
Desarrollar código - & gt; Pruebas de escritura - & gt; Ejecutar pruebas
La práctica de la prueba de prueba de prueba toma el camino de:
Escribir prueba automatizada fallada - & gt; Ejecutar la prueba fallida - & gt; Desarrollar código para hacer que Pass Test-& GT; Ejecutar la prueba - & gt; Repetir
Esta práctica, también, reduce el ciclo de retroalimentación para la identificación y resolución de emisión. Esto resulta en una reducción en el número de errores que se introducen en producción.
Diseño incremental: Esta práctica retrata con una cierta cantidad de trabajo por adelantado para comprender la perspectiva de la amplitud del diseño del sistema. Después de eso, trabaje más en los detalles de un aspecto particular del diseño cuando se entregan características específicas. Este enfoque reduce el costo de los cambios y le permite tomar decisiones de diseño cuando sea necesario en función de la información más actual disponible.
XP incorporó prácticas particulares para que su equipo siga y no establece roles específicos para los miembros del equipo. Sin embargo, de acuerdo con el requisito, los 4 roles más comunes son:
El cliente:Se espera que el cliente XP participe activamente en el proyecto. El cliente hace todas las decisiones comerciales con respecto al proyecto, tales como:
El desarrollador: Los desarrolladores realizan las historias identificadas por el cliente, lo que significa entregar un proyecto con características decididas.
El rastreador: El rastreador es un papel opcional y depende si el equipo requiere uno. Esto es llevado a cabo por uno de los desarrolladores para realizar un seguimiento de lo relevante.métricas ágiles, y es Para la evaluación de progreso e identificación de áreas clave de mejora. Esto es importante para el seguimiento de progreso e identificación de áreas clave para mejorar. Algunas de estas métricas pueden incluir la cantidad de tiempo trabajada, la cantidad de horas extras, las pruebas de paso y la falla, la velocidad y las razones de las variaciones a la velocidad.
El entrenador: Este rol es útil, especialmente si el equipo está iniciando. El entrenador puede ser un consultor externo que haya utilizado XP antes y puede ayudar a superar al equipo a las prácticas de XP, así como a la autodisciplina. Emplear al entrenador ayuda a evitar los errores potenciales que pueden hacer nuevos equipos, que aceleran el proyecto.
El ciclo de vida XP se puede explicar sobre el ciclo semanal y el ciclo trimestral.
Para empezar, el cliente define el conjunto de historias. El equipo estima el tamaño de cada historia, que junto con un beneficio relativo, según lo estimado por el cliente, indica el valor relativo que se usa para priorizar las historias.
En caso de que los equipos no pueden estimar algunas historias debido a las consideraciones técnicas poco claras involucradas, pueden introducir una espiga. Los púas se denominan marcos de tiempo cortos y cortos para la investigación y pueden ocurrir antes de que comiencen las iteraciones regulares o, junto con las iteraciones continuas.
Luego viene el plan de liberación: el plan de liberación cubre las historias que se entregarán en un trimestre o liberación en particular.
En este punto, comienzan los ciclos semanales. El inicio de cada ciclo semanal involucra al equipo y la reunión del cliente para decidir el conjunto de historias que se realizarán esa semana. Esas historias se dividen en las tareas que se deben completar dentro de esa semana.
Los fines de semana con una revisión del progreso hasta la fecha entre el equipo y el cliente. Esto lleva a la decisión si el proyecto debe continuar o si se ha entregado suficiente valor.
XP para el sistema KRIZP
La solución KRIZP fue una empresa de desarrollo basada en la web en la India. Su plan de negocios abarcó la creación de portales web para otras pequeñas empresas o instituciones educativas. La compañía comenzó como un negocio a tiempo parcial, empleando a personas que ya estaban trabajando para otras organizaciones importantes de TI. El plan era continuar a tiempo completo solo si la puesta en marcha se aventuraba en un éxito. No hubo un marco para sus procesos de desarrollo de software, ya que era solo una empresa de inicio con muchos proyectos y algunos empleados.
La compañía carecía de un enfoque estructurado para el desarrollo de software. Con los requisitos iniciales se anotan en el papel, se recibieron más información y aclaraciones de la información a través de llamadas telefónicas. Por lo general, los principales cambios en los requisitos no se producían hasta la revisión del cliente, que fue después de que se desarrolló la solución.
Aparte de paracorrección de erroresLos desarrolladores tenían poca o ninguna comunicación entre sí. Trabajaron por separado en diferentes características. Esto llevó a convertirse en una barrera para discusiones sobre la mejora en los métodos de trabajo.
Además, los proyectos no fueron documentados. No hubo gerente de proyecto para rastrear los proyectos o asegurarse de que los requisitos establecidos por el cliente se estaban cumpliendo. Los desarrolladores trabajaron solo en lo que se pidió que se hiciera.
El equipo en el sistema KrizP fue introducido a los conceptos detrás de los diferentes marcos ágiles. El método XP se empleó durante un período de un mes y se evaluaron los resultados.
El CEO de la compañía asumió 2 roles: el representante del cliente y el rastreador. Para su primer rol, priorizó las historias de usuarios, delegandoellos al equipo de desarrollo, y tuvo comunicación regular con el cliente. Como el rastreador, siguió un seguimiento del tiempo para completar tareas específicas. El CEO también inició el juego de planificación cada semana (o al menos una vez en cuatro días), ya que el proyecto era pequeño y los desarrolladores podrían completar las tareas en una historia de usuario más rápida. Sin embargo, el cliente estaba disponible para la comunicación directa solo dos veces al mes y el resto del tiempo estaba en contacto a través de llamadas telefónicas y correo electrónico.
Se adoptó la técnica de programación pareada por la cual ambos desarrolladores trabajaron juntos. Después de la finalización de la tarea, ambos desarrolladores revisaron el código con el CEO.
Se introdujeron las pruebas de los clientes y el equipo trabajó en mejoras continuas de diseño, que fueron aproximadamente 12-15 por mes.
Resumen
El enfoque XP parecía tener un buen impacto en el ciclo de desarrollo de software para la empresa. Algunos de los cambios positivos incluían:
Para evaluar lo prácticoAplicaciones de cascada.vs. Programación extrema, se realizó un estudio de investigación a través de 2 estudios de caso: uno en IBM y el otro en Saber Airlines. Cada estudio de caso comparó el enfoque de cascada del enfoque XP.
En el primer estudio de caso, en IBM, los investigadores querían estudiar el impacto de adoptar el enfoque XP sobre la productividad, la calidad y la satisfacción del cliente. Se realizó un estudio de un año en un equipo de 7 a 11 miembros sobre la adopción de las prácticas de XP. El equipo fue responsable de desarrollar aplicaciones de Servlet / XML para un kit de herramientas utilizado por otros equipos de IBM para crear productos para clientes externos. El estudio de caso analizó 2 enfoques en lanzamientos consecutivos del mismo producto. El primero fue el enfoque de cascada tradicional y el segundo fue XP.
En el segundo estudio de caso, en Saber Airline Solutions, se utilizó el mismo método, es decir, comparando 2 enfoques a través de diferentes lanzamientos del mismo producto. El equipo trabajó en el desarrollo de un entorno gui de escritura para clientes externos para desarrollar un usuario final y una aplicación empresarial personalizada. El equipo compuesto por 6-10 miembros. El antiguo lanzamiento se terminó 3 años antes (cayendo 18 meses) utilizando el método de cascada, mientras que la nueva versión se completó recientemente (que abarca 3.5 meses), utilizando XP.
El primer paso fue establecer un marco de evaluación de programación extrema (XP-EF), que comprendía tres partes: Factores de contexto XP (XP-CF), Métricas de adherencia XP (XP-AM) y medidas de resultado de XP (XP-OM):
Además del marco, las entrevistas se realizaron con miembros del equipo y clientes para ayudar a comprender la incorporación de XP por el equipo para la satisfacción del cliente.
Resumen
En IBM, el método XP parecía más productivo en comparación con el método de cascada por las siguientes medidas:
En Saber Airlines, se notaron resultados similares:
Uso de la caja 1:
Planteamiento del problema:El sitio web de la compañía necesita ser rediseñado.
Actores: Cliente, Desarrolladores, Tracker
Usando XP:
Uso de la caja 2:
Declaración de problemas: un cliente requiere que se desarrolle un juego desde cero.
Actores: Cliente, Desarrolladores, Tracker
Flujo regular de eventos:
Usando xp :
Gestor de tareas UDNes un sistema de gestión de tareas que apoya elMétodo ágildel marco de programación extrema. Es una aplicación de gestión de tareas en línea diseñada específicamente para el trabajo en equipo y la entrega de proyectos. Independientemente de la industria,Gestor de tareas UDNFacilita la metodología XP y contribuye a la planificación efectiva del proyecto y la alineación de procesos.
Las siguientes son algunas de las formas.Gestor de tareas UDNPuede ayudarlo a planificar y alcanzar mejor los objetivos de su proyecto, todos dentro del marco XP.
Programación de la reunión
Puede programar su reunión, reunión semanal, así como reuniones trimestrales de antemano. Se puede especificar la agenda y los tiempos de las reuniones. Puede definir un tiempo fijo para la reunión o enviar un momento sugerido para el equipo, para finalizarse después de la respuesta al equipo.
Esta aplicación también le permite anotar todos los puntos importantes discutidos en una reunión. Los minutos pueden ser revisados y publicados por el resto del equipo.
Asignación de equipo
Puede organizar su equipo y los roles que realizarán a través de la sección de asignación del equipo. Puede definir fácilmente los roles para los desarrolladores, los rastreadores y el cliente.
Creación de proyectos
El cliente puede crear el proyecto y especificar los requisitos. El cliente también puede definir el presupuesto y la línea de tiempo.
Creación de tareas y asignación
El cliente puede crear historias creando tareas dentro del proyecto. Las tareas comprenderán una lista de actividades para completar bajo una historia. Estas historias pueden ser asignadas a los programadores.
Si las historias se completan antes de tiempo por parte de algunos de los miembros del equipo, el cliente puede asignarles las tareas "holguras" I.E. Tareas de prioridad más bajas dentro de la línea de tiempo restante. Esto ahorra tiempo trabajando más rápido hacia la finalización del proyecto.
Ver también:
IntroducciónGestor de tareas UDN2.0 - Nuestra actualización más esperada aún
Flujo de proyectos
El gerente de proyecto o el rastreador pueden ayudar a realizar un seguimiento del flujo del proyecto a través del módulo de la hoja de tiempo. Este módulo permite un monitoreo y evaluación efectivos del progreso del proyecto. Ayuda a evaluar individualmente la línea de tiempo para diferentes tareas también y los hitos alcanzados o pendientes.
Fácil colaboración
A veces no es posible mantener reuniones cara a cara, por ejemplo. Cuando un cierto equipo está trabajando en otro sitio. En tales casos, las actualizaciones automáticas de proyectos, tareas y reuniones pueden garantizar la colaboración y la discusión oportunas y efectivas del equipo. Esto evita que se desperdicie el tiempo en la disposición manual del proyecto y el seguimiento de la tarea, comunicando la reunión de minutos o la actualización del proyecto.
Los comentarios en tiempo real proporcionan una manera fácil de comunicarse con el equipo. Ya sea que sea el intercambio de información o nuevas ideas, esto facilita que el equipo se mantenga en la misma página.
Las tareas interdependientes se resaltan y cada miembro del equipo puede verificar las actualizaciones instantáneamente lo actualizadas por los otros miembros del equipo. Esto mantiene al equipo actualizado sobre las situaciones cambiantes y en la planificación de la siguiente tarea, en consecuencia.
Además, el cliente puede colaborar directamente con el equipo y actualizar cualquier cambio en los requisitos.
Transparencia
Gestor de tareas UDNDa una visión transparente de todos los proyectos y las tareas correspondientes y las sub-tareas a través de su Tarkboard. Cualquier proyecto creado o modificado se comunica al equipo, inmediatamente. No hay necesidad de volver a comprobar actualizaciones de progreso, reuniones de invitaciones o informes de proyectos.
Las tareas actualizadas, modificadas o eliminadas de allanamiento para que todo el equipo sea plenamente consciente y sepa exactamente lo que se está logrando cuando.
Con su opción de filtro, puede elegir ver las actualizaciones para proyectos seleccionados según la prioridad o la tarea en cuestión. Con la opción Estado, el estado de la tarea seleccionada se puede ver si ha comenzado o no, completado o en progreso.
Conclusión
Este escrito detalla cómo puede beneficiarse de XP como un trabajador ágil. Además,Gestor de tareas UDNSe crea para realizar tales requisitos dentro del dominio de la programación extrema y las técnicas de cascada. Por lo tanto, dale una lectura y no olvide compartir sus pensamientos a través de la sección de comentarios a continuación. Alternativamente, puedes enviarnos un correo electrónico a .