Mike MacDonagh's Blog

Somewhere in the overlap between software development, process improvement and psychology

Tag Archives: tools

Process vs. Tools

What’s more important: Process or tools?

I’ve sat through numerous arguments with people trying to work out whether process or tools are more important to their software development effort. The arguments go along the lines of:

Process Geek: Tools are just the things you use to do the process, the value is in the process. Let’s do a process first roll out.

Tools Geek: Tools are the things people actually use. Process is academic and is constrained by the tool features anyway. Let’s do a tools based roll out.

Sadly both of these are real life quotes from people I’ve worked around in the past. I won’t embarrass them by naming them because they’re both really wrong. For me the real value is not in the tools or the process but in the people. Process and tools are something that you add if the people need them.

Minimal Tooling

For me the best planning tool is a whiteboard. The best architecture and design tool is also a whiteboard. I like to capture some info about what I’m doing and how close I am to achieving my goals, some really simple measures. The best tool for that is probably Excel, despite my love of Open Source. Other than that I need to manage some lists of things like requirements (stories/use cases whatever), defects and whatever other bits the team thinks are important. They might fit on a whiteboard but typically we want to have some attributes on them, be able to sort them and link them. The one downside of a white board is the lack of drag and drop. I’ve used a few different types of smart board and active touch screens but none of them have really given me the smooth experience I want.

The one bit of tooling I really need is my IDE + SCM + Continuous Integration.

Minimal Process

This is potentially a can of worms if I go into things like process kernels and ideological arguments about different agile approaches and practice collections. There’s no such thing as a process silver bullet so for me though it’s all about the team and being effective. Teams need to:

  • Have Clear Obligations
  • Have Clear Business Priorities
  • Seize their autonomy
  • Have the relevant technical skills and resource availability
  • Be active in actually doing their work (seems obvious but it’s something a lot of processes seem to hinder rather than help)
  • Demonstrate visible progress (via working software not a tracking gantt chart)
  • Continuously improve themselves (because no way of working is perfect)

This list based on the 7 Habits of Agile Teams by Roly Stimson

So why go more complicated?

Unfortunately life is rarely simple. Many teams work in complex environments where a number of factors might make them choose to need more than this kind of minimal set including things like physical distribution; audit, regulatory or security constraints; cross-team interaction in system of systems environments, more people etc.

When faced with increased complexity it might be appropriate to add more powerful tooling or development practices. The more people involved in a project the harder it is to herd all of those socially complex cats into working together.

This is why ALM suites exist ranging from plugging together some open source bits like git, SimpleGit, jenkins, agilefant, bugzilla etc. to commercial vendor products like IBM Rational RTC (which does agile planning, work item management, scm and build in one tool) and other IBM Rational Jazz tools – it’s worth noting that you can also get RTC for free for just 10 users or for academic/research use on jazzhub.

Alternatively there’s Microsoft TFS for source control, work item tracking etc. tying together existing Microsoft stuff like MS Office, Visual Studio and sharepoint if you’re a more Microsoft focussed development house.

Of course you can also mix and match this stuff to a greater or lesser degree with various integrations. No toolset is a silver bullet however and each have their own problems.

So what’s my point?

My point is that process and tools need to reinforce each other, that both should be selected based on the needs of the team and the environment the team has to operate in. In the process vs. tools argument both lose out to the people. People in a development organisation create value, they just use tools and process to do it.

When can you get the Jazz based Rational Tools?

I’ve seen some comments about the fact that at the RSDC2008 Rational announced 22 products. I think many bloggers and article writers may have got a little confused by all the hype. Rational certainly made some very important product announcements and the Rational Labs in the exhibition centre were fantastic in terms of showing us some previews of what’s coming in the future. These announcements and lab previous are the primary reason why I said it was the best RSDC in years. However there weren’t 22 new products announced! It breaks down like this in terms of what the analysts have been writing/bloggin:

IBM Rational announced pricing and availability for a swath of 22 products:

  • There are 6 new IBM Rational products that are native Jazz products (6)
  • Updates to five existing Rational tools that add Jazz enablement/capabilities (5)
  • plans for certified add-in products from 11 Rational partners (11)

6+5+11 = 22

Personally I’ve struggled to put these numbers in context. I think I’m fairly aware of the new Rational stuff that’s coming along but I can’t quite get the numbers to add up, so the rest of this post is about what I’m aware of, please comment if you have any more/contrary information: (Edit: see the comments on this post for a clarification on the numbers from IBM)

New Jazz based tools:

  1. IBM Rational Team Concert (may not count as it’s been announced for 2 years)
  2. IBM Rational Quality Manager
  3. IBM Rational Requirements Composer
  4. IBM Rational Financier
  5. IBM Rational Governor
  6. IBM Rational Tempo
  7. IBM Rational Ensemble (not to be confused with the IBM Rational Ensemble that is a business partner collective!)
  8. IBM Rational Enterprise Reporting
  9. IBM Rational Project Management

I’m counting 9 not 6

As for the 5 updated, these will be ClearQuest, ClearCase, ReqPro, RPM (arguably) and…? I’m not sure where AppScan fits in with this stuff. It’s great tool and will clearly integrate with Rational Quality Manager but I don’t know where it fits in with the 22? announcements. Similar questions can be asked about the Telelogic tools.

Anyway here’s what I’m tracking in terms of the new IBM Rational Jazz tools:

Rational Team Concert

Release Candidate 4(Jazz.net registration required) is currently available for downloading, the production release is sceduled for mid 2008 with the enterprise release scheduled for October 2008 (that’s the one I’d use for piloting)

Also

IBM Rational are running a number of open betas for some of the new tools that were announced at last weeks RSDC. They’re not generally available yet but will be soon. Specifically:

Rational Quality Manager

This open beta program includes two new Rational products and three enhanced versions of Rational products that you already know:

  • NEW* IBM® Rational® Quality Manager v8.0
  • NEW* IBM® Rational® Test Lab Manager v8.0 Extension**
    **This extension is included in Rational Quality Manager for the open beta but will be available under separate license for GA.
  • ENHANCED* IBM® Rational® Performance Tester v8.0
  • ENHANCED* IBM® Rational® Functional Tester v8.0
  • ENHANCED* IBM® Rational® Service Tester for SOA Quality v8.0

Open Beta pre-registration – get emailed when the open beta gets released on (currently) June 24th 2008

There will also be some open web demos on June 24th so you can get an overview without pre-registering for the beta if you wish.

Rational Requirements Composer

This Beta features the latest version of Rational RequisitePro for managing your requirements, as well as a new offering, Rational Requirements Composer, enhancing your abilities to elicit and define requirements for business driven-development.

NEW* IBM Rational Requirements Composer Beta focuses on the following capabilities for requirements definition and management:

  • Leverage multiple sources for requirements and organize them in rich documents for context
    • Create requirements and link to supporting documents and external sources
    • Supplement textual content with embedded views of diagrams and sketches
  • Develop robust use cases
    • Create simple, informative use-case diagrams
    • Elaborate use cases with rich document descriptions, user interfaces sketches, storyboards, and activity flows
  • Build comprehensive business glossaries
    • Interact with rich documents to define and share new terms
    • Link to and verify the usage of existing terms
  • Sketch business processes
    • Sketch business processes using a widely recognizable and easily understandable subset of the BPMN notation
    • Link business tasks and decision points to use cases, user interface sketches, and requirements
  • Visualize results with user interface sketches and storyboards
    • Elaborate the user experience to further elicit and validate requirements
    • Refactor sketches into reusable parts to quickly build storyboards
    • Easily maintain storyboards as sketch changes are propagated throughout
    • Link requirements to any user interface part
  • Collaborate in context to validate and clarify requirements
    • Attach comments to virtually any textual or graphical element
    • Maintain comment threads for conversational context
    • Create requirements from comment content
    • Host reviews within the collaborative environment to facilitate requirements validation and approval
  • Integrate Rational Requirements Composer Beta and Rational RequisitePro v7.1 Beta
    • RequisitePro integrations provide requirements traceability across the application lifecycle
    • Enhance requirements content to overcome perception, communication, and information gaps across functions, organizations, and geographies.

ENHANCED* Rational RequisitePro® v7.1 Beta focuses on the following new and improved capabilities:

  • RequisitePro client for Web enhancements, including:
    • Improved Microsoft® Word integration: create and edit requirements without taking documents offline
    • Additional project administration capability
    • View rich-text requirements content
    • Run and share BIRT-based reports
  • Enhanced security model for enterprise deployments
    • Set permissions on package hierarchies and views
  • New BIRT-based reporting option
    • Report designer for custom report design
    • Sample report templates aid in report design
  • Baseline Manager improvements
    • Explore baseline contents to gain context beyond baseline comparisons

Open Beta pre-registration – get emailed when the open beta gets released (currently) planned for late June/July 2008

Other tools

Some other tools I’m aware of but don’t have any information on dates (some of these are part of the rational labs research and may never make final products):

  • IBM Rational Financier – gives project and program managers insight into the financial value of one ore more projects to help identify and manage risks
  • IBM Rational Governor – helps IT organisations manage project roles and associates decision rights including managing the polices that constrain decisions and promote compliance with processes
  • IBM Rational Tempo – lets project managers understand and mange the variability of schedule overruns, a key source of risk in software development projects
  • IBM Rational Ensemble – reduces risks incurred by communication failures by promoting communication between developers doing related work (see here for info on the business partner group called IBM Rational Ensemble)
  • IBM Rational Enterprise Reporting – a reporting interface that sits across all of the Jazz tools, more than just a jazz version of SoDa this tool can replace a lot of the executive dashboard features of tools like RPM
  • IBM Rational Project Management – a replacement for Microsoft Project???
  • IBM Rational Self Check (see MCIF)

Conclusions

There’s clearly a lot going on in this space and the next few years will be critical in the Rational space as Jazz takes it’s ascendency. It seems obvious to me that the “classic” Rational tools (ReqPro, ClearCase, ClearQuest etc.) will converge with the new Jazz based tools in each area and Rational will provide an upgrade path for each tool so eventually more everyone from the classic tools to the Jazz tools. In my opinion this is a good thing for a number of reasons:

  • Rather than purchases of point products integrated point to point, the Jazz project is an architectural focus on the needs of the industry. I’d argue this is long overdue and extremely valuable.
  • Distributed teams are accepted as the norm not the exception
  • The “classic” tools have needed a facelift for a while
  • And more importantly there is a growing trend from Rational towards Practice based process and tooling, something that my company, and me personally, have been evangelising for a while now. The new Jazz tools, the MCIF, practice based approach to process and embracing of agile principles demonstrate a genuine effort in right direction
Follow

Get every new post delivered to your Inbox.

Join 372 other followers

%d bloggers like this: