By agreeing on common specifications for lifecycle resources and the services to access them, we can eliminate traditional barriers between tools and open the door to new forms of collaboration. OSLC can bring value to software delivery teams and tool providers alike, from the most Agile to the most ceremonial of projects, and for commercially-licensed, open source, and internally developed tools.
All of these things are vying for attention and evangelism. Some of them are great, some of them are stupid, but they’re all clubbed together under this vague banner of ‘The Open Web’. It sets expectations and demands from developers, who are all the while being wowed by the efficiency and quality of proprietary application frameworks like Flash and Cocoa.
When I consider the quality of software design on the products we write and sell, I do so from the dual perspective of business owner and programmer.
As a business owner, I pay attention to our user's success and our revenue.
As a programmer, I pay attention to our software process and code quality.
Balancing these perspectives is a practice I call Sufficient Design.
When processes happen very fast, and there is no way to isolate one part of the system from another, the system is tightly coupled. Tight coupling allows small incidents to spread into large-scale failures.