Avant d’écrire du code pour résoudre tous les problèmes logiciels, à l’exception des plus insignifiante, un ingénieur logiciel devrait rédiger un cahier des charges technique.
Certains ingénieurs en logiciel peuvent considérer que la rédaction de cahier des charges est un processus inutile qui gêne l’approche agile. Le but d’un cahier des charges technique n’est pas d’empêcher les progrès, mais de faire un petit pas en arrière et de réfléchir. Rappelez-vous : le travail d’un ingénieur logiciel n’est pas d’écrire du code, mais de résoudre des problèmes.
Un cahier des charges technique vous oblige à réfléchir à des problèmes complexes et à mettre tout le monde sur la même page. Cela permet d’éviter de perdre du temps sur des solutions sans issue ou de construire la mauvaise chose.
Il y a aussi d’autres avantages :
Améliorer la précision des estimations et des délais.
Prenez en compte les coûts opérationnels et de support à long terme.
Prévenez les problèmes de sécurité et de confidentialité.
Fournir de la documentation pour les futures équipes.
Les ingénieurs expérimentés savent que la majorité de leur temps ne sera pas consacrée à l’écriture de code. Il est raisonnable de réserver du temps pour réfléchir aux problèmes, à la planification et à la communication. Le cahier des charges technique est un excellent outil pour cela.
Sur la rédaction du cahier des charges du produit
Idéalement, un cahier des charges technique est basé sur un cahier des charges de produit solide. (Ou bien, comme cela arrive souvent, le responsable produit présente un brouillon de cahier des charges de produit à un responsable technique, qui rédige ensuite un brouillon de cahier des charges technique. C’est probablement l’approche la plus saine. .) Cela dit, de nombreuses entreprises n’ont pas encore défini la gestion de produit, ou ne pensent pas que les projets techniques ont besoin d’un cahier des charges de produit. Si les objectifs et les exigences d’un projet ne sont pas clairs, vous devrez mettre votre casquette de « chef de produit » et les préciser.