The hoped-for economies of outsourced or offshored development will quickly disappear if the code thats produced wont do the job.
Successful outsourcing therefore requires upfront investment in adopting, implementing and mastering an infrastructure of design, specification, collaboration, testing and life-cycle support to bring quality code to market in a timely manner. The tools of decentralized development must be benchmarked for their effectiveness in fusing multiple and often multicultural teams into an effective organization.
At eWEEK Labs, were seeing this need reflected in the latest tools arriving here for review. We noted earlier this year, for example, the integration of real-time collaboration facilities in Sun Microsystems Inc.s Java Studio Enterprise 7.0, winner of our fifth annual eWEEK Excellence Award for application development products.
This month, developers saw another toolmaker introduce conceptually similar collaboration aids: Borland Software Corp., with its JBuilder 2006.
During the next few months, developers will see even more sophistication in tools that make it possible to codify an outsourcing customers requirements so theres minimal opportunity for confusion and misunderstanding.
This week, for example, will see the release of Version 3.0 of Agitar Software Inc.s Agitator, a surprisingly intelligent test generation and application environment whose Version 2.0 edition won Excellence finalist honors earlier this year. Agitars 3.0 release adds extensible facilities for incorporating specific task knowledge into the test generation process. The result is that sample data values and other test parameters more faithfully reflect the requirements that a piece of code will face in practice.
Technology such as Agitars can address one of the key concerns of outsourcing critical line-of-business application development: that outside teams will lack understanding of an applications mission and environment, with blind spots that will lead to conceptual gaps or failure to make small but critical distinctions.
Agitators extensible collection of customizable "expert" criteria sets can enable a core development team to automate some of its most useful expertise. Agitars complementary Dashboard tool can then give that home team precise and timely information on an outsourcers success in applying those rules to build measurably high-quality code.
During a prerelease discussion of the Version 3.0 update, eWEEK Labs asked Agitar engineers if their technology might lend itself to the formalization of quality measurements and the satisfaction of explicit quality requirements in outsourced development efforts. They responded with an internal draft of a forthcoming template for a "quality-level agreement," intended to be analogous to the SLAs (service-level agreements) often found in arrangements such as network service provisioning.
Agitar officials indicated that theyre finding growing customer interest in making such agreements with development contractors, not merely for final acceptance of code but also for real-time monitoring of a providers process. We expect to see such monitoring become the norm in the next two years.
eWEEK Labs is also seeing growing opportunity for a core development team to apply its big-picture perspective by customizing the capabilities of other types of testing tools. Later this year, for example, we expect to see the release of Compuware Corp.s DevPartner Studio 8, which we examined in a prerelease form during Microsoft Corp.s Professional Developers Conference in Los Angeles earlier this month.
Compuwares update should become available in the same time frame as Microsofts long-awaited Visual Studio 2005, currently expected in November. Key to this Compuware extension of Microsofts Visual Studio development environment will be new facilities, both predefined and open to custom extension, for higher-level diagnosis and problem-resolution guidance.
Weve also seen this move to automate and customize developer guidance, aiding the process of aligning an outsourced team with a clients expectations, in tools such as Parasofts Jtest (Version 7 of which shipped in June). In addition to Jtests extensible collection of developer rules and coding standards, introduced earlier this year in Version 6, the June update added facilities for dynamically generating tests by automated inspection of running code.
The facilities of Jtest 7, like Agitars algorithms for detecting and codifying critical threshold situations, also accelerate learning in development teams and make it possible for tools to refine themselves over time. The latter point answers the often-asked question of whether software development is destined to become a race to the bottom, with lower coding costs being chased around the world like the labor that makes running shoes or hand-sews soccer balls.
Organizations that seek out, adopt and use the best available tools—and that take advantage of emerging technologies for knowledge-base extension, customization and guided learning—will become smarter teams that deliver greater value from both in-house and outsourced efforts.
While tools cant provide or pursue that vision alone, its good to see them aiding those who have it.
Technology Editor Peter Coffee can be reached at firstname.lastname@example.org.