Hotels.com is a multi-billion dollar business and one of the world’s largest hotel booking websites, receiving millions of visitors every day to its 85 localised sites supporting 34 languages. The in-house technology team is responsible for project management, development, quality assurance & testing and operations – the latter on call to provide 24/7 support. Traffic patterns roller coaster up and down as different time zones come into play. The application resides and shares the physical resources at Expedia’s data centres needing around 30 to 40 servers which are based on a standard open source stack of Tomcat, Apache and Java, utilising a SQL database.
The mantra for Hotels.com for 2011 was “go faster”. Ultimately this meant improving the speed to market for new products – and the development life cycle. “Although our business is totally technology-based, we don’t do technology for technology’s sake,” said Stuart Silberg, Hotels.com vice president of technology. “It has to serve the business. To be truly Agile, you have to get the whole business behind you. It is as much about business transformation as reducing development times. Agile shines the spotlight on issues and enables the business to see a direct cause and effect quickly. Did this new feature on the web site convert into more business or not?”
Covent Garden, London-based DSP was selected to create a UK-based Agile development team and assist with the project to re-architect the web application into logical parts so that releases to one area could be made independently of another and avoid the need to re-test the huge application every time a change was made. Proximity was Hotels.com’s top selection criteria in choosing a software house. DSP was located within walking distance which facilitated the ability to work alongside the in-house team which is essential in an Agile environment.
“Agile doesn’t suit all developers,”
Up until DSP’s involvement, much of the development work was outsourced offshore, where the team was trying to adopt Agile development, but at a distance. Silberg felt this put the company’s intellectual property at risk: “Distance and the whole lost-in-translation syndrome were at odds with the Agile model. Agile is hard, but Agile offshore is very difficult. We weren’t achieving the kind of innovation that we could. There were also concerns about quality and predictability. The decision was made to in-source development and to rectify the in-source to outsource ratio to 50-50.”
DSP completed the first phase of the application split within the six month timeline, described by Silberg as ”pretty aggressive”. He continued: “DSP’s role is significant. They’re not just with us as developers but are helping us to improve the SDLC and prescribe the methodology to make us more Agile. The role of Agile in contributing to the business is easy to overlook. It is more than a way of delivering IT. It started in IT but it’s the way the company has to think. Hotels.com is one of the most advanced examples of Agile within Expedia and seen as a flagship.”
DSP will continue to work with Hotels.com in the future to make further improvements to developer productivity. Commenting on the relationship Silberg, said: “The evidence is that the people from DSP really do care and have a sense of ownership and responsibility, which is quite rare. The integrity shines through, they play fair and communicate very well and I feel like I am getting value for money.”
Note for editors on Agile development at Hotels.com
Agile depends upon a close relationship between the business and the developers. Two week sprints of activity are made by small teams or pods of developers with a critical member of that team being the ideas person from the business – a product owner at Hotels.com. They are responsible for fleshing out the ideas so that the developers understand what is required and the number of features that can be completed during the sprint. A physically close interface between developer and the business manager is essential to improve speed. Daily stand ups are also a feature where progress and issues are shared to ensure every development is on track.