Bonjour,
Comme déjà dit par ailleurs, c’est probablement une mauvaise idée pour toutes les raisons citées. C’est aussi et surtout une mauvaise idée pour le client : comment savoir si un commit a du sens ou pas ? Il faut regarder à l’intérieur, comprendre le code, pourquoi ce code a changé… Du coup le client a l’obligation de se faire développeur ce qui n’est souvent ni possible (pas les compétences), ni souhaitables.
Mais pour moi la vrai mauvaise idée dans cette histoire c’est le contrat au forfait. D’ailleurs je perçois une contradiction entre le premier et le second paragraphe : tu veux que le client constate l’avancement et paye la journée de dev, mais tu fais un contrat au forfait… C’est étrange pour ne pas dire incohérent.
Puisque le mot-commencant-par-A a été cité, parlons en ! Un des quatre principes de base de l’Agilité c’est: “la collaboration avec le client plutôt que la contractualisation rigide”. L’idée, c’est de construire et travailler la confiance entre les parties : le client a confiance que les gens qui développent son logiciel sont des professionnels qui font leur travail correctement, avec toutes les limites qu’implique le fait de développer un logiciel (on fait des erreurs, on tombe sur des problèmes non prévus, on ne sait pas tout…) ; le développeur a confiance dans le fait que le client va payer son travail au juste prix et travailler avec lui pour résoudre son problème, avec toutes les limites que cela implique (les budgets ne sont pas extensibles, le client peut changer d’avis…).
Demander au client de valider un commit, objet technique s’il en est, va totalement à l’encontre de ce principe de confiance. Mais de manière générale, lui demander de valider quoi que ce soit est d’une certaine manière absurde et ouvre la porte à des arguties sans fin. Ce que propose l’agilité pour résoudre cette contradiction, c’est le principe : “un logiciel fonctionnel plutôt qu’une documentation exhaustive”. L’équipe livre en permanence un logiciel qui fonctionne, que le client peut utiliser, même imparfaitement, même partiellement, et ceci dès le début du développement. Être transparent sur le résultat permet d’éviter de discuter sur les moyens d’y parvenir.