Bien sûr, Scrum est utile. C'est une méthodologie qui fait deux choses pour vous:
- Il permet à votre projet de s'adapter au changement et
- Il vous permet de suivre les progrès et d'avoir une idée du moment où il sera terminé
Il y a donc une certaine valeur à l'utiliser.
Je pense que certaines de vos conditions préalables ne sont pas correctes et c'est là que vous vous perdez.
Je ne vois pas comment chaque histoire peut être négociable - elles sont toutes requises pour un compilateur fonctionnel
Ce n'est pas vrai. Vous pouvez prendre en charge un sous-ensemble de la langue et toujours avoir un compilateur qui fonctionne sous certaines conditions. Sûrement moins précieux qu'un compilateur complet, mais toujours précieux.
En outre, vous comprenez mal ce que signifie "Négociable": cela ne signifie pas nécessairement "Facultatif" et il n'est pas nécessaire que les histoires soient facultatives dans INVEST. Une histoire est un objectif précieux et la négociation porte sur la manière d'atteindre cet objectif. Il y aura sûrement plus qu'un moyen de mettre en œuvre le backend de chaque fonctionnalité linguistique. C'est là que vous avez besoin de négociation.
Les histoires ont toutes la même priorité et peu importe l'ordre dans lequel je les livre.
Ce n'est pas correct, car vous dites ci-dessous que certaines histoires ne sont pas "indispensables", donc certaines ont certainement moins de valeur. Mais même dans la catégorie "must have": certaines fonctionnalités du langage sont beaucoup plus fondamentales que d'autres, et de manière mesurable.
Une façon de mesurer cela est «combien de lignes de code supplémentaires nous pouvons compiler sur une base de code existante» ou «combien de tests supplémentaires réussissent» si vous avez une suite de tests prédéfinie.
Il existe également d'autres options. Si vous compiliez un langage de type C, à proprement parler, vous n'avez besoin que d'un if
et d' une goto
boucle pour avoir un langage (à peine) fonctionnel et vous pouvez l'implémenter while
, for
et en repeat
tant que macros. En supposant qu'il soit assez facile d'écrire une utilisation d'un précompilateur, vous pouvez avoir une solution bon marché (hé, négocions-nous? :-)
En ce qui concerne l'adaptabilité, la prise en charge d'une langue est un ensemble d'exigences assez statique, mais les langues changent également et votre connaissance de vos besoins change. Avez-vous besoin de tout mettre en œuvre? Y a-t-il des choses dont vous n'avez pas besoin spécifiquement pour vos objectifs? L'un des locataires de base de l'agile est la connaissance d'avoir des connaissances incomplètes, pouvez-vous en tirer parti?
En conclusion, pour répondre plus directement à votre question: avez-vous besoin de processus agiles lorsque vos besoins sont immuables? Définitivement pas! Sont-ils utilisables? Probablement oui! Vaut-il votre temps? Probablement pas - mais vos exigences sont-elles immuables? Dans mes expériences passées, "exigences immuables" => "propriétaire de produit paresseux" - pas une règle, mais mérite d'être gardé à l'esprit.