Roger Dunn is the founder and CEO of SourceIQ. He is passionate about the limitless potential for software and teams, and is active in the development community with sharing perspectives on the future of computing and lessons-learned from the field. To contact Roger, please email roger.dunn@sourceiq.com.
You may also want to check out Fiona Dossin's Notes from the Field and Tom McDonough's ALM for Fun and Profit.
A smoky bar, some late night stragglers, the deep purr of double bass, piano chords slipping away like a shape-shifter, soft horn notes that leap into impossibly graceful runs, and tossed to the vocalist like a playful challenge. Oh, and the Rational Software Development Conference (RSDC).
That’s right, it’s time for all that Jazz. Headlining at the upcoming RSDC will be Rational Team Concert (RTC) and the Jazz platform, the articulation in product form of IBM Rational’s vision for the future of software development. As one of the first Jazz partners, I have a few thoughts on what this might mean.
Jazz showcases a collaborative blend of flights of improvisation over compositional themes, performed by artists with mastery of their individual instruments. Great jazz teams tend to be small – from solo artists up to groups of 4 or 5, but pushing the limit with 7 or more. Solo practice may improve your technical chops, but it comes down to collaboration with other artists to make you a better jazz musician.
So far, the musical form and the development platform have a lot in common! Collaboration, empowering small teams, liberating improvisational artistry from formal structures… But is RTC/Jazz really “jazzy”? I look to what came before to get some perspective…
As a musician, I can’t help but see ClearCase and ClearQuest as Rational’s Big Band era. You gotta love Cab Calloway, Duke Ellington, Glenn Miller and the rest, right? One or two dozen musicians, compositional arrangements often on real sheet music, limited improvisation, and a great big bus to cart the group from one venue to the next. Structure, form, and a whole lot of infrastructure resulting in some truly great music! Doesn’t that sound a bit like ClearCase and ClearQuest?
In contrast, a small jazz combo is about spontaneity and improvisation. A lot more latitude for the creative process. Sometimes unlistenable, sometimes brilliant.
If you really want to make music that way, it’s crucial that the basic forms not encroach on the creative process. My hope – and at this point it’s nothing more than a hope – is that IBM Rational has captured that spirit in RTC/Jazz. Provide the venue, maybe the instruments, perhaps even a few starter themes, and then get out of the way and let the musicians do their thing. If IBM Rational tries to advance RTC/Jazz too far by itself, then it will lose that spirit. RTC/Jazz may still be a successful development platform, but it will fail to realize a vision as the next great meeting place for insanely creative development professionals. On the other hand, if IBM Rational lets the ecosystem flourish and advance, then we may just have a great new development paradigm on our hands here.
But will you be able to download your next IDE from iTunes?!? And should that download be measured in Gigs? (ouch - sorry)
Some sad news in the software engineering world today, Agitar Software winds down operations. It's really too bad; I saw Agitar making a big contribution to revitalize interest in unit testing, an area of software engineering that was common in the early days of Ada, C and C++, but that seemed to become de-emphasized through the Web revolution.
Evolutionary processes seldom take straight lines, and the maturation of the ALM industry is no exception. Still, there's reason to not be entirely disheartened by today's news. Agitar's founders, Roongko Doong and Alberto Savoia, are reported to have left the company earlier this year, and have since founded LikeLoops. I'm intrigued to see what they come up with next; heck, I like loops too! I'm even fonder of the sage line, "To iterate is human, to recurse divine", but maybe naming a new company "ReCursing.com" would be a bit strong? In any case, their site says "We are currently operating in stealth mode", so stay tuned!
I confess: I'm an esoterica junkie. I love the stuff. Give me a copy of Foucault's Pendulum, a National Treasure movie, some King Crimson in the background, and I'm one happy camper.
The essence of esoteric knowledge is secrets to deep mysteries known only to a select few, yet hidden in plain sight as symbols. Esoterica has the compelling allure of a good conspiracy theory: we're drawn to the idea of a handful of initiates deriving special meaning and power from the same sights and symbols that otherwise appear inconsequential. As awareness of esoterica dawns on us, we want more, we want to be let in on the secret! What's really going on with the dollar bill and its all-seeing eye, pyramid, and Freemason connection? Did the fiction of the Da Vinci Code stumble into long-held secrets? And what about that curious layout of the Temple at Luxor?
Best-selling authors like Dan Brown and Umberto Eco use esoteric knowledge as a plot device. They tantalize us to plow on, sometimes offering a glimpse, other times ending in ambiguity. And we love it, or at the very least book sales suggest that we've got a pretty strong appetite for it.
To put it in Don Rumsfeldian, the unknown unknowns are unknowable, and so do not impinge on our normal perceptions. The known knowns are defined, mundane, uninteresting. It’s the known unknowns - the esoterica - that inspire our questing nature, to unearth special secrets and advance our knowledge of the world.
You knew I was going to bring this back to software development, right?
The true objective of ALM products is to shed light on the esoterica of software development, and bring that hidden knowledge to a broad audience. Who knows if ALM vendors purposefully pursue this goal, or whether it's some coincidental byproduct of their value proposition. Students of esoterica and the human condition might offer up that the question is irrelevant: all of us, even ALM vendors, have an indefatigable intellectual curiousity or questing nature right in our DNA.
While I can't speak for other ALM vendors, it is certainly the case that SourceIQ was founded on the idea of revealing software development truths hidden in plain sight. Consider it in the light of the striking, even ironic, parallels between Freemasons and programmers. Both work in materials imbued with symbols. Both move easily between industries and even countries, maintaining a collaborative network of professional associations. Both create work products that have enduring properties far beyond what might have originally prescribed. And the essential symbols that govern that work product are hidden in plain sight from their vast numbers of users and consumers.
The difference is that programmers aren't cultish (at least not the ones I know). They may want to be left alone to concentrate on a problem, they may want permission to opt out of meetings, they may want the right tools and the occassional attaboy when things go right, but they don't purposefully stash secrets in every available hidey-hole. They don't have to! Version control systems are complicit in doing it for them! The very transactions that represent logic assets changing over time are "unknown unknowns" to all but the programmer initiates! True, release engineering and configuration management know about the transactions, but usually not the details of the code - a bit like having half a broken amulet. And the dev leads, the QA analysts, the project managers - they stand to gain the most from the transformational knowledge of today's software esoterica.
A colleague with about 30 years experience in some pretty intense software development environments wrote, "I have a missionary complex and I want to bring truth and light to the world, but I haven't found the light yet. I often refer to Moses on the Mountain when in the frustration of the moment he shouted "Lord, what have I left undone?" And I am waiting for the voice of C. B. DeMille to speak to me. (I am thy compiler, thou shalt have no other compilers before me...)." He wanted to know if SourceIQ is THE answer.
I never claim that SourceIQ is THE answer. The answer lies in the people who develop software advancing to a state of greater shared understanding. SourceIQ is a vehicle for bringing that about. It creates transparency into the ever-changing composition and disposition of logic assets, yielding insights into the contributing people and creative processes. It's objective, it places no added burden on developers, and it informs the larger team as to what's really going on. For SourceIQ's customers, barriers between team members bring about stasis and project failure; shared understanding brings about transformational change.
Now let me tell you what's really going on at Roswell, but first gotta see who's at the door...
Where to begin? The founding principle of SourceIQ is that the next evolutionary step for software development is to do more to tap into the power of logic assets and the processes that shape them. That seems like a pretty good place to kick things off!
In the grand scheme of human history, software development is barely in its infancy. Sure, we've made unprecedented progress these last few decades with the power of software to transform culture, commerce and human communication. But we're also just starting the evolutionary stage in which we now find ourselves.
Image:20080428 blog timeline.jpg
The evolutionary path of language that takes us to the present day is uncertain, but some scholars of prehistory believe that the origin of language dates back 50-100,000 years. The written word is far more recent, with Sumerian and Egyptian writing systems beginning around 3,000 B.C. Print technology began with Gutenberg and his contemporaries, and sparked quite a revolution: "by 1501 there were 1000 printing shops in Europe, which had produced 35,000 titles and 20 million copies.". And finally the written word becomes the basis for software development, with the birth of software engineering in 1968.
In the decades that have followed, we've seen an explosion in the programming languages, the number of people involved in software development, the reliance of the modern economy and culture on software, and the volume of logic assets that express that software. We continue to cannibalize earlier methodologies, languages and techniques in the quest for more efficient, expressive and cost-effective ways to express our human way of doing things in a form that can be executed at machine speed.
This puts us at a critical turning point: for the first time, millions of people around the world spend the bulk of their work day using the written word to express intention not to each other, not for posterity, not even necessarily for enjoyment!, but rather to machines that will execute that intention - for better or worse - reliably, reproducably, and at speeds that we can never hope to equal. The explosion in printing that followed Gutenberg in the 15th century? That was nothing compared to what we've seen since 1968!
So what's the point? Simple: we can do more with software development, do it better, and get more out of it than we do today. A lot more, a lot better. It's the foundation for a whole new way of communicating. In future blog entries, I'll dig into some of this, and the implications on process and teams.
Until then, Hello world!