At XML Devcon in San Jose, Calif., last month, an attendee asked Ken North's panel on the future of software development to comment on the continuing need to write ever more new code. What's happened, he asked, to all the effort to make code more reusable
At XML Devcon in San Jose, Calif., last month, an attendee asked Ken Norths panel on the future of software development to comment on the continuing need to write ever more new code. Whats happened, he asked, to all the effort to make code more reusable during the past several decades?
One member of the panelwhich I also served onobserved that a huge amount of code is reused every day, every time an HTML browser reformats a table to fit a resized window, every time a developer constructs a point-and-click interface by dragging components from a graphical palette onto a data entry form. But even that argument, I felt, doesnt answer the real question as to why so many developers are still needed.
"Look," I said, "when computers get cheaper, we dont pay less for the same number of computers; we buy a much larger number. No one asks, Whats wrong with computer makers, that we need so many more? We buy more to do more."
In the same way, I continued, "you have to look at the marginal decision to write a custom application. As developer productivity grows, more custom applications become economically attractive to writeand more get written."
In short, I said, "what we have is not a failure to achieve reuse. What we have is a triumph of productivity."
I suggest that developers are tired of being told that theres something wrong with the way they do their jobs. Plain-vanilla tasks, such as flowing a Web page into variously sized browser windows, are in fact being done by reusable code.
Competitive advantage is created by growing amounts of custom code because theres a growing return on development time. That growth propels ever more projects across the threshold of being worth doing. A "scarcity" of developers means that the market has been clearedthe very definition of efficiency.
Peter Coffee is Director of Platform Research at salesforce.com, where he serves as a liaison with the developer community to define the opportunity and clarify developers' technical requirements on the company's evolving Apex Platform. Peter previously spent 18 years with eWEEK (formerly PC Week), the national news magazine of enterprise technology practice, where he reviewed software development tools and methods and wrote regular columns on emerging technologies and professional community issues.Before he began writing full-time in 1989, Peter spent eleven years in technical and management positions at Exxon and The Aerospace Corporation, including management of the latter company's first desktop computing planning team and applied research in applications of artificial intelligence techniques. He holds an engineering degree from MIT and an MBA from Pepperdine University, he has held teaching appointments in computer science, business analytics and information systems management at Pepperdine, UCLA, and Chapman College.