For Developers, Communication Takes Center Stage
Under these harried circumstances, developers can be pardoned for thinking "governance" is a code word for pointy-haired managers from the "Dilbert" zone looking over their shoulders and asking, "Why dont you do it this way?"
However, Lee Nackman, vice president of product development at IBM Rational, in Raleigh, N.C., has a more hopeful view.
Current trends in development practice offer the opportunity for developers and business-unit managers to overcome differences in vocabulary and environment, as well as to craft a process thats more productive and better governed, Nackman told eWEEK Labs in a conversation in March.
"I dont think the goal should be to have business executives focusing on technology directly," Nackman said. Instead, whats needed is "a way of having discussions between the business executives and the IT folks about what [theyre both] trying to achieve," he said.
Nackman said he doesnt see a major benefit in pursuing the oft-stated goal, as old as the invention of COBOL, of devising a single notation in which developers can write code that businesspeople can read.
The discussions he envisions dont depend on a shared language of specification or process: Such a language, even at best, can merely create a shared vision that may have no foundation in reality, he said.
"When you look at various approaches to software development that involve iteration, one of the key ideas is that you actually produce something concrete in a relatively short period of time that you can then interact with the business stakeholder [about] and get feedback," Nackman said.
Nackmans comment is suggestive of the principles enumerated in the doctrines of "agile development" (described at agilemanifesto.org) and reflected in management tools such as VersionOnes V1: Agile Enterprise: Satisfy the customer through early and continuous delivery of valuable software and deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter time scale.
If governance comes to mean that decision makers take a walk around a concrete artifact, instead of sitting around a conference table, then even the most action-oriented developer may start to embrace the process as one that creates progress rather than impedes it.
"IT governance is about who makes the decisions, when do they get made, how do they get made and what are the decisions to make," Nackman saud.
In a competitive global environment, Nackman added, frank discussion of the decision-making process is key for building a coherent enterprise architecturethat is, a road map of choices including data collection and storage, message flows and workflows, and decisions about what will be stored and what will be generated on demand.
Good governance, Nackman said, is not the same thing as domination of design decisions by a central management authority.
"Suppose what youre trying to achieve is development with a network of external partners," Nackman said. "One of your goals might be to standardize your development tools so they can all work together. Your governance might include adopting a certain way of doing requirements management, using a common test management technology and so on.
"On the other hand, you might have different goals where you dont really care what technology is used: You just care that a component is delivered that meets certain performance and functional requirements, and its up to the other partner what they do," Nackman continued.
Nackman agreed with eWEEK Labs suggestion that technologies such as object-oriented languages and SOAs (service-oriented architectures) can pave the way for loosely coupled governance based on interface rather than implementation. He warned, however, that such governance should not be assumed to be an automatic outcome of using those technologies, or even be viewed, necessarily, as the goal to be pursued.
"There are issues of maturity that come into play," Nackman said. "Its not easy to define a service that can be used across a broad spectrum of business units. If you knew exactly what it had to do, that situation might obtain that; if you really dont know what the capabilities need to be, if youre learning as you build it, you might need a different kind of governance. Good governance is setting up decision mechanisms and providing the context in which you want a bottom-up creative effort to work."
Past eWEEK Labs analyses and product reviews have called attention to the collaborative context thats being built directly into enterprise development tools such as Sun Microsystems Java Studio Enterprise (last years Week Excellence Awards winner in the Application Development category). eWEEK Labs talked in March with Sun Tools Development Manager Robin Smith in Menlo Park, Calif., about the companys continuing efforts along those lines.
eWEEK Labs applauded the ease with which developers could collaborate on the process of writing code in last years Version 7 of Java Studio Enterprise, with its integrated instant messaging facilities optimized around the need to exchange large amounts of profiling or debugging data and to review or edit a single block of code from multiple workstations at once. Smith described Suns escalation of that effort, from lines of code up to interfaces among services, in Marchs preview release of the NetBeans Enterprise Pack 5.5 from the Sun-sponsored NetBeans.org.
"The emergence of the visual SOA design space and the Web services space can certainly cause some confusion," Smith said. "Developers are looking for tools that simplify the whole Web services and SOA paradigms. We think were achieving that, providing a tool set that will really simplify the editing of the schemas and the creation and orchestration of complex Web services to solve these SOA solution sets."
Nackman urged developers to look at open-source efforts not as a demonstration of ungoverned collaboration but, on the contrary, as proof that good governance is almost independent of formal organization.
No set of processes or enabling technologies can overcome a failure to communicate top-level goals, Nackman said. "Its very important for IT people to understand what the business strategy is and how IT is expected to contribute to that," he said. "If the business strategy is Lets lower cost, that says something different to the IT people than if the business strategy is Lets support a flexible supply chain. I think its important for the IT executives to understand that context.
"In companies that take real strategic advantage of IT," Nackman said, "one of the things that happens is that they really do have a concrete strategyand they understand how they want IT to help achieve that strategy."
Further comments by Smith on the NetBeans Enterprise Pack and by Nackman on the interplay of development governance and technology can be heard on the eWEEK InfraSpectrum podcast for March 30, which is podcast #56 at blog.eweek.com/blogs/podcast.
Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.