In-Depth
Can IT developers work together?
- By Colleen Frye
- October 31, 2002
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.