I just answered a linkedin question about what will become the predominant solution SaaS or On Premise. I thought it worth posting about.
Firstly lets have a look at why some organizations may have a natural resistance towards SaaS. An Article in CIO magazine lists a number of these reasons which I summarize here.
1. Service levels cannot be guaranteed by SaaS vendor
2. Lack of configurability
3. Sharing functionality with hundreds of potential competitors
4. Elimination of CIO role
I will add a couple more here
1. Hosting data outside of firewall.
2. Loss of control due to business units running "rogue" IT projects using SaaS.
Lets take a look at why these 'inhibitors' become non-issues for SaaS.
1. Firstly SaaS Service levels. Gone are the days where a startup SaaS vendor will try to host their own service. This is not a core competency, as such SaaS vendors follow their own value proposition ie find an expert to handle Hosting and service levels. Companies such as Rackspace and Opsource will handle this side of the business with guaranteed up times.
2. Lack of configurability. SaaS obviously enables you to implement a system which can be used in a very short amount of time, bypassing on premise challenges such as server provisioning and software installation. However SaaS does not mean the end of configuration. Salesforce.com as an example provides a very flexibility platform for building your own custom objects and UI, as do many other vendors. This enables you to model the 20% of your business process which is unique to you.
3. Sharing functionality with other organizations. This works both ways, sure you may have had an idea which the SaaS vendor has taken and made available to others. But this means you too will benefit from other organization's ideas. Furthermore the uniqueness of your business process is part of the configuration model mentioned in item 2 above, it is not part of the standard functionality of the multi-tenant single instance.
4. The CIO role will not be eliminated. In fact I see it going the other way, where it becomes even more a strategic organizational role. The CIO must make decisions on what is SaaS and what is on premise, they also need to determine how these systems integrate and how information is conveyed within the organization.
5. Data outside of the firewall. This continues to be a major topic in the news. But as the trend of utilizing data center experts such as Opsource and Rackspace increases then the risk continues to reduce, as these companies' entire success hinges on security and reliability.
6. Rogue Projects. Many time business units within an organization will look to a SaaS solution as they have been told by IT that their needs cannot be serviced in a timely manner internally. As SaaS becomes more widely accepted and recognized by Internal IT not as a threat but as an asset then SaaS projects will not be seen as rogue projects but rather an IT recommended solution. This will enable CIOs to adopt SaaS in a more structured and integrated approach.
The current generation of CIOs may have these inhibitions towards SaaS and will take time for these 'fears' to be overcome.
However what ensures the longevity of SaaS is the next group of CIO's who are in college or have recently joined the workforce. This crop will see Web 2.0 as a totally natural way of doing business as its what they do in their personal lives.
Storing files and documents, in Google, in Microsoft Live, social networking, wikis all are ingrained in this new generation and SaaS will become the obvious choice.
Monday, November 5, 2007
Why SaaS will become the preferred solution over On Premise.
Wednesday, August 29, 2007
Seven Steps to successful user adoption of your Software as a Service Solution
We've been busy provisioning a whole bunch of new customers in my role at Forcelogix.
Only now have I had time to sit back and look at what we have done in the last few years to get to where we are.
Forcelogix is not my first "foray" into Software as a Service Solutions, but when we started up Forcelogix, it was at a time where Salesforce.com was truly setting (and still is) the benchmark in this space. As such, customer expectations and knowledge were far greater than my last foray into On Demand services.
As we have been acquiring new customers, it has been a learning curve for us as an organization. We have our own Product roadmap of course but in implementing our product for these new customers it has "encouraged" us to fasttrack some of the items on this roadmap. Without successfully doing so, we would not have closed the deals that we have now and we would not have retained the customers we already have. A successful ongoing SAAS business is all about Monthly Recurring Revenue and without successful user adoption you will fail miserably in this area.
As such I decided to write up here and provide to you the list of "Must Haves" you will need to implement if you are looking at starting up a successful Software as a Service Company. Hopefully this will be useful to some of you out there.
1. Agile Development Methodology.
Your Dev Team must adopt an Agile Development Approach to delivering product.
Software as a Service Development is all about low cost, high quality and speed of delivery.
You cannot afford to adopt a bloated and slow approach to delivering features.
Users will identify features and issues that will become showstoppers unless you can resolve quickly.
The ability to deliver new features quickly will also help retain user interest in your product.
2. Dynamic Localization.
If you have any hope at all of selling your product to Multi-National Companies, you need to provide a web based mechanism for your customer to localize to their language and culture. Localization cannot be the traditional Development function. Each customer and country has their own terminology and set of idiomatic expressions. For successful user adoption of your product, you need to be able to let the customer decide how to translate your product.
3. Offline (Occasionally Connected) Module.
Without an offline module, you will not get far in the B2B On Demand Space.
Users will always want to have the option of using your product without an Internet connection.
4. Reliability.
Not much needs to be said about this. If users cannot access your system they will stop using it. Just make sure you have plenty of redundancy in your data center, and detailed recovery plans which have been tested.
5. Ease of Use and User Experience.
Users have very little patience, and if they are required to read a "book" on how to you use your product and attend 3 day training courses you will not have good user adoption. A 2-3 hour Web conference should be sufficient. User Experience goes hand in hand with this. A non intuitive application is doomed to failure. A simple UI along with good performance will go a long way in building up user adoption. AJAX can help with the "perception" of speed in your application.
6. Measure.
Provide a convenient way for the "Client" Administrator to monitor usage.
Implement a usage report in the "Admin" view of your product. You need to identify patterns of low usage and act on them quickly. You may see such things as lack of communication, "incorrect data" are the cause of some users not using the product.
7. Communication
Communicate regularly with your key contacts. Make sure you are always up to date on customer perception and what is happening in the customer organization. Personnel Changes, IT Policy changes, Business process change can all impact user adoption and you need to spot these early.
I hope you find this useful.
Posted by
Troy Wing
at
3:37 PM
Labels: B2B, Monthly Recurring Revenue, On Demand, Software as a Service, User Adoption
Monday, July 16, 2007
Internationalization and Localization
Just spent the last 2 months, building and rolling out localized versions of our web and windows products to multiple countries including Japan, The Netherlands, UK and Ireland, Belgium and Greece.
This was a true challenge in the scheme of things as localization and translation is traditionally done at build time of applications, but in the On Demand world this is not practical as every client has different needs and we are using a single instance of the application (hence the term multi-Tenant).
Our challenge was two fold, building a localization architecture which was dynamic for both the web piece and then being able to synchronize localization information to offline clients.
What we did was move application string resources to a SQL Server datastore and still use the .NET Framework Resource Manager. This enabled us to provide an Admin module to our clients in our On Demand Web Application which allowed our clients to perform translations dynamically. The benefits for doing it this was immense, the client could see the results of their changes immediately in the front end application on the web, and the translations would synchronize down to offline users on their next synchronization.
The project is a major success and we have users all around the globe using our application localized to their culture.
Posted by
Troy Wing
at
4:07 PM
Labels: ASP.NET, Internationalization, Localization, On Demand, SAAS, Software as a Service, WinForms