Aquí estoy en el proceso de determinar y estimar un nuevo proyecto de desarrollo de software relativamente pequeño. He revisado las historias de usuarios sugeridas por el cliente y he colocado tareas en contra de cada una, con una estimación y algunas notas breves sobre cómo se realizará la tarea. Hay criterios de aceptación. Todos deberían ser buenos con el mundo.
Al mirar el trabajo que había planeado, me di cuenta de que faltaba algo. Habrá un desembolso inicial simplemente configurando cosas en las que podamos atornillar la funcionalidad. Cosas que pertenecen a todas las historias de usuarios, no a una historia de usuario en particular.
Por ejemplo, parte de esta aplicación es un servicio que analiza XML. Desde el punto de vista del usuario, hay historias específicas en las que habrá que hacer diferentes cosas dependiendo del contenido del XML. En realidad, escribir un analizador XML (los bits que buscan un archivo, lo leen y extraen los datos relevantes antes de decidir qué hacer con el contenido) es parte de todas esas historias. Como lo envuelve en un servicio de Windows con un instalador, etc. Es una tarea centrada en el desarrollador sin relevancia directa para un usuario.
Otro ejemplo relevante de esta aplicación en particular es tomar y reescribir un bloque de código heredado deficiente que es útil para las funciones de esta aplicación. Nuevamente, esto no tiene resultados inmediatos para el usuario, pero es un trabajo necesario. ¿Dónde "vive" la planificación y ejecución de este trabajo en un plan de proyecto centrado en historias de usuarios?
He visto a personas resolver esto escribiendo historias de usuarios "Como desarrollador, quiero ...", pero como se ha discutido en otra parte, esta no es una historia de usuario . Es un desarrollador.
Estoy buscando una respuesta concreta a esto, para ayudarme (y a otros) a planificar proyectos utilizando marcos de gestión estrictos como TFS en línea. Estos no tienden a tener la función de crear "historias de partes interesadas" u otras vagas meta-soluciones mencionadas en las respuestas a ¿Cómo un equipo Scrum tiene en cuenta las tareas de infraestructura en la reunión de planificación?