In-Depth

Can IT developers work together?

When it comes to software development, ''contrary to what most people think, there's little difference between open-source methodology vs. proprietary methodology,'' according to Aberdeen Group's Bill Claybrook.

What? The seemingly freewheeling communities of open-source projects and the project management-driven world of corporate IT develop software in a similar way? You bet, said Claybrook, research director for Linux and Grid Computing at the Boston-based research firm. ''I was a proprietary software developer. You talked to people, you wrote the requirements specifications, you wrote the code, you tested the code. You do all that stuff whenever you develop a product -- it doesn't matter whether you're using an open-source methodology or [a] proprietary [one]. There's not that much difference between the two models, except for the openness of code,'' he said.

And more and more often, corporate IT is facing the same issues that open-source projects face: bringing together a development team that is often distributed around the world and that may cross departmental or even company boundaries. The need for enhanced collaboration and teamwork is paramount.

Development teams can leverage a variety of collaborative products, such as e-mail and messaging products, discussion forums, workflow process engines, software configuration management, version control and bug-tracking tools, and portals. One problem corporate IT often faces is the 'islands' of development tools and methodologies that may exist within a large company. When building teams across business units or different companies, this can be an obstacle. But there are a few available solutions taking a page from open source, both in terms of building community -- clearly one of the strengths of the open-source world -- and in working in distributed teams across the Internet.

The vision is to not only build better teams by leveraging the best minds and common tools, but also to potentially bring customers into the development process, whether they are internal users, external customers or business partners. Three companies are positioning themselves as collaborative software development solutions: CollabNet, VA Software and Quovix. Each has a different business model, but the trio all leverage some of the best practices of open source.

Creating a ''work chain''
Brian Behlendorf, co-founder of the Apache Software Foundation, will tell you that 1999 was a banner year for open source. ''But as open source exploded, I wanted to know: 'Is this process a happy coincidence or an actual science that can be made repeatable? Can it be applied to the rest of the software industry?''' he said. Behlendorf believes it can, and together with O'Reilly & Associates, he co-founded CollabNet in 1999.

CollabNet's SourceCast is a Web-based hosted offering that includes integrated tools for issue tracking, version control, e-mail, discussion forums, archiving and a code repository. SourceCast leverages some open-source technology while also including some proprietary pieces. It sits on top of Apache and Tomcat servers, and incorporates the open-source CVS for version control and Issuesilla (a branch of open-source Bugzilla) for bug tracking.

While the tools within SourceCast may not offer the same robustness as Rational ClearCase, for example, Behlendorf said the suite meets 70% to 80% of customers' needs. However, he maintains that ''there are inherent advantages to having a large repository where everyone can see each other's work. With a hosted solution [like SourceCast], you find a lot of people seeking the flexibility and power that provides.''

''The things they provide, we already have internally, like revision control, issue tracking and file management,'' said John Tollefsrud, group manager of the Grid computing business unit at Sun Microsystems. ''But the other stuff they have that's tightly integrated, like mailing lists, discussion forums, etc., we'd have to implement ourselves.'' In addition, ''we would have to move the tools beyond the firewall,'' said Tollefsrud. ''It was a make or buy decision.''

CollabNet is hosting the Grid Engine Project, an open-source project for distributed resource management, which Sun funded and contributed 500,000 lines of code to. The Grid Engine Project is the basis of the Sun ONE Grid Engine. Through the Grid Engine project, the source files used to create Sun ONE Grid Engine software are made available at no cost under an open-source license. Two other Sun-sponsored open-source projects -- NetBeans and Open Office -- have also utilized CollabNet.

While CollabNet offers various software development tools, ''our tools don't enforce a methodology,'' said the firm's Behlendorf. ''It's about the concept of transparency, being able to link and see the history of a project through the various iterations of code, and encouraging people to open up, not forcing them to.''

Taking a philosophy from open source, ''we try not to have a big gap between users of software and developers of software,'' explained Behlendorf. ''It's a chain. A user who reports a bug might discuss it with a developer and maybe graduate to writing a patch, and then maybe [graduate] from a patch to fixing a bug. In a traditional software environment this is impossible, as there are firewalls and policies.''

Publishing early and often for review by colleagues and users is an open-source tradition. ''You end up with a product that is probably better designed and tested,'' noted Aberdeen's Claybrook.

While CollabNet has hosted several open-source projects, Behlendorf said the company is targeting independent software vendors and corporate IT development organizations -- anybody who has more than a couple dozen programmers and needs to organize and coordinate activities, or anyone who is part of the software supply chain.

''These are companies that had source-code relationships before, but sharing was putting it in a zip file and e-mailing it,'' said Behlendorf. Barclays Global Investors (BGI) is an example of a CollabNet customer using SourceCast for corporate development.

Aberdeen's Claybrook said corporate IT should be interested in products like SourceCast. ''It's a great idea to keep track across a company, or if the CTO wants to work on the project or see where it's at. In most development organizations you can't figure out where stuff is.''

He added, ''CollabNet is not talking open-source nonsense; this is a serious product development platform.''

Overcoming hurdles
In some respects, corporate IT is ready for a collaborative software development platform, but in other respects there are some hurdles. It is natural to resist change, and developers who are used to doing things a certain way and working with certain tools may need some convincing.

''The most willing folks to adopt this [type of product] tend to be more old-line businesses, like automotive or electronics,'' said David Applebaum, senior vice president of marketing at VA Software, Fremont, Calif. ''These are engineering-driven cultures, and they've come to appreciate the benefits a more collaborative environment can bring them in terms of creativity and the ability to use the best resources in the organization. They also appreciate process and the fact that if creativity is not focused and brought into some order it's hard to bring things in line.''

There can also be a cultural bias toward anything that comes from the open-source world, which is often perceived as wild and woolly.

''Open source provides a methodology and a facility to communicate between different development organizations, which is important today with so many mergers and acquisitions, outsourced development or geographically distributed development,'' said Applebaum. ''It's difficult to bring the brightest minds to bear on a project. Open-source methodology is a positive way to encourage this kind of interaction. The downside or limitation of open source per se is that it's not necessarily in alignment with business goals. Developers hate deadlines, and there's a certain association of open source that tends to chafe at process or structure, which is critical for delivering enterprise-quality software.''

VA Software claims to bring the best of both worlds together. ''We incorporate process, visibility and predictability in software projects, making it easy to incorporate different process models, whether that is CMM or a loose process, and still foster creativity and a wonderfully anarchic sense of open source,'' said Applebaum. ''We let management get a view into what's going on, and we let developers work in the way most beneficial to them.''

VA Software has its roots in the Linux hardware world, but over the past year or so has transitioned to the software business. The company's SourceForge collaborative development environment is a packaged suite that includes Web-based code management; developer management and knowledge management tools; and project administration, monitoring and status reporting capabilities. VA Software's subsidiary, the Open Source Development Network Inc. (OSDN), hosts SourceForge.net, an open-source development Web site.

The ability to try out the software on SourceForge.net was a selling point for the Open SystemC Initiative (OSCI), said Kevin Kranen, director of strategic programs at Mountain View, Calif.-based Synopsys Inc., and president of the standards body, which represents companies in the electronics and design automation space. The consortium selected SourceForge Enterprise Edition 3.0 as the collaborative software development platform for the SystemC language and as the support platform for the SystemC community. The goal is to build a common standard for modeling an electronic system, which involves both hardware and software and is based on open source.

''The development efforts go across competitors, who work together on the source code owned by the community,'' said Kranen.

According to Kranen, the consortium wanted a packaged solution rather than a hosted one. ''We wanted to build brand identity and we wanted a custom look and feel.'' Also, he said, they wanted the community to contribute, but wanted to restrict the ability to change the core code to only key developers.

SourceForge's features, the company's experience in the open-source world and the ability to 'test drive' the software, cinched the deal. And, noted Kranen, SourceForge enabled them to easily set up a Japanese language development environment.

Like CollabNet, VA Software has made some penetration into the open-source world and is similarly targeting corporate IT developers. As a result, VA Software's goal is to integrate with and co-exist with the tools and methodologies developers may already be working with. For example, VA Software recently announced integration with Rational's ClearCase.

''Developers have their favorite tools and organizations have their own processes, whether it's CMM or custom. Our framework is light and easily integrated with existing tools. We also provide the tools if they want to use them; the processes they adopt are up to the company,'' said the firm's Applebaum.

''We see what CollabNet and SourceForge are doing as complementary to what Rational is doing,'' noted Eric Schurr, chief marketing officer at Rational Software, Cupertino, Calif.

For the Panhandle Plains Student Loan Center in Canyon, Texas, SourceForge started out as a way to better collaborate on Java development projects. But the corporate IT organization soon began leveraging the platform as a way to organize all general IT requests and other existing code.

''We were looking for a better way to store source code and have a project Web site to do collaborative development, as well as a place to communicate bug requests and changes to systems,'' said Chris Carroll, VP of IT. ''Before that we were using Bugzilla and another project Web site. We wanted something that was Web-based so we didn't have to load software on everybody's desktops.''

Carroll said the organization will soon be keeping Cobol, Visual Basic and C++ source code in SourceForge as well. The advantage, he said, is ''a standard way of doing things; it doesn't matter if you're writing Cobol, Visual Basic or Java. With everything all in one place, you don't have to maintain multiple areas.''

The biggest benefit is improved communications, said Carroll. ''The communications are more efficient, which speeds the development process and makes a better-quality product. And every time you bring in someone new or need to brief someone, all the documentation is right in SourceForge.''

The power of community
Taking another twist on the collaborative features of open-source communities is Quovix. The Indianapolis-based consulting company created a software platform as well as a community of developers to work on client projects. It works this way: A client engages Quovix to develop an application. Quovix then allows its entire community of software developers -- contractors and independent programmers from around the world -- to access enough information on the quovix.com site to understand what the application is about.

''They work with on-the-ground resources to screen the project; we put it out in front of the entire community and they help to define it, ask questions and recommend targeted architectures for solving the problem,'' said Martin Morrow, Quovix's CEO.

Quovix then awards the project to a team of developers. Quovix project managers, business analysts and software testers work directly with the team and the client throughout the project to ensure satisfaction and quality of work. ''We've cut out the traditional overhead associated with software development projects. We don't have a lot of fixed costs,'' explained Morrow.

Generating participation across the community and creating the right incentives to make it work were the biggest challenges, he said. Members of quovix.com, which Morrow said number in the thousands, build up a skills profile over time. Before anyone is awarded a project they must make contributions during the screening process, otherwise they should not bother to bid the job.

''If you're making contributions and voting on projects, your reputation is picking up; we have an algorithm that calculates reputation. The bids are adjusted by reputation, so people with higher reputations can bid with the lower bidders without having to bid lower,'' said Morrow.

Quovix's approach shares a lot with the open-source methodology, but Morrow pointed out key differences. ''Certainly, the open-source initiatives that have been successful were good early indicators that this approach can work. But we're built to order, so we have a paying customer and a signed contract to deliver something by such a date. We're at risk for quality; if we can't deliver, we don't get paid.''

Praxis Management International LLC, a management consulting company in Indianapolis, was intrigued by the Quovix method. At the time, Praxis was building a Web site for a new unit, Praxis Learning Networks, and had already done the requirements specs. While it was a fairly straightforward build they could have done themselves, Praxis really did not have the bandwidth, said the firm's Ken Jones. They talked with a consulting company in Chicago, as well as with Quovix about doing the work.

Quovix provided the requirements specs to its development community around world. The bid Praxis received was a mere 20% of what the Chicago-based resources would have cost. ''That got our attention,'' noted Jones.

However, Jones said cost was not the chief motivator. ''It's the idea that there are a lot of very smart people in the world, and they're not all sitting in Chicago or the U.S. You put the problem out there and it's the power of community.''

While there were not a lot of nuances to Praxis' project, which was awarded to a developer in Russia, Jones can see the possibility of more complicated projects leveraging, say, an Oracle database expert in California, and a Nokia programmer in Finland. Even within the walls of a corporation, if a project is opened to a community, there might be someone in another department who has solved that problem before, he explained.

''This is very original stuff [Quovix is] doing,'' said Jones. ''And if you're looking at some sort of outsourcing arrangement, I'd be vigorously looking at this concept of building communities. It's very intelligent problem segmentation and they have a much more sophisticated solution than just going offshore to India.''

Work in progress
Open-source projects deliver software in an iterative way, a technique used by Quovix, VA Software and CollabNet. ''We deliver thin slices of the application to the customer as quickly as possible,'' said Quovix's Morrow. ''People might think they know what they want, but until they get their hands on it, they really don't know for sure. The highest quality approach with the lowest cost is to get something to the customer early and often.''

''We see SourceCast as a repository for software objects that turn those objects into living things,'' said CollabNet's Behlendorf. ''I think there are developers that are not used to that idea. But if you can show them pragmatically that being willing to have [your] code reviewed by peers, and accept that development work is never done as long as people continue to use it, then the merits of that approach eventually prove themselves.''

Does that mean that if corporate IT takes a page from open source, projects will never be truly done? ''That's true for all software, whether it's open source or commercial,'' said VA Software's Applebaum. ''You never hit the final ship until you've retired the product line; it's always a work in progress.''

While applying the best practices of open source to collaborative software development offers many benefits, there are some caveats. ''When you take an engineering staff and engage them in open source, they're spending more time being engaged than before; there's an overhead to that that's not small,'' said Sun Microsystems' Tollefsrud. ''There's also a fiction that there's some kind of net gain to a developer community -- don't go in thinking you'll get 300 developers.''

Added VA Software's Applebaum, ''As long as you can foster creativity and a sense of community, it's a great thing within the context of business goals. Creativity without focus is anarchy.''

See the related story Workflow fits the bill by Colleen Frye.