Agile development methodologies in the enterprise can be like building on quicksand or trying to fit a square peg in a round hole, according to the vice president of technology at popular accommodation website Hotels.com.
Stuart Silberg has been with the company for two years and has successfully transformed its development processes to true agile, where he is expecting to have release cycles as often as twice a week by the new year.
However, he warned that agile isn't right for every project, especially in large enterprises.
"I would throw a word of caution, agile isn't perfect for everything. We once did a big integration project with some back-end systems and quite frankly we shouldn't have done it in an agile manner," Silberg told Computerworld UK.
"It was like building on quicksand, because there were too many things moving."
He explained that because there were two teams making changes and working in an iterative manner, the interface for integration kept changing.
"Where [the back-end team] started was not where they ended up, so we kept trying to connect and it kept changing. We had to go and rework a load of stuff," he said.
He added: "I think for some of the enterprise shops it might not be suitable and you may be somewhat forcing a square peg into a round hole."
Silberg did, however, highlight that enterprises should consider having teams working in agile where it is effective and teams working in a waterfall process, where appropriate. He said: "There is no reason you can't have mixed."
When Silberg joined Hotels.com the company claimed to be working in an agile manner, but releases were taking twelve weeks and then there were further weeks of testing being done at the end of each cycle.
He explained: "I was probably one of the biggest sceptics about agile at first, because most people don't do it very well. At Hotels.com it was much more of a fast waterfall approach and that's where a lot of people run into issues."
"But, to be fair, agile is an evolution, it's not a switch. You can't come in and expect to be running a pure scrum the next day, it's about making tweaks."
He added: "We release every two weeks now, but we are about to go twice a week in the new year. That will save us doing patch releases in between if there are any bugs that need fixing."
Hotels.com has approximately two hundred members of staff using agile methodologies.
Silberg said that it was able to reduce the cycle release time so dramatically because it completely overhauled the architecture to the application.
He said: "We had this monolithic code base, around three million lines of code. So when you wanted to make a change you had to test the whole thing and then release the whole thing.
"We split that up into separate applications, so now we have a search application, a coupon application, a booking application etc."
He added: "They are more self-contained, so now you can make changes and do smaller tests. The impact is now minor and you can release components independently, which makes it go a lot faster."
The main challenge that Hotels.com still faces working with agile is that it has an offshore team working on some projects. Silberg said that "agile is hard, but agile distributed is incredibly hard".
However, this is managed by not splitting teams across geographies. So, if a team is working on a shopping application and one on a booking application, one will be in-house and one will be offshore. He said: "We would never have one split across two geographies, the team has to be self-contained."
Agile has become the poster child for effective and efficient development in the IT industry, but many departments struggle to implement it effectively. Government especially has tried to implement it where possible, but has come under fire in the past for not doing it enough.
Silberg said that to get agile right an IT department needs to make the whole company agile first and to also provide effective training.
"This has got to be a top-down approach. Don't give teams an annual roadmap, talk quarterly and allow changes as you go. Don't let finance have an annual budget, make them do it quarterly. You have to get the company to become agile," he said.
"If dev just starts going agile, and nobody else can cope with it, it's not going to go very well.
He added: "Everybody also has to be in the same training course at the same time so everyone is on the same page. There needs to be no confusion and everyone needs to understand their role. That was a real inflection point for us."