We have various software development projects lead by different technical leads, what is the best way for these leads to share the functionality of their systems with each other – thus not developing the same functionality twice in different software projects?