VS2010: Case Study: Team System in practice

 By Tim Anderson

How Visual Studio 2010 helped Confused.com get its site sorted.

HardCopy Issue: 52 | Found In: Visual Studio 2010 | Published: 19/05/2011 | Last Revision: 19/05/2011

Confused.com is a price comparison Web site with a particular focus on insurance and financial products. As a Web-based company the performance and features of its site are business-critical, and the interactions with both users and third-party providers are complex. The site is built on the Microsoft platform, and the company has around 40 developers plus a 10-strong Quality Assurance team, each equipped with Visual Studio 2010 Ultimate Edition. “We were originally on Team Foundation Server 2008. We’re now fully 2010. It’s all C#, it’s all Web site programming, and there’s a lot of services we write as well. We’ve moved to a service oriented architecture, and we try to use MVC,” explains development lead Ian Griffiths. There were concerns when Visual Studio 2010 was released that the rebuild of the IDE would impact performance and stability, but the team has found otherwise. “It’s been far more stable than we had previously,” says Operations Analyst David Trickey, although he attributes the improvement partly to investment in high performance workstations (all quad-core Intel Core i7 boxes with 8GB of memory) and a much improved server installation. “With VS 2010 we put a proper topology in with a resilient Web farm and decent build servers,” he says. “It’s been running for well over 12 months.” Unusually, the team run Visual Studio on Windows Server 2008 R2, rather than on Windows 7. “We wanted to make sure that what we’re developing on is exactly the same as what we’re running on in production,” says Griffiths. Jamie Jones heads configuration and release management, and identifies the improved build system as a highlight: “We had an issue with 2008. You can have eight build servers but you have to point the build at a specific server. You can have a massive queue on one build server but seven servers lying dormant. Now it load balances, and as the builds come in, it takes it to the next available server. That’s been a massive performance increase for us.”

End-to-end builds

The way builds can be automatically deployed has also brought benefits. “With 2010, we’ve got builds set up which we call end-to-end builds, and when someone checks something in they can just run that build and it will auto-deploy to the environment of their choice. At 9pm each night those end-to end-builds will rebuild everything in source control and re-deploy to the designated environments, and every morning our QA team knows they are working on the most up-to-date cut of code. It’s taken a big hassle off my team. “The other main feature would be around Test and Lab Manager. You can now have our test cases as first-class citizens within the ticketing environment so it’s far easier to find these tickets. With Test Manager you have test plans in test suites, and these test suites can have queries associated to automatically pick up the relevant test cases that they’re going to run.

Confused.com screenshot
Confused.com has used its pet Insurance site as a test bed for the advanced test features of Visual Studio 2010.

“We used our Pet project (pet insurance, that is) as proof of concept for that, and we’ve now got hundreds of test cases documented within Foundation Server and Test Manager. That allows you to run the query to find out whether you’ve run all the tests, have they all passed, and so on. “Our aspiration is to take it a level forward and start to use the automation tools, and plug those into the build. We do a build, it would do its unit testing and any integration testing, we would then deploy that build and we’d run an automated regression pack and smoke test pack, even a load test pack, afterwards. A successful build would then mean it’s built, it’s deployed, and it’s run all these tests, and give us a green light so that when QA come in the next day, the majority of the work has been done and they are testing specific new features.” Load testing is also better, as Trickey explains. “Load testing is one of the benefits that we’ve got in 2010 that we didn’t have in 2008. With the service-oriented architecture that we’re moving towards, being able to load-test and integration-test against the service is something we could never do in 2008. There is also the reporting that comes out of it, there’s a lot of plugins that can draw your trend analysis and base lines and take a lot of the manual grunt calculation out of the equation.” Griffiths is impressed with concurrency features in .NET 4.0. “Things like the parallel library, for example. Performance and scalability are some of our big issues, and managing parallel programming is a difficult task. Having a library with a lot of functionality pre-rolled is a significant benefit.” What’s next? Maybe Windows Azure? “It’s very early days,” says Griffiths. “Some of our architects are quite interested in it. It’s too early to say, but it’s something any organisation should be aware of.”

Share and Bookmark  

Comments

Be the first to comment about this article...

Leave a comment

You must login to place comments.

Skin Border Image

Related Links

Skin Border Image