(Via Benjamin Booth). Tim O'Reilly in his keynote address at Eclipse Con 2005 distills a list of operational principles for gaining competitive advantage while deploying technology for critical business applications.
- Embrace the value chain: Proprietary applications -> build on -> Commoditized technology -> build on -> Single-source suppliers.
- Design for Particpation by architecting for easy incorporation into larger system.
- Design for Usability by releasing early and often, where users submit bugs and solution suggestions.
- If your business is being commoditized, focus on testing, assembly, and integration so user's can have the best of the market's commodities.
- Give users choices but not too many by offering products in proven configurations (standards). As new configurations emerge support them.
- Since today's applications are internet based, treat them like services (not artifacts) and add features as a part of the normal user experience. Tim calls this "The Perpetual Beta".
- Add value to your product by incorporating user-data. Good example: Amazon Bad example: Barnes & Noble.
- Set aggressive defaults for aggregating and incorporating user data to improve the overall value of the application.These can be unobtrusively configurable.
- Design applications for n-devices.Today's software is above the level of a single device.
- Reduce complexity and barrier to entry for third party developers by explicity supporting emerging classes of applications (see PHP, Ruby on Rails). Each one is a jem - truly well thought out - hope one day Tim finds time to expand this list and publish a book - that would be a runaway hit without doubt.