This post originated from an RSS feed registered with Java Buzz
by Carlos Perez.
Original Post: Profitability = Functionality + Manageability
Feed Title: .:Manageability:.
Feed URL: http://www.manageability.org/blog/stuff/rssDisabled?portal_status_message=Syndication+is+Disabled
Feed Description: Random thoughts on the manageability of complex software.
Yes, a pretty insightful new law. It's actually derived from Jim Coplien's observation about the dichotomy between function and structure:
Both structure and function are important to profitability. When we think of profitability we most often think of the functional side: What can we sell, and for how much? The functional side is directly visible to the customer. Function is what customers are willing to spend money for; it is the direct customer value that software enterprises deliver. A common view is that good function, delivered in a timely fashion, is the heartbeat of a thriving enterprise.
Profitability isn't only about revenue, but about cost as well. Good structure holds down development costs by localizing change. It might also reduce cost by making the code easier to understand and hence to modify. [snip] These are competitive considerations in the marketplace, considerations that affect the revenue stream. Beneath these factors lurks the increase in raw development cost that owes to poor structuring: long discovery times, or more intense coordination across major interfaces.
However, if I chose Jim's words the formula would be "Profitability = Function + Structure", but as any science student knows, you've got to balance the units. So you can either have "Profit = Function + Structure" which requires assigning a monetary value to function and structure. You could try "Profitability = Functionality + Structureability" but the last variable isn't an english word. In the end, you come up with the extremely elegant formula above!
Actually to be a bit more precise, Manageabilty = Maintainability + Visibility where Maintainability = Structure(ability).