anchor.diff:  those might be pdf-generation, user/role management or the like. Factor out those
   commons into a separate module/subsystem, which is used by (likely all) other split systems.
   +
  +Make part of the whole development team responsible for the commons.
  ++
   [[figure-split-commons]]
   image::improvement-approaches/cbs-3-factored-commons.png["CBS, commons", title="Change-by-split, factored out commons"]
   
  
positive.code: several business domains, rendering this approach useless.
  * The required team-split might pose organizational challenges,
  as a currently productive (albeit large) team has to be disrupted.
  * The various user groups
  
  ===== Applicability
  
  
negative.code: +
  [[figure-split-final]]
  image::improvement-approaches/cbs-5-final.png["CBS, final", title="Change-by-split, all split systems reduced/optimized"]
  +
  This final step might need extensive preparation, e.g. by creating user-category
  specific unit-/integration-/acceptance tests. Reducing unneeded code
  can be quite difficult, if the original code has (extremely) high cyclomatic complexity
  or is very difficult to understand for other reasons (configurability, strange
    technologies, using strange/outdated/proprietary frameworks etc.).
  
  
  Steps 4 and 5 might be interchanged or done in parallel.
  
  
  ===== Experiences
  