>If it’s a core business function — do it yourself, no matter what.
That aspect certainly is a good exception.
To me code reuse and so on is really about doing those moderate things that are sort of side functions that are required but aren't the actual "product" that you're making / selling / etc.
I've worked on many a project that "there has to be something that does this that we can leverage quickly, oh this" and suddenly the product grows up around that software that you didn't even make an intelligent decision about if it works the way you want long term ... and it's a mess.
That aspect certainly is a good exception.
To me code reuse and so on is really about doing those moderate things that are sort of side functions that are required but aren't the actual "product" that you're making / selling / etc.
I've worked on many a project that "there has to be something that does this that we can leverage quickly, oh this" and suddenly the product grows up around that software that you didn't even make an intelligent decision about if it works the way you want long term ... and it's a mess.