Friday, August 28, 2009

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.

By Jesús Magaña

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.

Monday, July 13, 2009

Wasting Money on SaaS Product Development?

It seems that when software companies are striving for growth, they tend to equate spending big money with the probability of future success. A good case in point being the massive investments some software companies are making to develop Software-as-a-Service (SaaS) products. Based on a bit of research, it seems that the average time frame from build to launch for a new SaaS product is 12-18 months and the average cost is over USD$1,000,000.

In a hostile economy where users are demanding to achieve more with less, the SaaS model is certainly in greater demand. There’s no doubt the move to SaaS is required for most software companies and those software companies that can embrace the new SaaS paradigm are being validated by their results in the marketplace . (Article) Although you may still find a few large on-premise companies that have not figured out how to maintain their current revenues under a SaaS model.

Agile project management or “Agile software development” appears to be the primary methodology for building and maintaining SaaS offerings as it brings greater clarity, transparency, and control to the software development project. And according to SaaS University producer Rick Chapman of Softletter, 68% of SaaS companies are using Agile as of 2008. (Article by Rally Software) Presumably, coupled with some form of Extreme Programming (XP) this leads to faster development and greater project success.

If you look at the 10 reasons why early stage companies fail from a VC perspective, the main reason is CAPITAL.

So why are software companies wasting 12-18 months and over USD$1,000,000 to build their SaaS products when cheaper and faster alternatives seem to be abound?

It’s possible that the numbers are skewed because heavily backed venture companies, such as Salesforce.com with its $200M original seed money, or large on-premise software companies are either trying to take their full feature products with 10 years of development history to market all in one shot, or they are acquiring successful SaaS startups and paying for the potential. Others suggest the on-premise companies don’t have the SaaS business and technical expertise yet still resist getting educated or getting help. For BigCo positions see articles on Sage, and SAP and Lawson).


More Info... Saas Development

Thursday, June 18, 2009

SaaS Consulting / SaaS Business Consulting

Are you thinking about introducing a SaaS offering to the market? According to Gartner, “worldwide software-as a service (SaaS) revenue in the enterprise application market is on pace to surpass $6.8 billion in 2008, a 27 percent increase from 2007…” and SaaS “…is forecast to have a compound annual growth rate of 22.1% through 2011… with SaaS revenue reaching $14.8 billion in 2012.” It is expected that a third of all software vendors will have SaaS offerings within the next 3 years, and that 40% of all new applications will be built as SaaS. This means that if you are not on the SaaS platform, your competition soon might be.

But as a traditional software company, migrating your existing technology and revenue model to SaaS can be complex and, without best practices, can be costly or even detrimental to your business. Nearly every aspect of operating a SaaS model is different from that of a traditional software business. So, how do you make the decision of whether SaaS is right for your company? And if it is, how do you build a roadmap to help you get there successfully?

More Info... SaaS Consulting

Wednesday, June 10, 2009

Rapid SaaS Development

To understand Rapid SaaS Development, you must first understand SaaS, Agile, and Rapid Application Development in general.

Rapid application development
Rapid application development is a software development methodology, which involves iterative development and the construction of prototypes. It is a merger of various structured techniques, especially the data driven Information Engineering with prototyping techniques to accelerate software systems development.

RAD calls for the interactive use of structured techniques and prototyping to define user's requirements and design the final system. Using structured techniques the developer first builds preliminary data models and business process models of the business requirements. Prototyping then helps the analyst and users to verify those requirements and to formally refine the data and process models. RAD approaches may entail compromises in functionality and performance in exchange for enabling faster development and facilitating application maintenance.
More Info... Rapid SaaS Development

SaaS Product Development

This blog posting by Rick Chapman of Softletter and SaaS University really gets you thinking about automation and the role of the Software Product Manager for SaaS companies.

In Chapman's 2009 Softletter SaaS Report, 47% of SaaS vendors reported that they had built feature management and request functionality directly into their products. And apparently the number is rising rapidly. Likewise, "SaaS companies are also implementing voting, polling, communities, peer to peer communications and more directly into the application environment." according to Chapman.

So it seems that rather than being simply keepers of the Tick List, product managers can leverage feature management tools to collect more ideas for enhancements, and spend more time validating the business value of each idea.

For new SaaS product development engagements, it is recommended to follow the 80/20 rule.; it is believed that 20% of the functionality delivers 80% of the value for any given software product. Thus when beginning a new product development, it is recommended to focus on the 20% you can take to the market as a beta.

More Info... SaaS Product Development