Every function has an owner and every component has an owner


Make sure every function has an owner and that every component has an owner


Function Owner And Component Owner


You may organize by function or use case, with no component ownership. On the other hand you may organize by class or component, with no function or use case ownership.  Functions tend to cut across components.  You recognize the importance of organizing according to the architecture of the project (ConwaysLaw), but things aren't simple.  If you just assign function owners, the components become shared, and lose their identity and integrity.  But if you have only component owners, the functions become orphans.  Who is looking after their identity and integrity?  So make sure every component has a responsible owner and make sure every delivered function has a responsible owner.  This is a specific variant of the OwnerPerDeliverable pattern.  No conflict resolution is needed in this strategy, since the component owner has right of refusal to any request, and the function owner has recourse to another to get the job done.  An alternate approach is TeamPerTask, where a task is the unit of ownership and conflict


Modern methods favour CollectiveOwnership to support the needs for ConstantRefactoring, and consider any form of single ownership to be an antipattern.