I'm at the Enterprise Software Summit in Sundance this afternoon (I'm speaking tomorrow). Greg Gianforte, from Right Now, is speaking about things they've learned about supporting software as a service (SaaS).
- Deployment choice - on premise and hosted. Large enterprises, particularly financial and government, need an on premise solution. You need a software architecture that supports both. Installations often go to a hosted solution, hosted solutions rarely move to on premise installations. Software has to be architected from the start with multi-tenancy in mind.
- "On demand" does not equal "pay as you go" Separate the way to pay from the type of installation. Options include term paid monthly, term paid net 30, and perpetual license plus maintenance.
- Upgrade choice - Forced upgrades don't work--give customers the choice of when to upgrade. You can't update people's work environment without upsetting their work. They need to be trained and customers need to be in charge of when that happens. Multi-tenancy must support multi-version as well. You have to automate the upgrade process. Allow users to create a sandbox with their site in the new version and play with it.
- Customers want integration choice. The SaaS must integrate seamlessly with the company's existing infrastructure. For example, how doe it integrate with existing warranty, credit card processing, and order fulfillment systems? Web services remove location constraints and abstracts data.
It all comes down to customer choice. The only way to do this and not bankrupt yourself is to architect for it.