Whatever happened to Software Factories?

Alastair Aitken 19 September 2013 2

It is with clarity that I can recall the day that I decided I would no longer be developing software using Microsoft products. I was listening to a podcast about “software factories”. For those who missed this groundbreaking innovation in software engineering practice, here’s the tl;dr:

“IBM buys Rational Software and effectively owns UML. Because Microsoft doesn’t control UML it wants to scupper it by spreading Fear, Uncertainty and Doubt using every means possible.”

The trouble with UML

Back to the podcast: a Microsoft evangelist (I’m pretty sure that it was Jack Greenfield author of Software Factories, apologies to Mr Greenfield if it wasn’t him) is describing the software factory concept in all its woolly detail. He’s not being given a particularly hard time by the podcast’s host as they operate a Microsoft-friendly environment (it was probably the .NET Rocks! podcast). Nothing particularly tangible has been postulated and mainly the evangelist has been bad mouthing UML. Perhaps realising that his standpoint is built on sand, said evangelist gives up his finely-honed arguments and goes all-in with something along the lines of, “the trouble with UML… is that it’s shit”. Ah, I understand now! The power of rhetoric backed up by factual analysis and slammed home with an expletive. Thank you Mr Microsoft and goodbye.

This was the only time I’ve actually clicked a “report this podcast” link because 1) the podcast was unrated and 2) I believe that delicate young ears should be protected from such drivel masquerading as software engineering.

If this was really the best that the former IT powerhouse could come up with then it was clearly an innovation sinking ship.

Fluffy toilet paper

I had prior knowledge that the concept of software factories might be a soggy-bottomed boat for I had previously purchased the book, Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. I bought it secondhand of course. And sold it a couple of weeks later as it was just a load of vaguely-defined vapourware ideas with no practical application whatsoever. The reviews on Amazon are hilarious – ignore the early five star reviews as they’ve probably been written by the authors’ mums. My favourites are “It’s as if they took all the fancy consulting words they could find, put them in a box, shook them around, and then spilled them out into a book.” and “Software is supposed to be fun – these ruinous runes must be recycled into fluffy TP [toilet paper] at the earliest opportunity.” but perhaps the most damning, and most gracious, must be, “Not bad, not good”.

Not as bad as Internet Explorer

Anyways, after wasting many people’s time with software factories, I believe that Microsoft publicly returned to using UML. In reality I seriously doubt that they ever stopped using UML internally, despite the spin they tried to put on the software factories “concept”. To Microsoft’s credit, the concept of software factories probably didn’t waste as much time developer time as Internet Explorer, so there’s a teeny-weeny silver lining.

Alastair Aitken (124 Posts)

As a contract developer and manager I’ve worked in a wide range of enterprises in a variety of countries where I’ve encountered everything from great work, awful work, bizarre work, all the way down to quasi-legal work. If you think that you recognise your own organisation within my articles then you’re undoubtedly wrong, where you work isn’t that unique.


  1. Chris Twigt 8 October 2013 at 3:59 pm - Reply

    On the contrary I think that “Software factories” is brilliant. Okay, the software factory concept has not succeeded. But the problems it is intended to solve are still with us even today, 9 years later.

    Those problems are outlined very clearly in the first couple of chapters in the book and they are _still_ not solved yet (since 2004, now 2013).

    The industrialization of software development
    – although inevitable – has still not caught on.

    Most software developers today can still easily be fooled into the idea that “that new framework will solve all your problems”. Even though one framework is hardly any better than its predecessor. Most frameworks today do not even integrate well with each other because they all tend to use different representations of the same data!

    Frameworks are not the silver bullet to software engineering. You need some automated way of integration of frameworks. If not you find yourself writing large amounts of integration code. This can be so much code that you could say that applications only come into existence as a side-effect of framework integration.


    PS: “Software Factories” is not about UML.

    • Alastair 10 October 2013 at 5:32 pm - Reply

      Software Factories response

      My main beef with the software factories concept is that it outlines problems without offering tangible solutions. Describing symptoms is not the same as understanding the causes, far less offering a cure.

      The premise that software engineering is merely a subset of, say, production engineering, awaiting the Great Leap Forward that software factories – or something similar – will provide, is specious. We must accept that the practise has many unique aspects and for those we cannot blindly borrow paradigms, e.g. automation, from other disciplines in the hope that their application will solve our problems.

      We should be wary of the notion that the innovation to provide the next stage in software engineering will come from a marketing-driven organisation such as Microsoft.

      “Software factories” was either created, or perhaps misappropriated, with the express purpose of muddying the waters in which UML swims.

Leave A Response »