Les Product Owners peuvent-ils imposer des exigences d'architecture ?
En principe, c'est la tâche du Product Owner de définir ce qui doit être construit et non comment cela doit être construit. Mais il existe aussi des situations où il est approprié que le Product Owner prenne certaines décisions concernant l'architecture.
Quand les directives du Product Owner ont-elles du sens ?
Lorsque l'entreprise Sun voulait faire connaître le langage de programmation Java il y a quelques années, elle offrait de l'argent aux entreprises pour développer des applications avec Java. Certains Product Owners avec lesquels je travaillais à l'époque ont donc demandé à leurs équipes de travailler avec Java.
Dans certains cas, les applications représentaient des business cases mineurs qui n'auraient pas été justifiés sans le financement de Sun. Dans ces cas-là, les directives avaient tout leur sens. Les développeurs ne s'y opposaient pas, car ils voulaient essayer cette toute nouvelle technologie.
Un Product Owner ne devrait pas imposer de directives techniques trop souvent, et quand il le fait, il devrait le faire avec beaucoup de discernement pour être sûr d'avoir raison d'imposer cette directive technique.
Dans la plupart des cas cependant, imposer Java n'était pas une bonne décision, car à ses débuts, Java n'était pas vraiment à la hauteur des défis posés par ces applications.
Prenons un appareil embarqué (embedded device) comme autre exemple. Le Product Owner a décidé que le produit serait économiquement rentable avec un certain matériel, mais pas avec un matériel un peu plus cher.
Le Product Owner dit donc à la Dev Team de n'utiliser que ce matériel. Bien sûr, l'équipe préférerait peut-être travailler avec le matériel plus cher, mais le produit ne serait alors plus économiquement viable.
Les Product Owners peuvent donc dans certains cas imposer l'architecture. Mais ils devraient le faire rarement, de manière bien réfléchie et de préférence en concertation avec l'équipe.
Ce texte provient du blog de Mike Cohn et nous a été mis à disposition pour traduction en allemand.