Qué tan bien definido debe estar el proyecto es lo suficientemente bueno como para comenzar y saber a dónde se dirigirá durante las próximas dos semanas.
Como Scrum Master, simplemente diría que necesita definir características generales de su producto en una hoja de Excel o en cualquier otro lugar, solo para realizar un seguimiento de sus características. Hacerlos Historias de usuarios ayuda mucho a pensar qué función necesita a continuación. Luego, priorícelos: la característica más importante o imperativa en la parte superior y la menos importante en la parte inferior.
Después de haber enumerado algunas de las características más importantes, seleccione las características que cree que puede desarrollar para llevarlas al estado de Listo después de un período de dos semanas o un período de un mes si lo prefiere. Luego, explote estas características seleccionadas para que pueda comenzar a codificar en algunas.
Mientras codifica, seguramente pensará en otros elementos necesarios para desarrollar sus características seleccionadas en un estado Listo. Hecho significa que no tiene nada más que hacer, es decir, pruebas, codificación, ensamblaje, ¡la documentación está hecha!
En cualquier momento, su lista de características seleccionadas puede expandirse, siempre que cumpla con el objetivo, es decir, puede desarrollar todo lo que dijo durante el período dado.
En resumen, nada tiene que ser perfecto. Agregue algunas ideas, comparta con sus camaradas y vea si lo que está escrito tiene sentido para cumplir con los requisitos del producto exigidos. Si es así, ¡entonces estás dentro! Para que quede claro, elegiré un producto simple de Gestión de Clientes. ¿Qué se necesita?
As a user, I may manage the Customers;
As a system, I persist changes to the underlying data store;
As a user, I need to enter my credentials to be able to manage customers;
As a system, I have to authenticate the user against the Active Directory;
¡Tu primer borrador podría ser tan simple como eso! Entonces, podemos ver que la seguridad es una parte importante en nuestro sistema, ¿es lo suficientemente importante como para hacer la máxima prioridad (S / N)? Esto dependerá de los requisitos que tenga que cumplir. Digamos que la gestión de clientes es lo más importante aquí. Por lo tanto, en el próximo Sprint, necesitamos poder administrar a los clientes de una manera básica pero aceptable. ¿Qué es la gestión de clientes?
As a user, I may manage Customers;
-> As a user, I add a customer to the system;
-> As a user, I change a customer details;
-> As a user, I delete a customer;
-> As a system, I flag a deleted customer as being inactive instead of deleting it;
-> As a user, I need to list the customers;
-> As a user, I search the customers data bank for a given customer;
-> ...
Esto ya ilustra suficientes funcionalidades para poder comenzar a desarrollar la aplicación. Si sus programadores necesitan más instrucciones, ¡quizás un desarrollador que se sienta cómodo con los diagramas de clase pueda diseñar la clase Cliente y sus propiedades y métodos! Pero en lo que a mí respecta, con estos pocos que he escrito, tendría suficiente para comenzar. Algunas características se pueden agregar o cambiar a lo largo del camino. Lo importante es concentrarse en lo que dijo que iba a hacer. En nuestro ejemplo, es lo de la Gestión de Clientes. No necesitamos preocuparnos por la autenticación del usuario a partir de ahora. Esto vendrá más adelante en el próximo Sprint.
¡Espero que esto ayude! =)