¿Existe un método Agile o Scrum sin Iteraciones/Sprints?

Acabo de tener una pequeña discusión sobre esto con algunos compañeros de trabajo, pero aún no llegamos a una conclusión. Tenemos un montón de proyectos que se mantienen y desarrollan activamente usando scrum, con sprints fijos de dos semanas, integración de trabajo pendiente de TFS, etc.

También tenemos un proyecto separado, llamado Mobiltec.Framework, que pretende ser una extensión del marco .Net predeterminado (la mayoría de nuestros proyectos son proyectos C#). Este proyecto de utilidad está destinado a admitir todos los demás proyectos de la empresa con una funcionalidad general no vinculada a ningún producto específico, y se encuentra en su propio TeamProject en TFS, independientemente de cualquier otro proyecto.

Estamos en el proceso de comenzar de nuevo con este, en una migración a TFS 2013, e inmediatamente me pregunté:

¿Qué plantilla de proceso TFS usaré con esto?

Obviamente, esto es específico de TFS, pero creo que la pregunta es lo suficientemente genérica: ¿cuál es el mejor método para desarrollar un proyecto de utilidad bajo demanda? Scrum no tiene absolutamente ningún sentido para mí. Rara vez se le agregan características, y es bastante estable. No existe el concepto de sprint, y no tenemos un equipo especial para manejar el proyecto en absoluto (cualquier desarrollador en toda la compañía teóricamente podría agregarle cosas, si no son específicas del producto).

Siento que todavía debería haber una especie de acumulación de tareas / historias de usuarios asignadas para al menos rastrear lo que se está haciendo, pero no veo cómo debería integrar esto en toda la canalización ágil. ¿Debería simplemente ignorar por completo la idea de las 'iteraciones' (tanto conceptualmente como en TFS) y simplemente desarrollar y lanzar directamente desde la fuente principal, creando historias de usuarios y errores en el camino?

¿Hay algún ejemplo de un proyecto como este, en el que las funcionalidades sean todas bajo demanda y no haya un concepto intrínseco de sprints o iteraciones, en el que pueda basar nuestro proyecto?

¿Necesita realizar un seguimiento del trabajo de los desarrolladores que trabajarán en este proyecto? Obtenga más información sobre cuánto necesita el seguimiento de los elementos de trabajo (tareas, características, trabajos pendientes, errores, solicitudes de cambio). Scrum tiene su propia estructura de elementos de trabajo y dependencias, hay una característica nueva y buena en la plantilla scrum de TFS 2013 llamada 'característica' y que es principalmente para la creación de carteras y puede ser muy útil para usted. Entonces, ¿qué es exactamente lo que quieres de TFS? ¿Es el control de versiones o el seguimiento de elementos de trabajo o ambos?
@saakyan diría que necesito todo menos iteraciones. Tenga en cuenta que no se trata tanto de la plantilla TFS como del uso de scrum/agile en sí. Lo único que realmente no tiene ningún sentido en nuestra situación son las divisiones de tiempo estáticas para las iteraciones.
Puede buscar en Lean Software Development y Kanban. Definitivamente puede tener su trabajo pendiente y errores que puede rastrear usando el tablero Kanban.

Respuestas (6)

En Team Foundation Server 2013, hay 3 plantillas disponibles para proyectos de equipo de forma predeterminada

  1. Microsoft Visual Studio Scrum 2013
  2. MSF para el desarrollo ágil de software 2013
  3. MSF para la mejora de procesos de CMMI 2013

Todos ellos lo suficientemente ágiles como para adaptarse a sus necesidades, pero creo que los dos primeros son más convenientes. La plantilla Scrum está diseñada para admitir la metodología Scrum tal como la define la organización Scrum. Sin embargo, si su proyecto no debe entregar valor de manera iterativa e incremental configurada por sprints e iteraciones, puede no configurarlas en absoluto.

En TFS 2013, hay un comando 'Configurar programación e iteraciones...' para cada proyecto de equipo. Puede dejar esta parte sin configuración y usar la plantilla de scrum solo para escribir y realizar un seguimiento de los elementos de trabajo.

Lo único que necesita es, al crear un nuevo elemento de trabajo, la iteración debe ser el proyecto en sí. Por ejemplo, si crea una tarea para Mobiltec.Framework, la iteración de la tarea será Mobiltec.Framework y no Mobiltec.Framework->Release 1->Sprint 1. Al hacer esto, puede crear consultas con una cláusula 'Iteración-> >Mobiltec.Framework' y tenga todas las historias de usuarios, errores y tareas en un solo lugar.

También puede personalizar cada plantilla de proyecto de acuerdo con sus necesidades utilizando este archivo .

Además de esto, en TFS 2013 puede tener diferentes equipos trabajando en el mismo proyecto y puede ver la contribución de cada equipo al proyecto.

Espero que esto ayude

Esto no es nada que no supiera, pero estoy seguro de que sería de ayuda para muchas personas. Este es en realidad nuestro enfoque actual. Acabo de crear el proyecto ayer y elegí la plantilla scrum por coherencia con nuestros otros proyectos y también por el hecho de que realiza un seguimiento de los errores de forma predeterminada, lo cual es bueno para este tipo de proyecto, pero planeo ignorar el aspecto de las iteraciones por completo.
@julealgon sí, solo tienes que ignorarlos

Esta pregunta plantea una gran pregunta para mí: ¿es realmente un proyecto en sí mismo o algo que se modificará como parte de otros proyectos? Si es lo último, es posible que no necesite nada más que control de fuente.

Al eliminar el elemento TFS de esta pregunta, Kanban es una metodología ágil sin restricciones de tiempo que podría aplicarse. Estas situaciones son en las que debe observar los principios ágiles, en lugar de los procesos, y encontrar una solución que se ajuste a sus necesidades. Puede abordar esto comenzando con algo similar a Scrum y eliminar el límite de tiempo si es ahí donde radica su experiencia, pero deberá considerar cómo se asegurará de progresar en el proyecto (si eso es importante).

Ciertamente es un proyecto independiente en mi mente. Tenemos varios proyectos en nuestra empresa, cada uno asignado a un Proyecto de equipo en TFS, y todos ellos deberían usar mucho este proyecto de biblioteca. No puedo ver cómo lo mantendríamos como un "proyecto dentro de otro proyecto". Creo que incluso podría ser posible que publiquemos este proyecto en nuget público, por ejemplo. Siento que es lo suficientemente genérico para eso.

Sugeriría echar un vistazo a la plantilla MS kanban 1.0 . Que es más un proceso de entrega continua en lugar de un enfoque basado en la iteración.

Eso es interesante, nunca escuché que hubiera una plantilla que usara solo kanban, sin duda le echaré un vistazo más adelante. ¿Sabes si hay una versión actualizada que use VS/TFS 2013?

Puede usar los tableros Kanban adjuntos a cada trabajo pendiente para un proceso de flujo continuo.

https://msdn.microsoft.com/en-us/library/jj838789.aspx

Un problema menor:

En VSO (no he probado en el TFS local más reciente), estos tableros funcionan con elementos Story / Feature / Epic (proceso Agile) y elementos Feature / Backlog (proceso Scrum). Significa que los tableros de tareas, que muestran tareas individuales por carril de historia, aún se encuentran dentro de Iteraciones/Sprints.

Como han dicho otros, kanban parece una buena opción según sus criterios. También le recomiendo que ignore las herramientas y el software de gestión cuando considere por primera vez cómo trabajar de manera más efectiva. :)

Editar: creo que comenzar con una herramienta o tecnología específica impone demasiadas restricciones en la vista inicial del trabajo y limitará los enfoques potenciales. También a menudo (desafortunadamente) seguirá siendo una limitación y el equipo se adaptará a ella y no al revés. Un ejemplo clásico es la gerencia o las partes interesadas que desean tener una vista específica del trabajo que se está realizando, como un tablero, y requieren que todos los equipos dentro de la organización usen una herramienta de administración de proyectos "estandarizada" que les muestre esta vista. El flujo de trabajo de esta herramienta y la vista/datos del equipo local se impondrán en el equipo y lo restringirán, lo que incluso puede influir en su cultura y la visión de sí mismos como una organización (sin importar los problemas de comando y control/falta de confianza que presenta). ). Al comenzar sin restricciones de herramientas, el equipo puede pensar en una excelente manera de administrar y ver su trabajo localmente, y luego traducirlo a otra herramienta sincronizando una vez por semana, etc. para que se satisfagan las necesidades de ambas partes. Espero que esto ayude a aclarar. :)

¿Puede explicar el motivo de la recomendación de ignorar las herramientas y el software de gestión? Eso fortalecería aún más su respuesta, creo.

En mi opinión, necesitas hacer una plantilla personalizada, quitarla un poco. Tome plantilla ágil. Deje solo dos tipos de elementos, como en kanban: "Tarjeta" y, por ejemplo, "Error/Problema" solo para la separación de tipos. Entonces solo tiene una iteración como se mencionó anteriormente, que es la raíz del proyecto. A continuación, crea un estado de estacionamiento "Pendiente/Retraso" y otros estados en curso (pasos del proceso para entregar el artículo). Piense que cubre el enfoque básico de utilidad simple, ya que necesita Kanban con seguridad.