I have been working in large multi module projects over a period of time. One major issue I faced is, how to communicate to other teams of a new feature which they may be interested in.
Consider this scenario. Projects X, Y and Z depend on a project P. All depend on version 1.0. Now I work on X and P, do some fixes and add a new feature, and give it version 1.1 (so as to avoid doing something unexpected to Y and Z). Y and Z are unaware of new verion of P.
Subsequently, the version of P may go on with fixes, incompatible changes, features to version 1.2, 1.3 etc.
Is there some way so that folks in Y and Z get to know that there are changes in P, and new features which they may like to incorporate? Thanks.

  • Incompatible changes should reflect in changing the major version instead of minor (2.0 instead of 1.2). The rest is a communication issue. It strongly depends on how you communicate in your company or team. You could however define dependencies to always use the newest version, but I would not recommend that.
    – Andy
    Commented Feb 2, 2017 at 18:59

1 Answer 1


Simple: communication works the same way as if P would be a component provided by a third party vendor:

  • establish a fixed place (web site, file storage, Wiki, dash board, whatever you are using in your organization) where new releases of P are announced and available for download.

  • make sure there exists a useful changelog for P, maintained with some discipline, which describes all changes which are visible from a user of P (and not more)

  • let the "product owner" of component P actively inform anyone who wants to be informed when there is a new release of P (for example, the product owners of X, Y and Z). Other product owner should be able to choose if they want to be notified for new releases, or if they don't want to be bothered.

Not the answer you're looking for? Browse other questions tagged or ask your own question.