There is no clear role or organizational accountability to individual market segments.
Context:
The project has adopted sound architectural principles, and can organize its software according to market needs.
Forces:
The development organization should track and meet the needs of each customer.
Customer needs are similar, and much of what they all need can be done in common.
Different customers expect results on different schedules.
Solution:
In an organization designed to serve several distinct markets, it is important to reflect the market structure in the development organization. One frequently overlooked opportunity for a powerful pattern is the conscious design of a "core" organization, that supports only what is common across all market segments. Ralph Johnson calls this a framework team. It is important to put this organization in place up front.
Design Rationale:
Most of the rationale is in the forces. Two of the major forces relate to individual customer schedules, and to posture the organization to respond quickly to customer requests. Two important aspects of domain analysis are broadening the architecture (e.g., by working at the base class level), and ensuring that architectural evolution tracks the vendor understanding of customer needs. A single organization can't faithfully track multiple customer needs, and this organization allows different arms of the organization to track different markets independently.
Next: Developer Controls Process
Last updated
Thu Mar 23 09:00:44 CST 1995
Copyright © 1995 AT&T