The most costly defects are design defects
In software the most costly defects are design defects. If you play the role (or carry the title) of a software architect be sure that you’re explicitly architecting your systems versus letting the designs emerge. The design shall emerge whether you want it or not, but you may not like the results. Further, be sure you understand and document your design decisions in the context when they were made. Undisciplined system design is irresponsible and is only appropriate for experimental solutions and throw away prototypes (that are guaranteed to be thrown away).