1

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.

Apurva Singh
  • 135
  • 4
  • 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 Feb 02 '17 at 18:59

1 Answers1

2

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.

Doc Brown
  • 199,015
  • 33
  • 367
  • 565