A Django site.
October 30, 2007
» Software-as-a-Service (SaaS) for CM systems

In a podcast on IBM developerWorks, Dave Michell explains about Software as a Service (Saas):

the customer does not take ownership of the software, but they're going to rent this solution in a subscription model, and it's delivered remotely. And that's very different from the ASP model. In the ASP model, or the application hosting model, what the customer is doing is they're buying the software.
[...]

In the Software as a Service model, again, the customer does not own the software. They subscribe to an offering and they buy that offering in a subscription model per user per month. So there's no software purchase to be made.

And the other key point here is in the Software as a Service model, the customer really has no say over what the infrastructure is. They don't get to decide what the hardware is or the middleware or the database — and more to the point, they don't really care.

So in the SaaS model, the customer says "I want to buy that application functionality. I'm willing to pay this much per user per month," usually is their typical model. "And the service-level agreement meets my needs. So I'm going to acquire that application that way."

Considering a configuration management system, such as ClearCase, many customers struggle with configuring the system for optimal performance, setting up and configuring servers, network and client parameters. In many cases, the users don't really care whether it is ClearCase, Synergy or Subversion behind the scenes, as long as that can do version control, baselining (or labeling or tagging), parallel development (or branching or streaming), delivery, rebasing, releasing, status promotion, structuring, setting attributes, and all the other CM stuff. Users don't care about sufficient licenses, disk space, replication across sites and other IT issues; they just want the system to be available and to work properly to their needs.

So, the CM system seems a perfect candidate to be deployed as Software as a Service. Even more, if the CM service is offered as a Web 2.0 application, the internet will be the platform allowing local and global accessibility.

If in addition there would be a standard set of CM service features, the CM back-end could be supported by just any CM vendor that complies with this standard. The front-end could even be of a different vendor or proprietary to the customer, e.g. as a dedicated integration with other systems. Customers could then focus more on the tool-vendor that suites best with their organizational and IT needs, and users could better focus on dealing with true configuration management issues, rather than being hampered by infrastructure and IT issues.

Why wouldn't a product like ClearCase be offered an SaaS model, if IBM is such a promotor of SaaS?

July 12, 2007
» IBM developerWorks CM space and wiki

Recently, I have created a Configuration Management space with an underlying Configuration Management wiki on IBM developerWorks. Initial focus will be on IBM products (ClearCase, ClearQuest and UCM) and on CM concepts and practices. Later, it is my intention to extend it to other CM products too. The space and wiki are an extension to the existing discussion forums on dW.

The content is still in its initial stages, so bear with me to let it grow. For that purpose I am still looking for co-editors who are willing to put more content to it. Although wiki's are intended for open collaboration, I want to be careful with making it completely open for modification to the world to assure proper structure and quality.

For new events or other news and changes on the CM space portal, feel free to contact me.

April 14, 2007
» Changing CM systems is more difficult than you think

Some days ago I was talking to a former development manager of a big technology company going through the transition to another CM system. His statement was that during the time he was development manager he encountered a transition to a new CM system twice. But times, this transition almost led to a disaster for the (software) development department.

Now, with the third transition it's the same story; the company is almost facing a disaster for the development department. Apparently, going to another CM system is a very risky project that should not be taken lightly and requires specific expertise to do right. I am not surprised by this conclusion, but I always have a hard time explaining it to my customers.

» SCM Best of breed for embedded software development?

The "Forrester Wave(tm): Process-Centric Software Configuration Management, Q4 2005" [PDF] reports in its overall conclusion:

IBM Rational ClearCase is both the strongest overall solution as well as the most widely used.
Although this may be true for corporate IT shops, I doubt that it is true for shops developing products with embedded software. The reports states about Telelogic's Synergy that it
has always been strongest among telecommunications, automotive, and aerospace and definese companies building products with embedded software.
Although it does not say that IBM does not focus on this area, it is my experience in the field and in communication with people of IBM that they don't.

In the technology markets - which include product development with embedded software and component development for multiple disciplinaries (software, hardware, mechanical, electrical, (nano)optical, etc.) - projects have some specific challenges that are quite different from the corporate IT projects, such as:
  • Exponential growth of consumer products and professional products with embedded software
  • Exponential growth of volume and complexity of embedded software
  • Excessive pressure on costs (price), quality (safety, health and security), and the time-to-market
  • Extreme competitiveness on new products and new features
  • Increasing demands for integration and connectivity between heterogenous products
This brings on increased demands for the configuration management solution, for example:
  • Transparant integration of within product lines and across product lines for different application domains (e.g. medical equipment and telecommunication), with different and evolving architectures, different CM policies/strategies and different product lifecycles
  • Integration, collaboration and seamless bilateral exchange of data and assets across different organizations crossing company borders, not only as sub-contractor but also as partnerships, with appropriate protection of IP (Intellectual Property) and proprietary information and assets.
  • Sharing through open-source and inner-source (i.e. open-source approach within an intranet) of components with appropriate CM control.
  • Integration or interconnection for CM solutions of multiple vendors
In my experience, there are no tool vendors that seriously dive into these issues, not from a methodological angle nor from a technological perspective. These are challenges that are less likely to emerge for corporate IT solution than for product development. The Forrester report shows that IBM has the highest scores on R&D; (5.00) and Product strategy (3.68), but the report does not take any of the above considerations into account for the evaluation.

Nevertheless, these are the challenges that product development companies will have to face somewhere in the future to survive the competition (or to collaborate with the competition and partners). It will require overcoming methodological (process definition) and technological (tool implementation) barriers. And since it involve collaboration with other parties across the boundaries of corporate responsibilities and authority, I seriously doubt those companies will succeed on their own.
But if they must, I think they will use a low-cost, possibly open-source CM solution (e.g. Subversion) as platform to jump off, unless a commercial CM tool offers the methodological and technological CM solution out-of-the-box.

IBM has the best cards on R&D and Product Strategy, but has no focus on this issue. Telelogic has the best focus, but doesn't do much on R&D.; The Open-Source community (e.g. Subversion) has the best availability, price and simplicity, but lacks the necessary product characteristics (e.g. process support).
Which way it will go, I don't know. But my expectation is that the growth on product development will exceed that of corporate IT solutions, e-marketing and webdevelopment, and that IBM will lose the battle of "best of breed" with ClearCase if they don't jump in.

See also the discussion Will IBM Replace ClearCase with a New Product on CmCrossroads.

Update 14/4/2007:
Added labels.

April 7, 2007
» Best Kept Secrets of Code Reviews

The folks over at SmartBear software have written a nice little book entitled The Best Kept Secrets of Code Reviews. It's free if you go over to their webpage and ask for it (you have to fill out a registration form, and it takes a few weeks to arrive, but they havent spammed me at all since I registered with them a few months ago).

This is a pretty good book and it is VERY pragmatic! It is applicable to Agile development too! [You don't have to do Pair-Programming to be Agile! Pairing is part of XP, which is one particular agile method -- several other agile methods do not require it.]

SmartBear also has a pretty neat suite of tools that look to me like they would be REALLY USEFUL for an organization trying to streamline some of its otherwise heavyweight processes for peer-reviews and related quality metrics:

  • CodeCollaborator - Automation for paperless peer code-reviews
  • CodeReports - Continuous source code metrics over time.
  • CodePickle - Suspend & resume code changes in local developer sandboxes (implements the PrivateVersions pattern without using version-control branches)
  • CodeReviewer - automated peer-to-peer code reviews across remote sites
  • CodeHistorian - Data-mining and visualizations for version control systems.

And "No!" they did not ask me to blog or say anything nice about them or their products! I'm simply coming from the perspective of someone in a large organization who has witnessed a lot of homegrown and heavyweight processes and tools for these kinds of things, and don't see too many commercial tools addressing the peer-review aspect of development and trying to make it lighter-weight and better-integrated with version-control and the rest of SCM.

The have some other nice resources too:

Looks like a lot of "good stuff" to me!!!

January 21, 2007
» Essential CVS and Global Outsourcing with VSTS

Just received two new books about version-control tools:

The Essential CVS, 2e book is one of the better CVS books available these days. I think I like it better than the classic one by Fogel, but not quite as much as the Pragmatic Programmers "Practical Version Control with CVS" (still - it's pretty close).

To be honest though, I really dont feel like CVS is very desirable among free Version-control tool offerings when we have the likes of Subversion, Monotone, Arch, and others that support the more recent paradigms and higher-levels of abstractions for working with project-wide streams (branches) and more.

The VSTS book is rather interesting. The "Global Outsourcing" parts of the title, and some of the corresponding content, would likely "turn off" a lot of folks. It even has a brief section about Agile development (to which, you'd think "global outsourcing would be anathema).

Mickey Gousset published a review of the book back in October, and it's worth a read. I mostly agree with the comments he makes. I think the book is pretty good, but there is another one coming soon that I expect I'll like a whole lot better, as well as several VSTS books available from Amazon.com.

Still, if you need to do a lot of distributed development across geographically dispersed sites, and want to use VSTS not just for its versioning capabilities, but also the tracking and coordination capabilities, this is probably the book to get.

» Agile Tooling Survey Results

From Pete Behrens' Agile Executive Blog, the results to the Agile Tooling Survey they conducted in October are now available online at http://trailridgeconsulting.com/surveys.html:

    With over 500 survey responses from 39 countries, we feel this survey
    provides an excellent benchmark for where the agile movement is at
    today and how we are using project management tooling to assist our
    agile processes.

    This report builds a corporate profile of companies that are following
    agile processes today and then uses that profile to analyze how they
    are using project management tooling to support various aspects of
    their agile processes.

It's rather interesting to see what sorts of tools are being used for version-control, defect/issue/enhancement-tracking (DIET), and project planning & tracking, particularly when some high-profile Agilists would have us believe that (other than version control) Agile should "eschew" such tools.

I don't think the problem is the tools. I think the problem is most of them were/are made and used in a non-agile fashion that didn't have the agile way of working in mind. Now that there are some tools out there which do, it seems they are helpful after all :-)

August 20, 2006
» Speedtest.net

Very cool online tool.. love the controls 

Link to Speedtest.net