Lack of Cloud Testing may Impact Your Business

Posted by Ram Garg on December 10th, 2009

Cloud COmputnig - on-demand anytime anywhereIn a world of new IT trends and buzzwords, a new one has emerged …. Cloud Computing.  Many past trends, buzzwords, and technologies have offered a lot of hype, but little impact when it comes to improving IT and, ultimately, business results.  However, Cloud Computing really does have a very compelling value proposition:  it allows IT organizations to focus on strategic activities that offer real benefit to the business without getting bogged down in resource-hungry day to day activities, AND it offers a real opportunity to reduce IT costs. Cloud enables solutions on-demand, anytime, anywhere.

Of course, there are challenges, both real and perceived.  Business leaders worry about mission critical things like cloud security, vendor locking, cloud performance, and availability. In order to protect their businesses, businesses should, and likely will, undertake a lot of due diligence before selecting a Cloud vendor.  And even that is not enough … For cloud to be effectively deployed and deliver real business upside, cloud applications MUST be thoroughly tested before release to customers, internal or external. 

Cloud testing / SaaS testing is not same as in-house application testing. Cloud applications intSaaS Application Challengesroduce many new challenges and traditional testing skills, methodologies, and tools are just not sufficient.  At the same time, testing is more important than ever as frequent issues may, at best, result into customer flight and loss of revenue.   At worst, a loss of customer data or violating customer information confidentiality may result in lawsuits that could devastate the business.

While there is a clear and compelling business case for Cloud computing, there are significant risks including performance, security, and availability.  To assure that cloud delivers on it value proposition, it is critical that you address:

  • Confidentiality: You must ensure that strict security measures are in place in your cloud application. Only authorized users are able to access information that is relevant to them. You must thoroughly test the security of your applications to preserve confidentiality of your customers’ data.
  • Resource Sharing (multi-tenancy): Cloud allows elasticity (e.g. resources are available on demand for your changing needs). If a proper resource quota is not in place, some applications can consume significant resources and negatively impact other applications. Your cloud environment where your application is deployed, should assure that enough resources are reserved for varying load, and that consumption of resources by one application cannot negatively impact other applications. Each application / customer must have a strictly enforced quota to ensure smooth delivery of all applications.  You must thoroughly test availability and quota boundaries for cloud applications
  • Performance:  As your customers access your cloud applications over the internet, loads will inevitably vary based on things like the number of customers, how many are logged in at give time, and how extensive the operations they are performing. You must thoroughly test performance to understand behavior with varying loads, identify when you need to increase resources, and limit certain operations during peak usages
  • Availability:  Resource sharing and dependence on internet infrastructure can caused availability issues for many cloud applications. You must perform exhaustive load stress tests with resource utilizations metrics and soak tests to assure that your application does not have availability issues.

To deliver real value to the business, proper steps must be taken before revenue-generating and/or business critical applications are migrated to cloud. Testing is clearly of critical importance. Without proper testing, migrating services to cloud may, and likely will, negatively impact your business, from disruptions that are merely nuisances to customer data confidentiality issues that could land your business in court.  The stakes are definitely high and mistakes could be costly. Today, social media will ensure that failures with your cloud infrastructures will be front and center with future prospects and customers. 

To complicate matters, cloud testing requires specialized capability. There are few organizations that have the skills, methodologies, and tools to effectively test cloud applications. The better approach may be to partner with a company that specializes in testing cloud applications.  Beyond the risk management and cost saving aspects, you may be enhancing your marketing message by highlighting the steps you have taken to address concerns around things like data security, vendor locking, performance, and availability.

Cloud computing looks to be an unprecedented opportunity, and not just another fad. But, you must be willing to take the steps required to assure that its potential is fully realized, while at the same time addressing real risks like security, performance, and availability.  A well thought out testing strategy and plan is one critical component that cannot be overlooked.

Leveraging Specialists to Assurance Software Performance

Posted by Ram Garg on December 10th, 2009

Offshore outsourcing is nothing new to the software industry as it was one of the first areas to really embrace the offshore outsourcing model. The abundant workforce and lower labors costs overseas lulled buyers into thinking that dramatically reduced overall costs were guaranteed from outsource arrangements.  Unfortunately, reality and perception are not always the same.  Despite a maturing outsource industry and constant improvements in infrastructure, every year countless software projects either outright fail or experience massive cost and schedule overruns, costing companies millions if not billions of dollars. Why is this happening?

A single-minded focus on direct cost reduction has led many companies to select outsource partners that are really generalists in their fields, basically offering bodies at a discounted rate.  They then task the outsource partner with multiple, interdependent specialized functions. Is it realistic to expect a generalist partner to provide enhanced value, and to do so in multiple independent functions?  Of course not! The best that can be hoped for is average performance, and therein lays the problem.

While cost is obviously an important factor, the overriding goal for any outsource decision must be to achieve enhanced value and an overall competitive advantage through improved return-on-investment, product quality, and time-to-market. The outsource decision moves from tactical to strategic, where it must result in increased value to both the end customer and the business.  The bottom line? An outsource decision is far more complex and important than a lower hourly rate for a resource.

As companies fully understand the strategic nature of outsourcing decisions, it becomes increasingly clear that selecting outsource partners based solely on price is not the best answer. Additional value must be created by improving the way things are done, improving business processes, and this is the domain of specialists, not generalists.   A new paradigm has started to emerge to address this reality and it represents the next generation of outsourcing: multisourcing.

Put simply, multisourcing involves leveraging multiple specialized teams to deliver enhanced value to the enterprise. These teams can be internal or they can be outsource partners. The idea is that a specialized team focusing on a single function (i.e. software testing and verification) can do that function far more efficiently and effectively than a team of generalists. A multisourcing strategy allows companies to break down key organizational requirements into multiple specific functions, and then align specialized teams with those functions that can execute in the most efficient and effective manner possible. How does this differ from a generalist approach and why is it so important? 

  • The specialist is much more likely to be abreast of industry trends and best practices in their function, and to have a purpose-built process and operational infrastructure in place to efficiently and effectively execute on those best practices.  
  • Specialist teams, focusing in a single function, are likely better-trained, more experienced, and more knowledgeable in that function.
  • As teams specialize, project status information timeliness and reliability improves. Why?  The conflict of interest inherent in a single generalist team handling multiple interdependent functions is removed. It is in every team’s interest to point out real and potential issues upstream and downstream in the process.

Companies can either build specialized capability inhouse, OR they can leverage a multisourcing strategy to tap capability without the need to invest in internal infrastructure. In many cases, it makes far

more sense to work with multiple, specialist partners than to try and build all capability inhouse. Trying to do everything inhouse can distract from the company’s core revenue-generation activities, not to mention that finding and hiring good people is expensive and organization building is inherently high-risk in today’s environment. Companies, in general, are leaning more on outsource partners for enabling functions and processes to allow more focus on core revenue-generating business activities and processes and that trend can be expected to accelerate.   

A multisourcing strategy may offer less risk and more predictability and certainty of results

Even five years ago, a multisourcing strategy may not have been possible as true specialist partners didn’t really exist, but this is changing. As the outsourcing market has matured, and as competition among providers has increased, providers have been forced to specialize to gain market share and competitive advantage. A multisourcing strategy leveraging multiple specialist partners now represents a significant opportunity for companies to achieve much more than a better hourly rate for resources. A well 

Put simply, multisourcing involves leveraging multiple specialized teams to deliver enhanced value to the enterprise. These teams can be internal or they can be outsource partners. The idea is that a specialized team focusing on a single function (i.e. software testing and verification) can do that function far more efficiently and effectively than a team of generalists. A multisourcing strategy allows companies to break down key organizational requirements into multiple specific functions, and then align specialized teams with those functions that can execute in the most efficient and effective manner possible. How does this differ from a generalist approach and why is it so important? 

·         The specialist is much more likely to be abreast of industry trends and best practices in their function, and to have a purpose-built process and operational infrastructure in place to efficiently and effectively execute on those best practices.  

·         Specialist teams, focusing in a single function, are likely better-trained, more experienced, and more knowledgeable in that function.

·         As teams specialize, project status information timeliness and reliability improves. Why?  The conflict of interest inherent in a single generalist team handling multiple interdependent functions is removed. It is in every team’s interest to point out real and potential issues upstream and downstream in the process.

Companies can either build specialized capability inhouse, OR they can leverage a multisourcing strategy to tap capability without the need to invest in internal infrastructure. In many cases, it makes far 

more sense to work with multiple, specialist partners than to try and build all capability inhouse. Trying to do everything inhouse can distract from the company’s core revenue-generation activities, not to mention that finding and hiring good people is expensive and organization building is inherently high-risk in today’s environment. Companies, in general, are leaning more on outsource partners for enabling functions and processes to allow more focus on core revenue-generating business activities and processes and that trend can be expected to accelerate.   

A multisourcing strategy may offer less risk and more predictability and certainty of results

Even five years ago, a multisourcing strategy may not have been possible as true specialist partners didn’t really exist, but this is changing. As the outsourcing market has matured, and as competition among providers has increased, providers have been forced to specialize to gain market share and competitive advantage. A multisourcing strategy leveraging multiple specialist partners now represents a significant opportunity for companies to achieve much more than a better hourly rate for resources. A well thought out multisourcing strategy really can offer companies access to enhanced value and an overall competitive advantage through improved ROI, better product quality, decreased time-to-market, and an overall reduction in risk associated with software product development.

 

Copyright © 2009-10 ramgarg.com