
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.
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
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.
No comments:
Post a Comment