I attended this morning’s Toronto edition of ThoughtWorks’ new Quarterly Technology Briefing, on the subject of Forging a New Alliance: Cutting-edge software to power the Business/IT relationship. I was a bit turned off by the title, which sounds kind of “marketing speak”ish, but was convinced by the fact that Martin Fowler, ThoughtWorks’ Chief Scientist, would be presenting – not that I know much about Fowler, but I’m familiar with some of his ideas, and am always eager for free opportunities to be intellectually stimulated (and to enjoy some good continental breakfast).

What presenters Fowler and Scott Shaw, Director of Services for ThoughtWorks Australia, were talking about was essentially the inefficiencies and poor communication fostered by traditional IT-business relationships, and how we should, in the words of Fowler, “get rid of IT” – a trend he says is already underway. The way to thrive in such an atmosphere, says Fowler, is to move IT closer to the business people.

Key messages:

  • Over time, IT projects have become more predictable and a greater percentage finish on time (according to Standish reports) but they are consequently slower to get to market, and slower to respond to feedback.
  • Bloatware has been on the increase: software products increase greatly in size, but not so greatly in useful features (about 65% of features are rarely or never used, according to figures they cited–possibly also from a Standish report).
  • The talent wars have become more prevalent – not as many people want to work in IT, which they see as stifling and uncreative – “IT workers are the new accountants”.
  • Programming is a craft, a form of design. And like other crafts, apprenticeship and learning relationships are crucial.
  • Bring user experience into the iterative design process. Too often, people operate on a model of “Bring in the UX people, have them do their stuff, maybe some user research and interviews, then pass the findings off to the development team, who never actually gets to interact with real users or be engaged in user experience research.”

Fowler and Shaw also had some interesting things to say about domain-driven design (a concept I gather Fowler has some expertise with) and domain-specific languages, in which terminology and conceptual models are built directly into software code; in other words, the outside (product interaction, user experience) is reflected on the inside.

Really interesting stuff. I wanted to ask Fowler about how he saw RDF playing into this, but didn’t have the time.