Application development code is too focused and too volatile to be promoted across the enterprise, and enterprise code is too generic and too hard to change for it to precisely address application needs. Coming to an agreement on these ownership / boundaries within the enterprise is critical for the intertwined success of all parties involved.
As a first step, I am proposing a simple ownership scheme. Given the four major types of binaries (user, application, domain, plumbing) along the X axis and application and enterprise developers along they Y axis. We can plot two curves reflecting who the "level of influence" assignable to either the developers or the enterprise. (see figure below)
The separation is not artificial, and reflects three very important principles;
Next, we will look at implementing the parts within the control of the Enterprise Architecture.