A few years ago, I was product manager for an ASP application called Spirello Express for creating and maintaining web sites. It was offered as a service for a small subscription fee and targeted specifically small businesses. By today's standards it would definitely have qualified as a SaaS application since it was developed as a web application by a software development company with expertise in modern internet development technologies such as XML, XSLT and Web Services. Even though the service was hard to sell at the time for various reasons (such as low interest in the web among small businesses), I found the SaaS software delivery model to be very attractive and having great potential. Here are some of the things I liked the most.
- You can build a user community to get feedback about the service and its features and easily ask about desired enhancements.
- There is no real need bundling a lot of features and enhancements into big releases, given that the current software and interface design is scalable and that the service does not have to be changed in its foundation when new features are added. Instead, you can continuously release new and enhanced features in a way that goes along very well with iterative and incremental software development processes. It also lets you respond to competition faster that with traditional software delivery models.
- You can sneak out new features and enhancements under the "beta test" cover and let your users evaluate them to determine if they add value or not and what enhancements to make.
- You (eventually) learn how to deploy changes to a live environment with a minimum of disturbances for your users.
- Finally, the user experience needs to be intuitive because you don't have the option to force your users to read comprehensive manuals or attend training courses.
The main headache for us was the unpredictable availability and performance of the service. It was hosted by a small hosting company from which we bought capacity and we had no real control of the environment. It could suddenly go down without us being made aware of it by the hosting company. We should have hosted it ourselves, but were too small as a company to afford that investment at the time. I thing Google and many other SaaS providers are doing the right thing in this respect - they own and control the environments in which their SaaS applications are hosted.