10 tips on how to prevent business value risk
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Mark Little on Mar 07, 2010
First there were software patterns and anti-patterns, then they were applied to SOA and Web Services by a range of vendors and practitioners, and now Steve Jones, who wrote about SOA anti-patterns several years ago, has raised the topic of anti-principles. According to Steve, a principle is ...
[...] a core concept that you are going to measure things about.
[...]In the same way as Anti-Patterns give you pointers when its all gone wrong then Anti-Principles are the things that you will actively aim to avoid during the programme.
In the entry Steve mentions SOA principles including "Loose Coupling" and "Clear Interfaces", but points out that whereas people are often able to list such things, they often won't list (discuss) the Anti-Principles, which are often more important as they indicate problem areas to try to avoid. A quick search through the literature, both online and offline, illustrates a breadth of experience around principles, such as those listed by Stefan Tilkov, Thomas Erl or others. Although there is some literature on anti-patterns, most are either assumed or ignored.
So what makes a good SOA anti-pattern? Steve takes a stab at a few, but there may be others.
Over the years since premier book on the subject of patterns was released, there has been a lot written about the benefits they bring to engineers and their projects. While the (re-)use of patterns and avoidance of anti-patterns has become almost second nature to most developers, it seems that Steve has a point that principles and anti-principles are as important yet too often overlooked, at least as far as SOA is concerned.
I talked about some SOA Anti-Patterns in my talk at QCon 2009 here:
www.infoq.com/presentations/3-SOA-Case-Studies-...
Interestingly mine were much more about organization, project lifecycle and agility than technical design.
Paul Fremantle
CTO, WSO2
I was expecting more from the list but I guess one gets the idea behind the topic anyway.
Is it possible to have anti-principles which are clearly opposites of the service orientation principels, e.g. Tight-coupling vs Loose-coupling?
Cheers.
I agree :-) Interestingly enough, this is all that OO (and Distributed-OO) does very very well.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.
John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.
Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.
Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.
Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?
Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.
3 comments
Watch Thread Reply