It is just amazing how the mainstream software development industry is behind the times in comparison to other more advanced disciplines; the below fragment by Mary Poppendieck summarizes what I am writing about.
In the 1980’s, a massive paradigm shift hit factories
throughout the US and Europe. Mass production and
scientific management techniques from the early 1900’s
were questioned as Japanese manufacturing companies
demonstrated that ‘Just-in-Time’ was a better paradigm.
The widely adopted Japanese manufacturing concepts
came to be known as ‘lean production’. In time, the
abstractions behind lean production spread to logistics,
and from there to the military, to construction, and to
the service industry. As it turns out, principles of lean
thinking are universal and have been applied
successfully across many disciplines.
Lean principles have proven not only to be universal,
but to be universally successful at improving results.
When appropriately applied, lean thinking is a well understood
and well-tested platform upon which to
build agile software development practices.
Principles of Lean Thinking by Mary Poppendieck
Adding unnecessary source code today just for the sake of the potential needs of tomorrow maps very well to keep large and costly inventory in manufacturing trades.
Once a source code sentence is introduced in main code branch, it must be kept correct in itself and in relation with the rest of the code, it adds even more discrete states to the mix that the current development team is accountable for –in contrast with the support team of an off-the-shelf commercial or internal-independent component.
The Service-Level Agreements (SLAs) between services when applied intra-service components or subsystems are called Operation-Level Agreements (OLAs); these usually are held between teams of the same organization.
When adding large amounts of source code coming from external parties to your organization, make sure proper SLAs or OLAs are in place at the same time.