Dynamic foresight of tomorrow's development methods

Assembla's founder helps usher in a new era of global software development

Andy Singleton founded Needham, Mass.-based Assembla on the premise that development projects can be managed globally through outsourced talent with almost no overhead. Using Internet-based open standards and collaborative tools, Singleton is among the leaders in the dynamic development space who are offering ad hoc, just-in-time, distributed software development to companies in need of quality projects completed quickly and cheaply. Singleton recently spoke with Jon Udell, the InfoWorld Test Center's lead analyst, and Jack McCarthy, associate editor of CTO Media at InfoWorld.

JM: You’ve said, “In today’s market it is more important to understand where software and software components come from than it is to be able to build software. Research, standards selection, negotiation, and creative alteration can deliver software very quickly.” What are the implications for enterprise IT leaders?

AS: It’s an old concept. The idea that you’re going to build components and reuse as much as you can started 50 years ago with the birth of high-level languages. It was boosted by the development of salable libraries and then object-oriented programming, and now Web services. I think the question that you have to ask yourself is, What’s different now? There’s a couple things that are different: first of all, the volume of code. We have a situation now where increasing amounts of code are visible, both because of the efforts of people like [GNU project founder] Richard Stallman to actually make code free, and because our technology has moved to the point where we have things like the View Source button in a browser. The other thing that’s different is that the Internet has driven down the cost and the delay associated with finding code. That dramatically changes the buy-build decision. That gets you into the question of what are the implications for people who make software and people who use software. There are going to be more people not buying entirely, but not building either, because of the amount of code that’s available and the ease with which they can find it. I think the question that you have to ask yourself is, How do you turn those things into opportunities if you’re a market participant?

JM: With this software surplus or deflation of the market, is the ability to find talented people all over the world driving this?

AS: There are three things that are really driving this deflation and driving us to a much more distributed world. The three forces that I’ve identified are, [first] offshore talent. You have global teams now. Second is the surplus of software and the widespread availability of free software, open source software, or software under different kinds of licensing arrangements. The third major force for deflation is the move to online services. We see that with Web services, application services, and grid services. If you’re a market participant, if you make software, use software, what are the skills that you need to take advantage of these forces? I really think of that as two categories. The first is research skills. It’s extremely important to do research, to find the code and the software, and to make good tool and platform decisions. Unfortunately, most engineers aren’t very good at this. They make their living by being good at working with a very narrow range of tools.

JU: And they are unfortunately predisposed to want to write things from scratch.

AS: Exactly. This is a personality trait that’s been widely observed by people -- not only people who sort of anecdotally observe engineers, but by people who do academic research.… You need people in every organization who communicate widely, seek out new things and, if you’re in the software business, test a lot of software. Fortunately there are always a few people like that. They’re the people who get a lot of e-mail, who have six chat sessions going, and who have a lot of strange software on their computer. That’s one of the skills, the skill of research. Reaching out and doing a global scan for the kinds of resources you need, whether it’s software or talent or online services. You’re really looking at those three big baskets of resources. You have to do research on all three of those baskets and you have to do the research globally. That’s one of the skills that I think Assembla needs to bring to its customers.

JU: We see individuals everywhere being more visible in their online documentation. The components that they produce and the solutions that they build around those components are really going to accelerate everyone’s ability to be more easily aware of what’s out there and what it can do.

AS: That leads to the second resource that [might be] missing in your organization. Research is one thing that might be missing. The other is management of distributed teams. If some of your team members are in Boston and one is in Los Angeles and six are in Moscow, it’s very important that you be able to see each other’s work clearly. And it’s important that that work be shared, that you have a daily [build] or some other way of sharing your work, and that they are actually working on the same thing. That’s what hopefully computers and source code management and project management, the fundamental benefit, that they’ll deliver.