Developer's Toolkit

Jazzing up Dev Teams

Tools in Team System and Jazz begin to offer ways to integrate all teams into the dev process.

Eight years ago, at the turn of the century, when I was building development tools, one of the big frustrations was that it was impossible to convince enterprise development teams to use tools as a part of their regular process. Tools use was almost always an exception rather than a rule. If you had a memory leak in unmanaged code, you turned to a leak detector such as BoundsChecker. If you had slow code, you started the performance analyzer. But few considered regular tools use as a standard part of their development process.

Fundamentally, that's how we use tools of all types. We don't use a hammer on a daily basis just to make sure all nails are still fully pounded in, and we don't use development tools if we don't think there's a problem. We never did figure out how to get tools used consistently in the development process, despite all the propaganda we produced on how it was good for you.


Tools Are Part of the Process
But today Microsoft seems to have figured it out. Visual Studio Team System addresses the use of tools as a part of the application process by providing a platform for integrating those tools into a larger configuration and build management framework. In addition to incorporating some of Microsoft's own tools -- such as static analyzer FxCop -- it has an integration API that allows third-party tools to integrate into its framework.

S. "Soma" Somasegar, Microsoft senior VP of the Developer Division, told me over a year ago that 65 percent of Visual Studio users were also Team System users. That percentage seems excessive -- it likely included the Team System Foundation Server included in every MSDN subscription -- but there's no doubt that the Team System framework is an essential harness for tools to improve software quality and accelerate development.

Use it for source code and configuration management, communication among team members and, yes, plugging in your own set of dev tools.

Beyond Team System
This framework doesn't have to be Team System. IBM's Rational Jazz, introduced in the spring of 2007, provides a similar platform for teams to use as a centerpiece for development activity. (In the interest of full disclosure, one of the clients I consult for on a contract basis is IBM's Rational group.)

While based on the Java and Eclipse-rich client, the underlying technology matters less than its ability to enable .NET development teams to use lifecycle tools. The Eclipse platform is especially good at integration; its use of the OSGi, formerly the Open Systems Gateway initiative, makes it easy to plug in new tools and components and have them work seamlessly with the platform as a whole.

Both of these platforms share a common failure, however. Team System incorporates the architecture, design, development, database development and testing versions of Visual Studio, in effect tying together all versions of Visual Studio. Rational Jazz includes platforms and interfaces that enable interoperability with Rational ClearCase, ClearQuest, Build Forge and Subversion change-management products.

This is good insofar as it goes: both platforms assume that all participants in a development team are technical and are doing something related to code.

The Visual Studio integrations encompass the technical members of the development team, but fail to address others. At least Rational Jazz acknowledges that there's more to a development team than Visual Studio users, even if the platform doesn't yet have a good answer for integrating the rest of the team into the process.

Hope for the Future
These other team members play important roles in the software development process, and are unlikely to use either Visual Studio or the Rational products in their daily work. For example, most teams include project managers, technical writers, configuration specialists, product managers, marketers and perhaps others who do the necessary work to contribute to the business or market success of an application.

How do you serve these team members? They don't need access to the source code, but they often need to download and install builds, post documents, contribute to schedules and discuss ideas among the team. There are tools that already make these types of interactions possible, but they're not yet integrated into Team System or Jazz.

That may change thanks to advances that will help bring non-technical users into the dev process by utilizing either Team System or Jazz.

If platforms such as Jazz and Team System manage to integrate all participants in the development process, it almost makes me want to go back into the developer tools business once again.

About the Author

Peter Varhol is the executive editor, reviews of Redmond magazine and has more than 20 years of experience as a software developer, software product manager and technology writer. He has graduate degrees in computer science and mathematics, and has taught both subjects at the university level.

Reader Comments:

Add Your Comment:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above