Monday, September 29, 2008

My way or the highway - anti-pattern

This anti-pattern is about delivery processes, given a major goal of SOA is to enable business flexibility its amazing how organisations still insist on having a single delivery process for every type of delivery, or a best two approaches, one for package and one for the rest.

The effect here is that there is no link between the business drivers and requirements and the type of delivery process employed. No matter whether agility is required or a single compliance driven delivery its always a single process that is applied. This means seeing package projects capturing requirements rather than doing a best-fit analysis, it means seeing agile processes where a vanilla package implementation would be better and it means seeing software development projects doing waterfall because that is what is used on vanilla package implementations.

The end effect is that while the services might map well to the business objectives the delivery process prevents this being realised in a way that matches the way in which the business wants the SOA to be delivered. This gets SOA a reputation as either expensive (e.g. when packages get over customised) or slow (waterfall on a software development package).

The cause of this tends to be an over reliance on project management in the IT department and a fixed approach. The use of Waterfall across the board is often driven by the finance departments approval processes which mandate that everything must be known and priced before a project can start. Often these fixed processes are part of a broader "quality" initiative where the quality approval people find it easier to have a single process to audit than understanding and coping with different ways of working that actually deliver more quality

The resolution is to understand the differing business and technical objectives that business services have and to tailor your process appropriately. This means increasing the ceremony where you have complex contracts and external interactions, it means doing waterfall when you have a vanilla package implementation and are going to change the business to fit and it means having co-located teams when you want true agility and pace of change.

This means convincing the quality people, or convincing the business that the quality people are getting in the way of quality. It also means shooting the sacred cows in the project management organisation and investing in the training and mentoring required. It also involves explaining to finance how different financial approval models make sense in different areas of the business. Its a whole lot of explaining but there is thankfully a whole lot of data out there on how single process approaches tend to destroy IT estates.

Technorati Tags: ,

No comments: