Surely you’ve heard someone say that communication is the key to a successful outsourcing relationship. You’ve probably heard it so many times that your cliche alert pops up anytime someone utters the phrase.
But we’re hearing from more and more software-building companies that the best projects are those where there isn’t just good communication but where everyone is working in synch: not just on the same clock but on the same wavelength.
Jonathan Bingham, CEO of Janeiro Digital, a software development company that uses its own agile methodology to build everything from Web apps to enterprise systems, first ventured into outsourcing a few years ago, sending programming work to the Far and Middle East. It was an instructional experience.
“We took our product requirements to China, and we learned about things like the way people trick you into billing overtime, and social barriers that seemed insurmountable,” Bingham says. “Asking for help is like admitting defeat for an engineer there, so they work hard and try to figure it out, but not always with good results. Lack of English is also a problem.”
Use of older programming techniques was another hindrance. “With development based on the waterfall method, we could never get a gauge on where things really were. It was very difficult,” Bingham says. He ended up pulling the plug on that one. Next stop: Bangladesh. “The skill set was better, but still there were time-zone problems,” he says.
“We were trying to get toward a natural working model. When your remote engineers come on at 10 p.m., your chief tech person back here has to be working at 4 a.m. It becomes a 24-hour operation. When you’re trying to build a mission-critical application, that doesn’t work.”
That time-zone issue is “a killer,” Bingham says.
Bingham found what he was looking for somewhat closer to home. Argentina, actually. “It was amazing,” he says. “We were able to use tools like Skype and IM to be in constant communication. We were able to get so much done.”
“Organizations that know how to manage a remote team, understand how to properly scope customer requirements, and can collaborate to translate that into an actionable plan, they know this is the development model of the future”
Technical affinity is a major part of Janeiro’s selection process. When qualifying a potential development partner, the first thing Bingham and his chief technical officer and brother Justin look for is if they understand agile methodology. “They have to be comfortable working in an agile enviroment,” he says. “We find that when you are building applications, having people who are comfortable and familiar using technology in a similar way that we do here in the States is a huge help and a necessary component to a successful project.”
“If they don’t do agile, move on,” Bingham says. “The days of waterfall development are over. It’s very difficult to manage a development process without getting back regularly delivered and workable code to review.”
One of Janeiro’s most successful relationships has been with Belatrix Software Factory, which has its main development center in Mendoza, Argentina. “They’re a phenomenal company,” Bingham says. “Their engineers work hard, don’t complain, understand the methodology, excellent English, very diverse skill set. They understand what workable piece of code means.”
Belatrix has worked with Janeiro Digital on projects ranging from a social network site for online poker players to rebuilding a heavy-duty enterprise app for a large company. “Their understanding of our ADEPT [agile] methodology makes our customer engagements very succesful,” Bingham says.
Nearshore Not Always Necessary
A nearshore partner isn’t necessary for everyone, Bingham says. A project built with old-school techniques or not running on the typical “get it done yesterday” schedule can probably be handled just as well with distant programmers.
But for organizations looking for sophisticated technical skills, English speakers, and teammates on the same work schedule, nearshore is the way to go, Bingham says. “Organizations that know how to manage a remote team, understand how to properly scope customer requirements, and can collaborate to translate that into an actionable plan, they know this is the development model of the future,” he says. “Hands-down, this is the new model. It’s efficient, it’s fast, and it’s flexible. When you get into the economics, we can have a team up and running in 7 days and a first product in 6 months. With a strictly in-house team, it would have taken twice as long to get to market.”
The Bingham/Janeiro Methodology for Picking a Partner
When you describe your company as “being like cloud computing for technology development: We add partners when we need them,” you’ve got to make sure the partners you’re adding are the right ones. Jonathan Bingham explains some ways Janeiro Digital does that filtering and ensures successful collaboration:
• If they are not agile and lean, run away. Janeiro Digital works only with shops that can master agile programming methods and can work within the company’s own ADEPT framework. It enables an iterative, rapid-response process. “You know early on if something bad is happening. They’re delivering bits of code every one to two weeks. If we see a weak link, we replace them. Without a process like this you are literally in the dark.”
• Make sure they can execute. “Put them through a rigorous qualification process. We put them through a series of scenarios about handling certain client requirements. If everything they say is about .Net or some other single platform, we know that’s all they have. Complete technical objectivity is what we’re looking for.”
• Do your homework. “You have to find out what they’ve worked on and ask them what projects went south. We all have those kinds of projects. The key is to find out what they learned from it.” Check references, then make a visit.
• Go to school. “We talk to universities down there to find out where their top folks are going to work,” Bingham says, “instead of going to the firms and asking them.”
• Negotiate rates and hours up front. “If you are doing time and materials, negotiate 8-hour days,” Bingham recommends. “No overtime. No weekends. With our ADEPT methodology, you commit to a time frame. If the scope changes or the requirements are adjusted, we instantly tell the customer there could be an impact to the schedule based on their changes… If they want to make the changes anyway, we adjust the schedule and everyone is happy.”
• Totally understand the product requirements. “Both the customer and the development team need to be able to be in total agreement on each feature,” Bingham says. “We do this by creating “user stories” for every persona or user of the application we build. By breaking down the user experience into stories, everyone can be in agreement on the purpose of the application and the workflow required to make it a success.”
• Weak process means slipping schedule. When things go awry on the timeline because your outsourcing firm is falling behind, you have two options, Bingham says: “Pay the overages to get it over the line or send them packing and find a new firm. When you get to this stage, I can tell you that everyone picks the same option. Then they pick the other one. It’s a tough lesson to learn.”
• And remember: There’s only one word for a project lacking “active and always-on communication”: Doom!