Monday, 16 April 2012

Full application lifecycle testing… are Application Lifecycle Management (ALM) tools the solution?

A colleague and I recently presented at SIGIST on behalf of Microsoft and during that session we asked the question: How many of you do full lifecycle testing? We had explained what we meant by full lifecycle testing – testing of all the project deliverables from requirements and design, all the way through to code delivery and beyond. However we were amazed by the response. From an audience of 80+ people only a very small number put their hands up. I must admit this did surprise me, bearing in mind the type of people that usually attend SIGIST events are progressive test professionals keen on doing testing according to best practice and are mainly professionally qualified. So I asked myself the question… why don’t they?

Why doesn’t everyone do full lifecycle testing?
From my own experience, the reason can be due to cultural issues – testers only get involved during the development phase, due to issues with a lack of understanding of the value of testing and QA. Another reason could very well be the absence of integration between BA’s (Business Analysts), development and test teams. However in some cases it is due to the lack of cohesive processes and tools that support the process.

So are ALM tools the answer… ? Anything that can help support the testing and QA process will help embed such good practice.
In my recent experience of using Microsoft Visual Studio 2010 and Microsoft Test Manager 2010, I have found that features such as having the requirements, code, builds, and testware all in one repository coupled with the ability to create “rich, actionable bugs” makes full lifecycle testing not only easy, but it almost helps make it virtually a “no-brainer”, as it makes collaboration between all the parties that help build the software extremely easy. Even where you have disparate development and test teams (especially in the industry that has a proliferation of off-shore test and development functions), communication and collaboration is facilitated and even optimised by ALM tools. However, even with the availability of ALM tools such as Visual Studio, you can lead a horse to water as they say… but you can’t make it drink!

How do you get full lifecycle testing embedded within an organisation?
After the presentation at SIGIST, I was asked by a delegate the following question; “I understand how ALM tools can help, but how do you convince my company of the benefits of full lifecycle testing?”

This is a situation I have faced on many occasions at all levels of software testing during my career.  There was a time before it was widely acknowledge that the early prevention of defects was far cheaper than a cure.  What I would do to get help get this message across to the management and development teams would be to manually track the defects found and wherever possible trace them back to the requirements. This proved to be a powerful argument for the early prevention and as with tangible evidence I found it worked in all cases.

In the fast moving IT industry, the majority of people now understand the value of value of preventing defects as early as possible in the development lifecycle.  But even with this understanding they still require the knowledge and QA skills to help embed such principles. In my mind there is no doubt that ALM tools such as Microsoft Visual Studio 2010 can help make it a much easier and less painful process.

Monday, 2 April 2012

The HM Government Cloudstore; Innovative technology… innovative approach!

Thought I’d jot down a bit about one of our recent engagements I have been working on; the UK Gov Cloudstore App Store with SOLIDSOFT. This capability was launched in late February to much media fanfare and acclaim. Those of you that have followed this story would have seen that the first iteration was built and tested in around 4 weeks. Solidsoft asked us to work in partnership on this venture as they knew we could embed ourselves into their small agile project team and get deeply absorbed into the development lifecycle. We were excited to get involved in this project as it utilises “best of breed technologies” such as Windows Azure and bleeding edge Microsoft design principles namely Metro style UI .

The way we achieved the delivery of a relatively big undertaking in such a short space of time is due to our collective commitment to the agile/iterative development and testing. As soon as there was anything tangible to test, it was unit and system tested and continuously regression tested throughout the project lifecycle. This obviously meant that there was always a good quality code base for us to work from; that continuously increased in quality, iteration by iteration.

Other challenges we faced brought about by the compressed timeline was securing a scalable test environment. We managed to get around this issue by leveraging the applications Windows Azure powered technology. We placed performance test agents within the Azure cloud layer, which allowed us to utilise the on-demand elasticity to scale up and down capacity as required. I feel really proud of our achievements on this short-burn, high profile project and really enjoyed working so closely with our trusted partners such as SOLIDSOFT and working on cutting edge, relevant technologies such as Windows Azure.

What is in the CloudStore?

As part of the Government's G-Cloud programme we have set up a framework agreement for the public sector to be able to procure a range of cloud-based services. You can find out more about the programme at the G-Cloud blog.

The services include:
  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS)
  • Software as a Service (SaaS)
  • Specialist services such as configuration, management and monitoring