Il s'agit d'une question quelque peu complexe à répondre car, comme beaucoup de choses, cela dépend vraiment des circonstances du projet, du niveau de contrôle de l'entreprise sous-traitée, de la gestion du logiciel personnalisé par l'entreprise sous-traitée pendant tout son cycle de vie, du montant "d'interférence" par d'autres personnes avec l'accès à la base de code, l'attitude de toutes les personnes impliquées, la complexité du projet et les méthodologies utilisées ... Je pourrais vraiment continuer.
Tous les systèmes ont une certaine dette technique. Dans certains cas, cela peut ne pas être particulièrement visible en raison des efforts diligents des développeurs qui s'efforcent de toujours maintenir une base de code propre, mais aucun système n'est parfait et une refonte majeure peut faire apparaître un problème apparemment innocent mais de longue date. Alors, comment les entreprises sous contrat gèrent-elles cela?
Dans de nombreux cas, ce n'est pas le cas. Souvent, les logiciels seront écrits par une entreprise, puis modifiés par une autre, et il n'est pas rare de voir la base de code vraiment gâchée car chaque entreprise sous contrat travaille dans un délai serré et ne justifiera pas le temps de garder le code propre ( et parfois à peine testés) si cela signifie qu’ils risquent de manquer un délai.
Dans d'autres cas, vous trouvez des entreprises qui non seulement gèrent bien leur projet sous-traité, mais trouvent également en quelque sorte le temps de laisser la base de code existante dans un meilleur état qu'elles ne l'ont trouvé. Ils le font souvent avec une planification minutieuse, en identifiant les sources de dette technique - généralement celles qui auront le plus d'impact sur les nouveaux travaux - et ils élaborent des stratégies pour fournir des cas de test et des modifications qui contribuent à gérer la dette technique et intégrer tout cela dans le calendrier de leur projet .
Le fait d'être un logiciel personnalisé garantit-il une dette technique au lieu d'écrire un produit central? La réponse courte est non, mais il est probable que la dette technique s'accumulera si elle n'est pas activement traitée. C'est la même chose que pour tout autre projet logiciel. Si vous contrôlez entièrement le projet tout au long de son cycle de vie, vous avez une meilleure opportunité de faire face à la dette technique. Sinon, vous devrez faire face à la dette technique qui aurait pu résulter du code que la société précédente a laissé.
D'un autre côté, si votre question était de savoir si l'écriture de logiciels quel que soit votre modèle d'entreprise est une garantie de dette technique. La réponse serait absolument. La vraie question est de savoir comment une entreprise gère la dette technique. Le laisser s'accumuler et le traiter à une heure programmée, ou gérer une base de code propre de manière continue afin de rembourser la dette technique dès que possible? Cette réponse se résume aux priorités individuelles d'une entreprise et à la pertinence financière de la dette technique contractée.