Le principe DRY (Don't Repeat Yourself) stipule que «chaque élément de connaissance doit avoir une représentation unique, non ambiguë et faisant autorité au sein d'un système». La plupart du temps, cela fait référence au code, mais il est souvent étendu à la documentation également.
On dit que chaque système logiciel a une architecture que vous le choisissiez ou non. En d'autres termes, le logiciel que vous créez a une structure et cette structure "telle que construite" est l'architecture du logiciel. Puisqu'un système logiciel intégré est livré avec une architecture, la création d'une description de l'architecture de ce système est-elle une violation du principe DRY? Après tout, si vous avez besoin de connaître l'architecture, vous pouvez toujours simplement regarder le code ...