Move responsibilities from the role that creates the most undesirable coupling, to the roles coupled to it from other processes


Move responsibilities between roles to reduce the number of coupled roles.  Start with the undesirable couplings, determine which responsibilities in these coupled roles cause the coupling.  Where moving one of these responsibilities to the other role would remove all coupling between the roles, move the responsibility.


Move Responsibilities


It is common these days to start from a fairly well organized set of roles and responsibilities such as that provided by RUP.  It can be instructive to convert the activities and artifacts of RUP into a data flow diagram, based on the input to, and output from, activities.  Using a similar approach, one could map out any other process, and use this as a basis for grouping activities into roles based on the commonality of skill set in the activities and the communication across boundaries between the prospective roles.  Alternatively, one could just investigate ‘hot spots’ and move individual responsibilities, as in this pattern.