I have been unable to find a clear source for this quote, but some author in the 1970s or before defined science fiction as exploring any of three premises about the future – “ (1) What if? (2) If only … and (3) If this goes on …” Rearranging the premises, slightly, what we have is a good description of the role of prediction in analysis, especially for a good analyst:
- “What if?” is stress testing. It introduces new events or players not seen before, but which have some reasonable chance of happening, and sees what happens within the model. For the analyst, this means asking whether new products from other vendors, or new trends, will positively or negatively affect the product.
- “If only” is normation[1]. That is, it seeks to identify changes that will make for a better outcome for some or all people affected by this future. For the analyst, this means identifying ways that the product could be made better in the future, or ways in which another combination of products can provide better results.
I am reminded of this way of looking at the analyst’s job by recent news regarding IBM Rational. At IBM’s Software Connect, the group announced initiatives including “completing the software lifecycle” by linking development and operational information about software, improving software delivery predictability by applying risk management and analytic techniques, and new ways of integrating IBM’s rapidly proliferating array of software. This was complemented by a Dec. 16 press release that noted change management, collaboration, embedded-system development, SOA-based development, and requirements management improvements to existing Rational products. All this, as Steve Mills noted in his Software Connect keynote speech, is in service to IBM’s commitment to creation of “smarter” products – with instrumentation, automation, and reporting.
To understand my reaction to this news, you should walk back with me over a decade and a half of applying extrapolation, stress testing, and normation to Rational, and then IBM Rational, software development offerings. If you remember, Rational’s original claim to fame was as the most effective purveyor of object-oriented design tools. This focus on development of sophisticated and formalized control tools for large-scale and complex development projects continued until as recently as three years ago.
That was then; this is now. Over the last three years, IBM Rational has clearly made a major transition to focusing on agile rather than just “high-end complex” development, and its announcements represent the culmination of that effort. IBM Jazz, the in-house-developed product for agile mashups, receives top billing; older Rational products have been retrofitted to integrate with agile development tools and support a “spiral”/iterative rather than a “waterfall” (i.e., no going back to a previous development stage) model; and there is a welcome focus on constant incremental upgrades to software via infusion of runtime “operational” data on a piece of software in the development process. What’s not to like?
Ah, but that was then, this is now: it’s time to apply extrapolation, stress testing, and normation to the new Rational. Extrapolation says that the agile focus will make IBM of much more use to a wider array of developers. Stress testing says that while IBM’s competitors at all levels may have some advantages in having “built from the ground up” agile development tools, IBM’s ability to scale development to the high end offers advantages to larger customers. However, stress testing and normation suggest that the new Rational has one glaring hole: lack of tools to handle the “instrumented world”, as IBM calls it, or the “sensor-driven Web”, as I call it.
New types of data – including RFID, GPS, and cell phone photos and videos – are being passed over the Web, and within the enterprise, in massive amounts. The architecture to handle these appears to be evolving as the “event-driven architecture”, a filter on top of an Enterprise Service Bus, in which a “one-size-fits-all” program filters events passing over the bus, aggregates them and places them in context, and then either takes action itself according to pre-defined business rules, or sends notifications to a human that action may be needed. The software for these programs is fundamentally different from most past programming models, because it requires “near-real-time” response, and because the structure is trigger/response rather than input-process-output (old-style programs) or loosely-coupled communication (today’s object-oriented programs). If a development vendor fails to provide competitive tools to handle this new model over the next three years, and if other vendors do, the laggard will miss out on a major part of tomorrow’s development market – just as IBM ceded a large segment of the of the medium-sized, medium-complexity “sweet spot” in the development market to others from 1995-2006.
The good news for IBM is that, its competitors Oracle, Microsoft, and HP also appear to be quite some distance from creating a full-fledged sensor-driven Web development tool – and at least IBM recognizes the opportunity. It also appears that moving in the direction of such a tool will not be such a stretch for IBM, given their existing “stream processing” tools. However, because of IBM’s recent history of “missing an opportunity and then buying a third party” in areas such as global repositories, I won’t count IBM Rational as a leading-edge sensor-driven Web development tool until I see some quality productized code.
So, two cheers for the agile IBM Rational heading into 2010; and an echoing silence where the third cheer ought to be. To figure out where that third cheer went, they might apply a little extrapolation, stress testing, and normation; or they could ask a good analyst …
[1] A made-up word. It means the process of developing normative recommendations from data.
2 comments:
VGood post, very interesting
Its as if you had a great grasp on the subject matter, but you forgot to include your readers. Perhaps you should think about this from more than one angle. stresser
Post a Comment