Outsourcers as Team Members
When SciQuest, which provides software-as-a-service supply chain management tools, decided to switch to an agile software development model about five years ago, the company already had a well-established relationship with an outsourcer in India. "A big chunk of our work was being outsourced," says Daryl Broddle, vice president of technology. The outsourcing company was a small, entrepreneurial firm that was willing to change its practices to accommodate the new methodology.
So SciQuest began creating teams, as in a classic agile setup. "The entrepreneurial partner augments our teams," Broddle says. "The teams focus on a strategy, and the developers at the outsourcer participate in our daily standup every two or three days. We've integrated them into our process. We don't write a bunch of stuff down that we send to them."
SciQuest is based in North Carolina, and the two companies deal with the time difference by adjusting their work schedules, something that Broddle says is very manageable. "They come in at 9 or 10 a.m. and work till 6 or 7 p.m.," he says. "We wind up with three to five hours of overlap. And if we need to have a meeting where we have to have a long discussion, then we'll come in at 7 a.m."
To further aid collaboration, one of the outsourcer's developers is on-site full time at SciQuest. "He's one of the four people on one of our four-person teams," Broddle says. "I treat him as one of my staff, but he's also our account manager. For instance, if one of the developers in India is not working out well, he handles it."
This scenario has been working well for more than five years, Broddle notes. "They were pretty small and just starting out when we first started partnering with them," he says. "They've grown along with us, and they are now about four or five times as big as they were when we began."
Working with the outsourcer lets SciQuest meet its goal of getting new features to customers faster. "We have three major releases a year, but in between we use focus groups," Broddle says. "We show them new functionality and get their input long before we put a new feature into the production environment. With the outsourcer augmenting our teams, we can get something done and ready to implement in front of our focus groups within a two-week sprint. We're not showing them screenshots -- it's real code."
€” Minda Zetlin
That's the decision Medidata made last year when the company decided to expand one of its software offerings and once again took a serious look at outsourcing agile development. "We decided to hire and increase the size of our internal development team instead," Newbigging says. "We feel quite strongly that we're better off having our own developers building the software, and also being responsible for maintaining it, responding quickly to any issues. They are able to understand the software because they built it in the first place, and that's harder to achieve if the original development was done elsewhere. You don't have that same depth of knowledge."
Sign up for Computerworld eNewsletters.