R.I.P. ALF - but Long Live Business Mashups!
As we noted last year, ALF seemed to have rather lost momentum as a cross vendor framework, and we were sad to see it be terminated as an Eclipse project and setup for archival late last year.
The problems with ALF were not the technology, but that the ALF team didn't manage to get sufficient momentum going and get others involved.
Brian Behlendorf talked at Subconf 2007 about his experience with the Apache Foundation and how the lessons learnt there helped CollabNet to get Subversion going. It is not easy to create and drive a successful open source project. Factors that he said contributed to Subversion's success include:
- Ensuring that all discussions and decisions are on the net and available to all - don't allow any perception that there is an "inner circle" of people who discuss things face-to-face and perhaps don't document all the discussions
- Create a high quality community to create high quality software
- Need to be nice to people to avoid a "fork" - Development leaders exhibit good communication skills, and can bring different ideas together.
- Conscious effort to bring new developers along the path: from "consumers", to bug reporters, to patch submitters, to active contributors.
One of the areas in which the ALF group perhaps didn't do themselves any favours was their marketing - the information on the web site was out of date, and they had a major success story which was quite hard to find! This was that ALF forms the foundation of Serena's successful Business Mashups tool, and is discussed in a presentation to EclipseCon in 2008.
The source code to ALF is still available for people to use. So perhaps it is not farewell to ALF, but merely "au revoir"!?
IBM's Jazz Framework and Team Concert
We discussed it briefly last year, and Team Concert arrived with a fanfare in June 2008 (pardon the pun!). There have been a variety of announcements since then - see the jazz.net site. Interestingly:
We are doing much of our development on jazz.net, out in the open. Once you join, you can communicate with the development teams, track the progress of builds and milestones, give us direct feedback on what is working and what is not, and submit and track defect and enhancement requests.
We were also interested to notice that there is a completely new version control tool being delivered as part of Team Concert. Recommended usage is up to 200 or so developers. Those shops already using ClearCase will most likely carry on with ClearCase, but do we detect a sign that ClearCase is maybe fading into the background to become one of the systems that interfaces to the new platform?
It is still relatively early days for Jazz, and yet with IBM's clout behind it, it looks likely to succeed.
Microsoft's Team Foundation Server
As another 800lb gorilla in the market, Microsoft moves on with development of their Team Foundation Server (or Visual Studio Team System).
One interesting note was the impact of "dogfooding" - using VSTS in its own implementation - VSTS 2010 has been in use since 2007. Interesting to note that Microsoft doesn't eat its own dogfood for everything - see blog for details of their version control!
VS 2005 had 25,000 bugs although the burn down shows a chart heading towards zero, but as the presenter Richard Erwin said, anyone who was on the team during that period knows how hellish life was! The comparable chart for VS 2008 shows the impact of "feature crews" and ensuring no "debt" is carried forward by using stringent quality gates.
At the same exhibition one of us went to that IBM was announcing Team Concert, Borland had a presentation on their Open ALM strategy. The principles looked good and worthwhile, but we do have some doubts as to Borland's ability to involve other vendors. Indeed recent news on a change of CEO and a 15% reduction in work force gives them plenty of challenges.
Credit Crunches and Global Convergence
Of course Borland is not alone - all organizations are being affected to a greater or lesser degree by the credit crunch and its associated fallout. And in the new global economy we are all connected - inspite of what a few national chancellors may have tried to claim in the early days of the crunch!
We didn't make any specific predictions for global convergence last time (so we can claim to be "on target"!), but tough economic times mean that all companies are looking at cost cutting measures, including the economics of where to develop their software around the world. This, in itself, will increase the need for global collaboration.
With the declining economy, there will be more pressure to cut costs, justify the need/existence for CM (and other processes/functions perceived as "heavyweight"), and "increase productivity" from those who haven't lost their jobs (ye olde "do more with less"). And, of course, some more increase in "world flattening" as outsourcing, off-shoring etc are pursued as cost cutting strategies.
Part of the "justify our existence" for CM and QA departments will be to survive the budget-cutting axe. While there still seems to be a movement toward centralized IT environment (tools and administration) to cut costs, there also seems to be a movement (in response to bad economic times) to cut departments and functions that aren't perceived as directly adding value to production/development. Some of this will be sheer "slashing", and some of it will be more centralized process & QA functions going back under the organizational umbrella (and financial budget) of a specific product-group in the business.
And yet, we shouldn't be all "doom and gloom". Anecdotally, some CM consultants have been quite busy over the last few months as their clients have realized that they need to get the best value out of their existing investments. Indeed, improving their development processes and reducing the costs associated with poor configuration management, has a very good ROI. As long as you are in business, you need good CM and will suffer without it!
Carrying on from last year, if CIO.com is any indication, it is growing in popularity as an enterprise-level strategy (and EA strategy) to reduce IT costs and standardize dev environments.
Subversion 1.5 did finally make it out the door in 2008, and continues to be a major success. One of their reported resolutions is to avoid such a long delay between releases next time!
One interesting move is those companies who have been funding open source development because they wish to benefit from certain results or features - an example being those companies who contributed to Subversion's merge tracking implementation which was a key part of 1.5. We expect to see this trend continue - add value around a standardized open source system.
A recent example of this is Nokia's decision to make Qt available under the LGPL license. As the blog says:
Adding LGPL version 2.1 will greatly increase adoption of Qt across Windows, Linux, embedded Linux, Mac, S60, Windows CE, maemo, and Ovi web services. Having a larger number of users, including Nokia developers, providing feedback and contributions will help Qt remain a cutting edge, robust UI and application framework.
It seems that Nokia values the above over the license revenues they were getting from selling Qt commercially.
The distributed open source version control tools (DVCSs such as Git, Mercurial, Bazaar, Darcs etc) all continued to grow in 2008. The DVCS crew occasionally took swipes at the "antiquated" centralized model (e.g. Linus' infamous "Subversion users are brain dead" comment) and yet they are addressing different requirements.
Companies have different needs than open source projects, particularly around security, traceability and co-ordination that mean a DVCS is unlikely to be the right choice.
For us, the major importance of the rise of DVCSs is not that there are disagreements about how version control should be done, but instead that lots of developers are actively discussing their tools, thinking about them and learning about all the relevant issues.
We have long said that CM becomes much more the responsibility of everyone in (successful) Agile teams (although there will continue to be a role for CM specialists), and there is now a new generation of developers who are actively engaged in learning about and developing new tools and understanding in this arena.
This is good news for the whole industry!
From Sexy Builds to Staged Continuous Integration
We were right last year, and build processes continue to be seen as a key to agility. SCM and Release Engineering will become more development team focused.
Continuous Integration is evolving into Staged Continuous Integration which has become a lot more visible. Tools to automate & scale CI appear to have spent even more marketing $$$ (and webinars) in the past year, as well as adding CI-related features on existing tools (e.g., pre-flight builds for Electric Cloud).
Other Predictions from Last Year
Regarding Agile 2.0 and Post-Agile, we were on the right track, but perhaps not 100% on target. A major trend this year seems to have been Scaling Agile adoption into major companies and/or large projects (witness books by Leffingwell, focus of Rally Webinars, Larman's latest book, and forthcoming books on Scaling (and Leading) Agile by Mike Cohn, Alan Shalloway, and Mary Poppendieck, and a book on Lean Architecture ("Practical Agile Production") by James Coplien.
Regarding the "Agile Backlash" we mentioned last year,as adoption and scaling increased, so has the resistance to and resentment of such changes. We are also hearing more about Agile failures, although most often failed adoption or poor/superficial adoption. James Shore's blog on "The Decline and Fall of Agile" generated much discussion. As suggested by others, this may simply be a sign of Agile methods being in the "Trough of Disillusionment"phaseof the Gartner Hype Cycle. There continue to be no silver bullets and yet Agile approaches have been and continue to be tremendously successful. Yet you shouldn't leap on the band wagon blindly - be aware of traps and pitfalls, and continue to apply common sense.
ITIL V3 continues to gain traction and management mind share and we expect that to continue. Some of the resistance to ITIL V3 over V2 has dissipated, and there is a greater understanding of the benefits of the cohesion and coverage of the new set of books. Service Transition (including release and deployment) success stories using ITIL are being reported at conferences and events.
CM for Cloud Computing
"Cloud Computing" really started to gain traction during last year, and the trend looks like it will be only increasing. A good article on Infoq "Will Cloud-based Multi-Enterprise Information Systems Replace Extranets?" sets the scene.
For us, this generates a new set of CM challenges - looking to control and manage such systems. And this much harder if you are managing one or more third parties. While some aspects of release and deployment look much easier than with traditional systems, controlling and managing interfaces and related information may be significantly different.
It is well worth spending some effort on thinking about these issues ahead of time so that we have an answer if the business suddenly springs this on us!
There has been some recent discussion on what is meant by the term Agile SCM, and isn't all SCM agile? We remain convinced that there is life yet in Agile SCM, but will leave this fruitful topic for a future column! Meanwhile, check out Damon Poole's (possibly provocatively titled) online book Zero to Hyper Agile in 90 days or less for some good information on agile processes.
And finally, here is some unsolicited feedback one of us received from a recent training course:
I'll have to admit that I was unsure when I first went in (large pile of printouts, knowledge that I'd been using the product for the last 2 years etc.) but it was quickly obvious [the trainer] really knew his stuff, had some great tips for using [the tool], and most importantly he actually enjoyed what he was doing!
So perhaps our mission for this year is "to communicate the Joy of CM"! Happy New Year!