SaaS as quality incentive


In a world where the economy is not in a good shape and 52% of the IT projects cost as much as twice the original estimate and behind schedule, it would seems to be a bad idea to invest in software development. However, there is an approach which minimizes those risks and provides a high degree of quality, leveraging an improvement of the whole software development cycle and final product, and it is called Software-as-a-Service (SaaS).

SaaS solutions avoid the problems or errors generated by customer’s configurations, data or usage patterns, exhaustive version updates that can take days or weeks. SaaS uses a single point of service and configuration making sure that all customers get the same experience no matter what type of computer being used. SaaS also reduces the version update time when a fix or enhancement is needed. However, this advantage generates a threat on your service availability, not only for a couple of users but for everyone who is using or is trying to login to the application.

Imagine that your main feature of your service is down or not working the way it was designed; all of your customers will be affected. Sounds too risky? Only in appearance, but definitively it is not; SaaS developers are very conscious about this situation and that is why they make tremendous efforts on preventing any critical error from the conception of the software idea to the delivery of the service. This is where Software Quality Assurance comes into play.

A Quality Assurance team, in a regular software development approach, works on finding defects and reporting them to developers, but you are not paying them for fixing something that they built with errors. In SaaS, a preemptive quality assurance must be followed; the whole team has a quality culture, requirements are gathered very carefully and then are deep analyzed to find early design problems, technical complexities, assumptions and conceptual misunderstandings. Before everything is ready to start coding it is necessary to define how each feature will be accepted as complete (what it should do, how it should work, and what should not do), this is also something that the SaaS customer verifies and approves. Developers and testers then will work on creating the application according to the common agreement, which means it would be delivered exactly as requested. Thus when testing time comes, it will be only to verify that everything is working properly and that time will not be used for finding defects. Good quality in the process will reflect good quality in your SaaS product and no wasted effort or money.

At this point you are probably thinking that not all SaaS vendors have a quality assurance culture, engaged from the early phases of software design, and you are probably right. This type of quality assurance is not being followed by all SaaS providers. There is one issue that you need to consider to identify a company that works this way, that is whether they use Agile Development. Agile Development ensures a constant customer relationship and closer and more interactive work with the development team, allowing the ideal conditions for engaging quality assurance in each phase of the life cycle. In other words, you will get what you asked for with a lower risk of unanticipated defects or faulty features, which as we discussed above, could negatively impact your end users and your business.

Going alone with a SaaS may not guarantee by default a good quality in your application service, but provides a great encouragement to follow a preemptive quality assurance strategy, which can be accomplished if your SaaS vendor is working with Agile Development approach. A good or poor quality of your software service will impact directly to your customers experience and the perception of your company, remember that a good quality gets built from a preemptive vision.

Contribution by By Jesús Magaña of the Scio Consulting SaaS Quality Assurance Team

References:

· SaaS in the Enterprise Over the Next Three Years, Jeff Kaplan, THINKstrategies. 2008

· Lean-Agile Software Development: Achieving Enterprise Agility, Shalloway-Beaver. “Chapter 9. The Role of the quality assurance in lean-agile software development”, Net Objectives, 2008.

Business Implications of Full SaaS Multi-Tenancy

As technical models evolve, the business models have changed and vice versa. The same is true with web based applications which evolved from on-premise to hosted and ASP models to recently the Software-as-a-Service (SaaS) model.

This article will attempt to clarify the Business Implications of Full SaaS Multi-Tenancy. It is primarily directed towards software executives that deliver software on an ASP model and are seeking to justify investing in making the changes to full SaaS.

First off, let's look at Microsoft's early description of the SaaS maturity model for a frame of reference. In Fred Chong's paper entitled Architecture Strategies for Catching the Long Tail, he outlines 4 maturity levels.

For those, like me that aren't that technical, and getting back to the point of the Business Implications of Full SaaS Multi-Tenancy, it should be easy enough to understand a few things about Level 4, Full SaaS Multi-Tenancy:

Cost Reduction for the ISV: With a multi-tenant database scheme, and a highly customizable single instance of your application, you can achieve automated provisioning for new customers. This means that news customers can just go online and sign up, rather than requesting that the ISV setup a new hosted version.

Additionally, with one version of the software, delivered via the web, all customers can benefit from product enhancements as they become available and choose to enable them.

All in all this reduces the number of human resources requried to support a growing customer base.

Increased Revenue: Now with a lower cost basis for running a software business, and a subscription based pricing model, you can now lower the cost barriers to entry for prospects. The decision to utilize a SaaS application becomes an operational expenditure (OpEx) of several hundred or thousand dollars per month, rather than a capital expenditure (CapEx) of several hundred thousand or millions of dollars for hardware, telecommunication lines, software licenses, and implementation fees. This creates a lower up front cost to your customers and increases the addressable market that can utilize your software.

Innovation: Tying back to the example of product enhancements and new feauture rollout. it is recommended as Best Practices that there is a community driven feedback sytem built into the product to drive innovation. This will allow product managers to organize active users, collect revenue generating enhancement ideas and push them through to development faster than ever before.

Software-as-a-Service (SaaS) Architecture

There are 3 major facets software companies must consider when transitioning from traditional on-premise software to SaaS:

Business Model
•Application Architecture
•Operational Structure

When focusing on the SaaS Application Architecture, there are three key differentiators that separate a well-designed application from a poorly designed one.

A well-designed SaaS application is scalable, multi-tenant-efficient, and configurable.

More Info... SaaS Arquitecture