As companies get larger and software development teams get more
distributed, developing high-quality software for e-commerce
becomes increasingly difficult.
One problem is the duplication of effort, as various teams in
different parts of the company end up writing software to do the
same thing.
Another bugbear for developers is the difficulty of imposing
standard procedures for things like software testing. All of this
can increase your time to market and reduce the quality of your
e-commerce operation.
Given all the hype over application service providers and Web
services, it was only a matter of time before someone applied the
model to software development. Instead of having distributed
programmers in different parts of your organisation accessing
different software development resources, why not centralise the
whole thing, possibly taking it outside your company and accessing
it as a hosted service?
There are already services offering companies the chance to do just
this. Collabnet, for example, offers three different types of
hosted service. Enterprise development networks enable developers
within a company to collaborate using a centralised set of
development services.
Developer resource networks enable you to extend your software
development team to a close-knit community of third party
developers outside the company.
Using third parties
Perhaps the most interesting
service from Collabnet, however, is the open source network. As the
name suggests, this enables a company to open up an application for
participation from the open source community.
Collaborative development lends itself particularly well to open
source, because open source developers are widely distributed,
making it difficult to pull together an open source project.
Yet the advantages of open source development can be great - you
may find that you can update and enhance particular elements of
your back end software infrastructure very quickly using
third-party developers, or even access the code that you need from
other sources online.
Some companies may feel nervous about making sections of their
source code openly available for enhancement by the general
community, but when dealing with basic functions such as software
interconnectivity, for example, it makes sense to share and share
alike.
There is little added value in reworking low-level infrastructure
code in-house, but farming it out frees you up to work on the more
business-critical, application logic. The sorts of services
provided by collaborative development application service providers
include things like version control, which enables distributed
developers to keep track of the latest version of a particular
piece of code.
Other useful facilities will include things like issue management -
a centralised record of all bugs within a certain piece of code
that must be rectified, along with who is working on them.
Often, Web-based project management consoles will make it easier
for the head of a software development project to administer the
software development process, granting certain access privileges to
different developers, for example, and perhaps assigning them
particular tasks, no matter where they are.
Collabnet isn't the only player offering such services. Rational
Software, for example, which recently purchased collaborative
development player Catapulse, is set to launch its own centralised
developer service.
In an interview with E-Business Review, Microsoft CEO Steve Ballmer
suggested that the company would also be rolling out such services.
Legacy software development company Merant also has a hosted
development service, while application development tools company
Borland has been making noises about launching something too.
Still, such services are not without their problems. You must make
sure that any such online collaborative development environment
integrates well with your existing development tools (which may
vary across different parts of your organisation). You must also
train your staff to work in a new way, toeing the line when it
comes to following central guidelines and feeding back all of their
work into a central repository.
It only takes one or two developers to peel off and start tinkering
around with code on their own, storing it locally rather than
sharing it with a central team, to reduce the efficiency of a
collaborative environment.
Beyond the firewall
Some companies will also be nervous
about accessing collaborative services outside the corporate
firewall. A simple solution here is to license the service from the
ASP but run it inside your company network, giving you most of the
benefits of the service but retaining your peace of mind from a
security and management point of view.
At the end of the day, hosted development services such as these
could be a way for e-commerce software development teams to capture
the main benefits of component-based development.
Such benefits supposedly included the re-use of software
components, resulting in a decreased time to market. The main
problem with component-based development, however, has been
cultural - companies simply haven't been able to organise their
development teams to work together as well as they should.
Perhaps, after over a decade of pushing software re-use, the
software development industry will finally be able to bring it to
companies in a manageable format.
Further information
Collabnet,
www.collabnet.com
Merant,
www.merant.com