A common component is a library or some other piece of code that is created and maintained by one group and used by many groups.
Some problems we have are:
- The users don't report issues with the components.
- Users build workarounds to the components to suit their needs.
- They break compatibility with the trunk version just to meet their deadlines.
- Users end up coding their own (less robust) solutions because they think it's better.
How does your organization handle common components?
Ideas that I have:
- Treat the component like an open source project and require teams to submit patches.
- Totally disallow custom modifications to the code.
- ...