VSTS 2010
Herramientas de diseño ágil en Visual Studio Team System 2010
Ajoy Krishnamoorthy
Este artículo se basa en una versión preliminar de Visual Studio Team System (VSTS) 2010. Toda la información está sujeta a cambios.
En este artículo se describen:
|
En este artículo se utilizan las siguientes tecnologías: VSTS 2010, procesos VSTS for Agile Software Development 1.0 |
Contenido
Diseño long-Range
Versión y la planeación de iteración
Libros de Excel de VSTS 2010
Libro de trabajo acumulado de producto
Planeamiento de capacidad
Libro de trabajo acumulado para la iteración
es "planeación ágil" un oxímoron? Espero no lo piensa, pero en un grupo enfoque reciente que tuvieron lugar en Los Ángeles, uno de los asistentes indicado que su organización había movido de ser ágil adopción de prácticas más formales. Cuando quizzed aún más, dice que su equipo no puede realizar más una revisión de código basados en una solicitud verbal de su jefe y, a continuación, implementarlo inmediatamente al entorno de producción. Ahora tiene que seguir un procedimiento formal. Para su, esto significaba trasladar lejos de la que se va a ágil.
Sin embargo, su comprensión del desarrollo ágil es incorrecta, y soy congratula de que su organización instituido un proceso formal de cambio. Ágil es volador no sobre blind o se flexible por motivos de velocidad. En su lugar, es un enfoque disciplinado para planear y uno que factores en empírico de datos.
Visual Studio Team System (VSTS) 2010 presenta nuevas características y capacidades para ayudar a ágiles los equipos con la planificación. En este artículo introducirá en el trabajo acumulado de producto nueva y libros de trabajo acumulado de iteración y un conjunto de nuevos informes que ayudará a los equipos ágiles plan y administrar versiones y las iteraciones.
Diseño long-Range
La preocupación de no tener un plan long-range con precisión es una común y que se produce como una barrera de clave para la adopción. En el 2008 Estado de la encuesta de desarrollo ágiles , falta de diseño avanzados era la preocupación de número uno respecto a la adopción de prácticas ágiles en las organizaciones contestan. Para muchos, sospecha que falta de long-range, precisión planear se iguala a falta de planificación por completo. Los equipos ágiles optar por varios niveles de planeamiento con correcciones curso a través de un plan de estilo de waterfall y así rightly.
Steve McConnell, explicar su Software cálculo cono de incertidumbre , sugiere que estimaciones pronto en el proyecto puede incorrecto por medida 400 % con el error leaning hacia el lado alto: "principio de un proyecto, detalles específicos de la naturaleza del software que se va a crear, detalles de los requisitos específicos, los detalles de la solución, plan de proyecto, personal y otras variables del proyecto están poco claros. La variabilidad en estos factores contribuye variabilidad en las estimaciones de proyecto."
Por supuesto, ninguno de esto significa que la administración ejecutiva pasará con una estrategia de "no sabemos cuándo se realizará el proyecto y aspecto que tendrá cuando se termina." En lugar de ello lo que significa es un cambio en el enfoque para cómo ir los equipos acerca de la planeación de versiones y el ámbito del trabajo completado en las versiones.
Figura 1 de productos y iteración Backlog
Versión y la planeación de iteración
Para equipos ágiles, diseño se realiza en dos niveles distintos: planeación de versión y planeación de iteración. Planeamiento de versión es una actividad de planeamiento alto nivel que ayuda a los equipos ágiles Revise el conjunto amplio de características o artículos de usuario. Los elementos en el trabajo acumulado para la son, a continuación, pila ordenados, estimado y asigna a un conjunto de iteraciones. Tenga en cuenta que, en esta etapa, el cálculo se realiza mediante una unidad, como una camiseta tamaño (pequeña, media, grandes). La intención es en este momento obtener una magnitud grosso modo de costo para los diferentes elementos en el trabajo acumulado y no una cotización precisa. Esto también ayuda a la pila de cliente clasificar los requisitos con el tamaño aproximado en mente.
En Scrum, este conjunto de artículos de usuario se guarda en una lista denominada producto backlog (consulte la figura 1 ). El ámbito de trabajo pueden emprender en cada iteración depende en gran medida de velocidad del equipo. ¿Qué define una versión en gran medida depende cuando que tiene un conjunto credible de requisitos realizar según para los clientes. Por ejemplo, si tarda cuatro iteraciones para obtener el primer conjunto de características, a continuación, la primera versión se programará después de la iteración cuarta.
Plan de iteración es una actividad de planeamiento mucho más detallada y el tiene lugar antes al principio de cada iteración. Artículos de usuario de nivel superior desde el trabajo acumulado de producto se revisan y se dividen en para artículos de usuario más pequeños según corresponda. En este momento, el equipo está preparado para desglosar artículos de usuario en todos los artículos más pequeños y definir las tareas necesarias para completar un artículo de usuario. Estos artículos de usuario y las tareas asociadas a continuación, se estimado en horas. En este momento, el equipo puede conocer el alcance de una iteración.
Microsoft Office Excel es una herramienta que a menudo encontrará en el cuadro de herramientas del grupo ágil junto con fichas y las notas adhesivas. VSTS 2010 presenta dos libros de Excel nuevas para ayudar a los grupos ágiles a administrar el trabajo acumulado de producto y el trabajo acumulado para la iteración. Pero vamos a durar un rápido vistazo a la nueva plantilla de procesos ágiles con VSTS 2010 antes de saltar derecha en los libros.
Una plantilla de procesos de VSTS incluye tipos de elementos de trabajo, consultas, informes y orientación de texto. Los elementos de trabajo son las entidades claves aquí. Los elementos de trabajo pueden ser un artículo de usuario, una tarea, un error y así sucesivamente. Para empezar, configurar un proyecto de equipo en Team Foundation Server (TFS) y elija el proceso de VSTS de plantilla de v1.0 Agile Software Development el Asistente para nuevo proyecto de equipo. Esta plantilla incluye los tipos de elementos siguientes de trabajo:
- Tarea
- Historia de usuario
- Error
- Los problemas
- Casos de pruebas
Puede crear su propio tipo de elemento de trabajo o personalizar el propio elemento de trabajo determinado. Aprender más acerca de personalización de elemento de trabajo de artículo de diciembre de 2008 Brian Randell en uso y personalizar TFS procesar plantillas " Team System: agilizar proyectos de equipo con plantillas de procesos ."
Ahora vamos a profundizar en los libros de Excel y cómo estos elementos flujo a través del proceso de desarrollo de trabajo y ayudar a planear y administrar el flujo de valor.
Libros de Excel de VSTS 2010
En el documento titulado" Herramientas para la agilidad " Kent Beck habla sobre transiciones galore en los equipos ágiles y la necesidad de herramientas para realizar las transiciones en cuenta. Elemento ayudas de reducir la sobrecarga de transición de seguimiento de trabajo de la integración de libros de diseño basados en Excel con TFS. De mantener el trabajo acumulado de producto y el trabajo acumulado de iteración sincronizado a capturar automáticamente la actualización del estado de un artículo de usuario o un elemento de trabajo de tarea en el trabajo acumulado de iteración para generar la gran variedad de informes, muchas de las actividades mundanos se elimina o optimizados.
Aquí es un flujo sugerido que podría utilizar un equipo ágil para administrar el trabajo acumulado de producto y el trabajo acumulado de iteración con VSTS 2010:
- Crear un nuevo proyecto mediante la plantilla VSTS 2010 Agile.
- Crear el trabajo acumulado de producto agregando artículo de usuario a la hoja de trabajo acumulado del producto o agregando los elementos de trabajo desde dentro de Visual Studio.
- Iniciar la asignación de los elementos basándose en su jerarquía de pila en el trabajo acumulado producto para una iteración. De forma predeterminada, se crean iteraciones 0, 1 y 2. Puede crear iteraciones adicionales mediante la configuración de proyecto de equipo.
- Configurar consultas para extraer los artículos de usuario, tareas y otros elementos de iteraciones determinadas y se asignan los a hojas de trabajo acumulado de iteración correspondiente.
La integración entre estas hojas de cálculo y TFS se consigue mediante las consultas. la figura 2 muestra la configuración de la hoja de trabajo acumulado de producto. En la cinta de opciones de Excel, en la ficha grupo, en el grupo de elementos de trabajo, haga clic en Configurar la lista. Se abrirá el cuadro de diálogo Configurar propiedades de lista. En este cuadro de diálogo, puede elegir una consulta TFS y el resultado de esta consulta es lo que ve en la hoja de cálculo.
La Figura 2 la consulta en la hoja de cálculo de Excel
Las consultas se crean en el proyecto de equipo. De forma predeterminada, cuando haya configurado un proyecto de equipo, se crea una carpeta denominada trabajo Items\Team Queries\Workbook consultas. En esta carpeta, encontrará las consultas predeterminada para libros de trabajo acumulado de trabajo acumulado para y una iteración de producto.
Para hacerse una idea mejor del funcionan de los libros, echemos un vistazo a la aplicación de ejemplo de DinnerNow incluidas en el de 2008 octubre VSTS 2010 y .NET Framework 4.0 CTP. (Puede encontrar el Descargas CTP más recientes en el equipo de conjunto de aplicaciones de Centro de desarrolladores.) Tanto los producto trabajo acumulado para y una iteración trabajo acumulado para libros pueden encontrarse en la carpeta de documentos \DinnerNow\Documents\Shared en Team Explorer.
Libro de trabajo acumulado de producto
Trabajo acumulado de producto principalmente sirve como una lista de requisitos deseado por los clientes en una aplicación. Han oído términos como epics o los temas utilizados los equipos al hacer referencia al conjunto de requisitos altos nivel. Recopilar este conjunto de requisitos de una lista, asignar prioridades a ellos y estimación en una preguntas importantes de respuesta dos ayuda a alto nivel en esta etapa de la planificación de:
- ¿1.What son los requisitos de la aplicación?
- ¿2.How mucho se va a costo? Obviamente, la respuesta a esto se basa en las estimaciones. He visto los equipos utilizar puntos de artículo, los tamaños de camiseta o horas para estimar en esta etapa.
Responder a estas preguntas, los equipos pueden obtener un identificador buena en lo que la versión o versiones de algunas siguiente aspecto y se pueden programar esas versiones. Normalmente es una restricción presupuesto o programación, como una campaña de ad próximos, un requisito legal o actividad temporada. Esto ayuda a planear el ámbito de la versión que puede administrar el ámbito de la versión basada en la restricción.
Si no hay un conjunto de fecha objetivo para una versión, el ámbito de trabajo administra decidir los requisitos para incluir en las iteraciones dentro del marco de tiempo versión. Por ejemplo, si planes comienzan en diciembre y se establece la fecha de lanzamiento de junio, está esencialmente viendo con cuatro a cinco iteraciones (suponiendo que las iteraciones de un mes) a completar el trabajo.
Si no hay flexibilidad con la fecha de destino, el plan de lanzamiento dependerá de cuándo se puede completar un conjunto mínimo de los requisitos. Por ejemplo, si un mínimo conjunto de características necesarias pudiera completarse en tres iteraciones y después versión 1 se pudo establecer después de tres iteraciones. Si se pudo completar el siguiente conjunto de características en cinco o seis iteraciones, a continuación, versión 2 podría establecerse para ir después de dichas iteraciones cinco o seis.
la figura 3 muestra dicha hoja de trabajo acumulado de producto para el proyecto DinnerNow. Lo que está viendo es un trabajo acumulado de artículos de usuario. Varios de estos artículos de usuario ya se asignan a una determinada iteración y algunos de ellos ya se han completado en la iteración 0 y 1 de iteración. Obviamente, cuando se empiezan a un nuevo proyecto, se iniciará con un libro en blanco y empezar a crear estos artículos de usuario de nivel superior.
La figura 3 productos trabajo acumulado para la hoja
Las columnas en estas hojas de cálculo son los campos en el elemento de trabajo que, a su vez, obtener almacena en el almacén de datos TFS. La integración entre Excel y TFS agrega una cinta de opciones equipo de Excel (consulte la figura 4 ) que tiene elementos de menú para publicar los elementos en el trabajo acumulado en TFS, actualizar el trabajo acumulado con elementos de trabajo actualizado en TFS y mucho más.
La figura 4 ficha grupo en la cinta de opciones de Excel
Cada fila en el trabajo acumulado se almacena como un elemento de trabajo de TFS, tal como se muestra en la figura 5 . Con este tipo de integración, los integrantes del grupo que se utiliza Visual Studio ahora pueden actualizar el contenido de usuario y otros elementos de trabajo desde dentro de Visual Studio propio. Actualizar el estado de un artículo de usuario, la estimación y el trabajo restante, ahora se puede realizar sin tener que cambiar entre distintas herramientas.
La figura 5 el elemento de trabajo en TFS
Planeamiento de capacidad
Como parte de la versión de los equipos de planeación, ágiles pasará mucho tiempo en la hoja de cálculo agregar nuevos artículos de usuario, estimar estos artículos de usuario y, lo que es más importante, asignar prioridades a. Pero es igualmente importante vigilar en el estado de la versión. El libro de trabajo acumulado de producto incluye una hoja de cálculo para el planeamiento de capacidad. Esta hoja de cálculo le ayudará a obtener un identificador rápido de las iteraciones a sí mismos, basándose en los cálculos de Historias de usuario y la iteración en la que se asigna su trabajo.
El planeamiento de capacidad es una actividad importante en el diseño de versiones. Esto ayuda a comprender las características que pueden realizarse en las diversas iteraciones. El punto de datos clave en este cálculo es la velocidad. Velocidad es la cantidad de trabajo se completado por el equipo en una iteración. Si tiene datos de iteraciones anteriores, que es el mejor lugar para iniciar.
Figura 6 con iteraciones anteriores para calcular la velocidad
Esto normalmente se denomina "predicción basado en tiempo de ayer". De hecho, la hoja de cálculo planeación de capacidad puede extraer los datos históricos desde el almacén de datos TFS si está disponible. Como visto en la figura 6 , puede seleccionar iteración 1 como la iteración para obtener datos históricos de y clave de los datos de fecha de inicio, fecha de fin y número de los miembros del equipo. En este caso, aparece una velocidad de horas 816, lo que significa que el equipo fue capaz de completar 816 horas de trabajo en la iteración 1. Shy de que datos, los equipos pueden comenzar con una estimación y usar el progreso de la primera iteración en planear las iteraciones futuras.
En la hoja de cálculo planeación de capacidad, puede especificar el intervalo de fechas para las iteraciones, el número de miembros del equipo y las interrupciones durante la iteración, como los días no laborables o festividades. Estos datos, combinados con el usuario artículo estimaciones y progreso, crea un gráfico que ofrece una idea de qué la iteración trabajo carga apariencia similar. Si ve trabajo estimado superar la barra de capacidad esperado, a continuación, se desea mover alrededor de artículos de usuario entre las iteraciones para llegar a una asignación favorable.
En mi caso, no tiene ningún trabajo planeado en iteraciones 2. Pueden agregar algunos de los artículos restantes de usuario en el trabajo acumulado a 2 de la iteración. Ahora el gráfico de capacidad es similar figura 7 . Esto es una buena situación en, el trabajo de cálculo no superó la capacidad.
La figura 7 gráfico de capacidad con el trabajo asignado para la iteración 2
También se puede utilizar la hoja de trabajo acumulado de producto para obtener una imagen del estado general de los diversos artículos de usuario una vez que el proyecto está en vuelo. Pero puede se mucha más información de los informes como Burndown y progreso, trabajo restante y el progreso de artículos. Estos informes se incluyen en la plantilla Agile y se encuentran en la carpeta de informes en el proyecto de equipo. Cubrirá los informes más adelante en este artículo.
Libro de trabajo acumulado para la iteración
Iteración es una actividad clave para un equipos ágil. Equipos ágiles prácticas Scrum están familiarizados con esto por el término sprint. La duración de la iteración normalmente varía. Los equipos mediante programación extremo siguen una iteración de uno o dos semanas, mientras que los equipos mediante Scrum normalmente siguen un sprint de cuatro semanas.
Plan de iteración ayuda a definir el ámbito de una iteración determinada. Durante una reunión de planeamiento de iteración, los equipos suelen analizar los artículos de usuario asignados para la iteración determinada, reunir los requisitos detallados, agregar las tareas asociadas y estimación cuánto, necesitaría para finalizar cada tarea. Durante esta reunión, los propietarios de productos junto con el resto del equipo de dar prioridad a artículos de usuario en función de varios factores: las dependencias, costo estimaciones, detallan requisitos, y se consideró evidencia posible que un artículo concreto no es tan importante tal como se durante la la planeación de versión.
Empecemos por examinar en el trabajo acumulado de iteración en el proyecto de equipo DinnerNow. Hay carpetas denominadas iteración 0, 1 y 2 en la carpeta Documentos compartidos en el proyecto de equipo. Dentro de cada una de estas carpetas iteración encontrará el trabajo acumulado para la iteración. Cada una de las hojas de trabajo acumulado para iteración está conectado a una consulta específica que aporta sólo que historias de usuario de iteraciones determinado y las tareas.
Si ha agregado otros tipos de elemento de trabajo como características, temas o epics, a continuación, agregará los a esta consulta para obtener los elementos de trabajo adicional extraídos de la lista. El proyecto de equipo DinnerNow ya tiene varias tareas que se agregan como elementos secundarios a los artículos de usuario en la iteración 2. Normalmente, pero como parte de la reunión de planeamiento de iteraciones, los equipos se pueden agregar tareas y estimación para obtener una buena iteración planear 2 de la iteración. la figura 8 muestra el trabajo acumulado para la iteración.
Figura 8 trabajo acumulado de iteración con tareas de elemento secundario
TFS ahora admite elementos de trabajo jerárquica y que permite crear árboles de matriz/filial. En este caso, las siguientes tareas nuevas se agregan como tareas de secundarios al artículo de usuario "usuarios deberían poder utilizar DinnerNow desde sus teléfonos":
- Identificar qué partes de la interfaz de usuario va a utilizar para el teléfono
- Usar una arquitectura de la pila de tarjeta para la interfaz de usuario
- Identificar los teléfonos más populares
- Reducir el número de pulsaciones de teclas necesarios para realizar un pedido
En este momento, el equipo está preparado para ir a la asignación de tarea. ¿Cuánto trabajo reanudará cada miembro del equipo dependerá de factores como capacidad de miembro de equipo para que iteración, experiencia del dominio, y cuánto el miembro del equipo ha sido parte del equipo.
Libro de trabajo acumulado de iteración tiene hojas adicionales a la ayuda de otros aspectos de planeamiento y ejecución. La hoja de planificación de capacidad es similar a en el libro de trabajo acumulado de producto. Puede utilizar esta hoja de cálculo para hacerse una idea de la capacidad del equipo.
La hoja de cálculo equilibrio de carga es útil durante la planeación y durante la iteración propio. Los equipos ágiles continuar su diseño durante la iteración para curso corrección ya procede nueva información disponible acerca de un artículo de usuario en particular, cuando se descubre una dependencia técnica en una tarea, o cuando un miembro del equipo no está disponible. Llamar estas repeticiones para actualizar las asignaciones de tareas y eso es donde entra la hoja de cálculo equilibrio de carga para reproducir.
Otra hoja de cálculo interesante es la proporcionado para realizar un seguimiento de progreso. Aquellos familiarizados con Deporte de cricket reconocerá los términos de velocidad de ejecución actual y velocidad de ejecución necesario. Estos son dos estadísticas que se utiliza para obtener una buena indicación de cómo un equipo es realizar una coincidencia. En general, si la velocidad de ejecución necesaria es mayor que la velocidad de ejecución actual, el equipo que se batting debe recoger el ritmo para evitar un defeat. Por otro lado, si la velocidad de ejecución actual es mayor que requiere velocidad de ejecución, el equipo batting es en buena forma.
Antes de que un lector prácticos de cricket comience llamar a mí en este, permitirme decir que es más estadísticas como wickets hacia abajo y restantes acciones son importantes para obtener un identificador completo en el estado. Y esto es true en un proyecto ágil así. La hoja de seguimiento del progreso le ofrece una idea rápida de la velocidad de equipo actual y el progreso necesario para completar los artículos de usuario en una iteración. Al igual que con cricket, otras estadísticas como días restantes son importantes para obtener un estado completo en dónde se encuentra en la iteración. Por ejemplo, puede tener el equipo cortar ámbito si no está en su progreso actual ritmo con velocidad necesario. De nuevo, la clave es ser transparente sobre esto a los clientes y realice los ajustes necesarios como un equipo.
Por supuesto, no tendrá que ser un ventilador ávido de cricket para iniciar Administración de proyectos con VSTS 2010. Puede confiar en informes para supervisar el progreso de un proyecto como grabación hacia abajo y trabajo restante.
Figura 9 muestra la grabación hacia abajo de informe para la iteración 1. Una grabación hacia abajo el informe muestra las horas del trabajo completado, las horas de trabajo restante y la tasa de progreso. Como puede ver de las horas en el gráfico, el equipo no completó todas las tareas asignadas a esta iteración.
Figura 9 grabar hacia abajo del gráfico
Las líneas de tendencia muestran este estado también. Como puede ver en el gráfico, la línea de tendencia real indica que el trabajo no se completado a tiempo a velocidad de este equipo durante la iteración 1. Durante la iteración, el equipo puede ver la grabación hacia abajo y puede realizar correcciones curso es necesario y también permiten los clientes saber que podría afectado el plan de lanzamiento.
El informe de trabajo restante también es muy útil. Como se ver en la figura 10 , el equipo ha sido avanzando estable finalizar trabajo. No hay ningún trabajo adicional agrega al trabajo acumulado durante esta iteración que es un signo de buena. Progreso el equipo tapered fuera hacia el final de la iteración causando las tareas deja sin terminar.
Figura 10 trabajo restante
Como ha visto, las herramientas de diseño ágiles y hojas de cálculo de VSTS 2010 proporcionan los equipos con un cliente de Excel y el almacén de datos integrados que captura y datos minas suelte planeamiento para el plan de iteración y de ejecución de pruebas para generar la calidad. Esto proporciona una herramienta excelente para dos administradores planear y administrar proyectos de agile, así como los desarrolladores y personal de pruebas en el equipo, pueden trabajar juntos, valoración del progreso, realizar cambios según sea necesario y administrar el proyecto completo. Esta integración evita muchas de las actividades manuales y monotonous que equipos ágiles emprender para recopilar datos y generar informes.
Para un bastante diferente más matemáticamente basan enfoque para avanzar el planeamiento, eche un vistazo a Dr. James McCaffrey Probar columna ejecutar en este problema .
Ajoy Krishnamoorthy es un planeador de producto responsable con el equipo de patrones y prácticas de Microsoft. Antes, Ajoy era como un producto director para Microsoft Visual Studio Team System. En esta función, Ajoy era responsable de administración de producto, la estrategia y marketing. Cuenta con más de 10 años de experiencia en una variedad de las funciones incluidas desarrollador, arquitecto y jefe de proyecto técnico de consultoría. Puede comprobar su blog en blogs.msdn.com/ajoyk .