Designed for cloud

January 6, 2010
by Chris Swan

There is an evolutionary process in industrial design, and it seems to me that this is relevant to software. The stages are:

1. Design for purpose This is where the objective is simply to make something that works, something that satisfies the business requirements. Design for purpose is a cottage industry at best, and often more like a craft. This is where most in house software development is stuck, and Tim Bray is quite right to call it out in his recent ‘doing IT wrong‘ post.

2. Design for manufacture This is where the objective is to build an efficient and repeatable process that achieves some local optimum for cost/quality. When Ford came up with the Model-T the primary purpose was to make the car easy to make. Operational issues are somebody else’s problem. This is where most packaged software development is stuck – because the manufacturer (the software house) doesn’t bear the cost of operations [in fact many software houses have transformed into services companies because there's money in those hills dealing with the operational issues]. Where operational issues get pushed back into the manufacturing process (by incumbent liabilities like software patching) then we see the emergence of things like Microsoft’s Security Development Lifecycle, which is a step along the road to…

3. Design for maintenance This is where the designer of a product or service has to consider the full operational cycle and costs associated with what they’re doing. They don’t just want to make it cheap to make, but it also has to be cheap to own. Cloud computing forces a shift to this because the everything as a service model is about through life operations rather than one off delivery. Successful SaaS (and PaaS, and IaaS) is fundamentally different to what came before because intentionally or otherwise it has been designed for maintenance. We may talk about better management/automation/scaling, but ultimately these things come about from a different design paradigm.

I thinks this helps to explain why many software houses are struggling with a transformation to SaaS and the Cloud. Design ethos becomes very tightly intertwined into an organisation’s structure and culture, and a shift from design to manufacture to design for maintenance is clearly a hard one to make – just look at what happened to the car industry.

No comments yet

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS