Le degré de définition du projet doit être suffisant pour vous permettre de démarrer et de savoir où vous allez vous diriger au cours des deux prochaines semaines.
En tant que Scrum Master, je dirais simplement que vous devez définir les fonctionnalités brutes de votre produit dans une feuille Excel ou ailleurs, uniquement pour garder une trace de vos fonctionnalités. En faire des User Stories aide beaucoup à réfléchir à la fonctionnalité dont vous avez besoin ensuite. Ensuite, hiérarchisez-les: la fonction la plus importante ou impérative vers le haut et la moins vers le bas.
Une fois que vous avez répertorié certaines des fonctionnalités les plus importantes, sélectionnez les fonctionnalités que vous pensez pouvoir développer amener à l'état Terminé après une période de deux semaines, ou un mois si vous préférez. Ensuite, décomposez ces fonctionnalités sélectionnées afin que vous puissiez commencer à coder en quelques-unes.
Lors du codage, vous penserez certainement à d'autres éléments à développer afin de mettre vos fonctionnalités sélectionnées dans un état Terminé. Terminé signifie que vous n'avez plus rien à faire, c'est-à-dire les tests, le codage, l'assemblage, la documentation est terminée!
À tout moment, votre liste de fonctionnalités sélectionnée peut s'allonger, tant que vous atteignez l'objectif, c'est-à-dire que vous êtes en mesure de développer tout ce que vous aviez dit au cours de la période donnée.
Bref, rien ne doit être parfait. Ajoutez quelques idées, partagez avec vos camarades et voyez si ce qui est écrit est logique pour répondre aux exigences des produits demandés. Si oui, alors vous y êtes! Pour être clair, j'irai avec un simple produit de gestion de la clientèle. Ce qui est necessaire?
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;
Votre première ébauche pourrait être aussi simple que ça! Ensuite, nous pouvons voir que la sécurité est une partie importante de notre système, est-elle suffisamment importante pour faire la priorité ultime (O / N)? Cela dépendra des exigences que vous devrez satisfaire. Disons que la gestion des clients est la chose la plus cruciale ici. Donc, dans le prochain Sprint, nous devons être en mesure de gérer les clients d'une manière basique mais acceptable. Qu'est-ce que la gestion des clients?
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;
-> ...
Cela illustre déjà suffisamment de fonctionnalités pour pouvoir commencer à développer l'application. Si vos programmeurs ont besoin d'instructions supplémentaires, alors peut-être qu'un développeur qui est à l'aise avec les diagrammes de classes peut concevoir la classe Client et ses propriétés et méthodes! Mais en ce qui me concerne, avec ces quelques-uns que j'ai écrits, j'en aurais assez pour commencer. Certaines fonctionnalités peuvent être ajoutées ou modifiées en cours de route. Ce qui est important, c'est de se concentrer sur ce que vous avez dit qui allait être fait. Dans notre exemple, c'est la gestion des clients. Nous n'avons pas besoin de nous soucier de l'authentification des utilisateurs pour l'instant. Cela viendra plus tard dans le prochain Sprint.
J'espère que ça aide! =)