Just got back from Innovate, and I ended up talking to about a bazillion people from IBM, our customers, and our business partners. As usual, it set off a series of observations and ideas in my head, and you’ll probably notice my blog posting tend to increase around this time of year.
One of the things that I notice a lot of our customers struggling with is the whole idea of deploying Jazz to their entire software development organization. They seem to do very well deploying Jazz to the Agile groups and areas of their organization, and adoption seems to be almost viral up to a certain point. But eventually deployment always seems to run into issues when we start to expand the scope beyond the first 500 or 1000 users.
The issue isn’t the tools, they scale and we help customers support much larger numbers of end users. It’s really the tool keepers, and the strategists. Many people seem to think along the lines of, “We need to help people understand why RTC/RQM/RRC is good for them”. They seem to think in terms of absolutes, indicating that their entire organization should standardize on RTC for source code management (SCM). Then they proceed to conclude that since their Agile teams love Jazz SCM capabilities and usage, that ALL of their development teams should love it.
Not so fast people!! I am part of the Jazz team, and I would LOVE it if you spent all of your budget on Jazz licenses. That is not realistic, or healthy in many cases. There is absolutely nothing wrong with leaving your current teams on ClearCase, Subversion, or Perforce. Now if the limitations of those tools are causing you to have an inefficient development, build and delivery process, then you should consider replacing them. However, if those tools do the job, then leave them in place. Quit trying to fix problems that don’t exist!
The real strength of the Jazz solution is that you can use OSLC bridges to these tools so their data is linked and available to the rest of the development team and their stakeholders. That is the real power of the Jazz platform, the ability to integrate in current tools. Now you can assess if the costs of maintaining the integration, or the costs of supporting multiple tool sets, is worth keeping them around.
The key here is to minimize the risk by taking things in smaller steps. Do not be too aggressive in your attempts to migrate people from tools and environments that they are comfortable with. If a critical project is using some particular tool, then please leave them on that tool. Do not inject risk into an already critical situation. New projects should be encouraged to use the tools that the organization feels will best suit the needs of the project (and not necessarily the tools administration team), while still maintaining the integrations to the remainder of the software development community via OSLC.
If you do this consistently and with discipline, then you might think that you will eventually get to an environment that is “standard” across your entire organization. You won’t.
Quit trying to oversimplify your life with a standard “one size fits all” toolset, you are just making it tougher on your individual projects. This is “old school” thinking about how a standard toolset makes consistent processes easy to implement, and consistent metrics easy to collect. New tools, methodologies and technologies are constantly injecting themselves into the ecosystem. Think “new school”, and don’t treat this constant change as a bad thing. Just acknowledge that it will happen, and leverage your Jazz/OSLC investment to make sure that any new tools/methodologies/technologies will integrate seamlessly into your environment. With Jazz and OSLC, your teams will remain transparent, collaborative, and you will get consistent reporting and metrics from a potentially diverse set of tools.