Bien qu'il n'y ait bien sûr pas de règles strictes en matière de pré-production, il existe une variété d'heuristiques pour vous aider. Certaines fonctionnalités sont naturelles et nécessaires - aucun plan ne survit au premier contact avec la réalité, et vous ne savez peut-être pas ce qui serait "cool" avant de le voir.
Tout d'abord, mettez en scène votre développement. Dessinez votre plan dans une carte d'entités, puis recherchez des moyens de regrouper vos entités en itérations testables , chacune avec une échéance . Une fois que vous avez commencé une itération, évitez d'y ajouter de nouvelles fonctionnalités. Tout besoin technique imprévu devrait bien sûr entrer dans l'itération actuelle, mais de nouvelles idées de fonctionnalités devraient entrer dans une liste pour un examen futur. Vous pouvez ensuite décider de l'ajouter ou non à une itération une fois celle-ci terminée.
Cela découle de la méthode MoSCoW , par laquelle vous catégorisez des fonctionnalités comme ceci:
- Doit avoir - des fonctionnalités qui sont essentielles pour que l'itération actuelle soit stable , c'est-à-dire testable . Si l'itération ne fonctionne pas sans elle, c'est un must have.
- Devrait avoir - des fonctionnalités qui devront être réalisées à un moment donné, mais si l'itération se prolonge, le temps peut être poussé dans la toute prochaine itération . Les choses requises par un éditeur, par exemple, pourraient aller ici.
- Peut avoir - des fonctionnalités qui, selon vous, peuvent être importantes pour l'itération actuelle, mais pourraient être supprimées du projet. Ce sont les caractéristiques polonaises toutes importantes .
- N'aura pas - les éléments qui alimentent potentiellement le backlog , les fonctionnalités identifiées dans cette itération à prendre en compte pour les itérations ultérieures.
Idéalement, vous voulez que le développement soit un raffinement progressif, pas tout ou rien. En travaillant dans un délai final, les fonctionnalités les moins importantes doivent être poussées jusqu'au bout, donc tout ce que vous n'obtiendrez pas sera quelque chose de correct. Assurez-vous d'estimer le temps nécessaire à chaque fonctionnalité pour développer et affiner ces estimations au fur et à mesure. Ne compressez jamais le programme pour faire de la place pour plus de fonctionnalités. Résistez à repousser les délais (itération ou final) dans le futur - déplacez ou coupez les fonctionnalités à la place, si possible. Si vous approchez de votre échéance et que le jeu est toujours un gâchis invendable, vous savez qu'il est temps de réévaluer sérieusement vos décisions et d'envisager de cannibaliser le projet avant qu'il ne se transforme en fosse de temps / argent.