At SD West: Grady Booch on software
- By John K. Waters
Software development has become a core business process that drives both innovation and productivity, and there's not much hope for companies that fail to recognize that fact. Furthermore, contemporary developers have a responsibility to let management know what a vital role they now play in the future of the company.
Those were some of the conclusions drawn by software luminary Grady Booch during and after his keynote presentation at last week's Software Development West Conference held in Santa Clara, Calif.
"The day we have a version of 'The Apprentice' with all software developers, I'll know we've made it," he quipped, referring to the television series featuring a cast of young would-be executives competing for a job with businessman Donald Trump. "Then I'll know they get it."
A bone fide software industry thought leader, Booch serves as principal architect and mentor of software development solutions within the IBM Software Group. (He says his title is "Designated Free Radical," and that his responsibility is to "destroy bureaucracy.") He's the co-founder and former Chief Scientist at Rational Software Corp., where he co-created Rational Rose, as well as one of the "Three Amigos" who developed the Unified Modeling Language (James Rumbaugh and Ivar Jacobson are the other two). He's also written more than a dozen books, and more than a few of the dozens of articles written about him call him a visionary.
Booch used the transportation industry as an example to make his point about the evolving role of software as a business process. Pointing to a picture of a horse and buggy, he observed that the industry was once relatively software-free. "Let's face it," he said, "horses just don't have a lot of code in them." The latest BMWs, however, are packing several billion lines of code. "We certainly know how to build cars," Booch said. "We know how to design them. We know the basic features that customers want. The real innovation is now happening on the software side. We see anti-lock brakes, new kinds of steering systems, collision avoidance systems, heads-up displays. The presence of software, even in these older industries, is what's fueling the change. Therefore, their ability to compete is increasingly based less on their ability to bend iron than the ability of their software teams to execute."
"What we're seeing is that even old businesses are relying on the presence of software, not just to run their organizations, but to help them innovate and compete in a particular marketplace," he added.
During his one-hour keynote, Booch took attendees packed into the theater at the Santa Clara Convention Center through a light-speed tour of the history of software development tools, from primitive "stone axes" focused on running programs on "naked hardware," to command-line environments, and from IDEs to a contemporary hybrid he called "collaborating development environments."
The evolution of software development tools has been driven, he said, by the ever-increasing complexity of software systems, but also by changes in business environments. Componentization and maturation have made the development process into a "team sport"; these days, it's not just coders, but also graphics people, network people and even business people who get involved in the process. Meanwhile, globalization has generated the phenomenon of a geographically dispersed workforce. Thus, new development environments that support interactions between geographically disparate stakeholders are beginning to appear.
Architects and industrial designers have been at the bleeding edge of this phenomenon for some time, Booch said, employing CAD-CAM technologies combined with the Web as a vehicle for collaboration. Tools like the open-source SourceForge and CollabNet's SourceCast are examples of CDE-type products. Booch's own company is reportedly working on a collaborative development project called Jazz, which is expected to bring "presence" to a software development tool. Basically, presence-enabled software knows when someone else is online and facilitates quick meetings and interactions.
Overall changes in the business climate have also had an effect on the role of software development in the enterprise, Booch said. "In many ways, the current economic climate is forcing us to rethink the old model. It used to be that we techies would invent new stuff and sort of impose it on the world, and cool things would happen. Now, we're really in a period in which business needs are driving our software development efforts. This is not to say that it's a one-way street. Business has to tell us the right things to build, but we have to go back to business and say here are opportunities for innovation, here are opportunities for improving our productivity. It's a synergy. This is what we mean by the business-driven development process. It's very much a cycling among all of those pieces."
Looking at software development as a business process forces the industry to consider whether the developer experience is all it should be, Booch said. "Anything we can do to increase the communication bandwidth -- to reduce the friction, reduce the noise, increase the signal to noise ratio -- these are all things that will increase the time we can spend on our primary artifact, which is cutting good code."
John K. Waters is a freelance writer based in Silicon Valley. He can be reached