Please note: This blog is no longer updated and has moved to a new location: Scott Mark.

Tuesday, January 17, 2006

Great Architects Are Also Stranglers

Everyone is talking about refactoring, which I agree is a very Good Thing. But I have also become very interested in Strangling, which I believe might be an even Better Thing.

I came across this interesting article by Martin Fowler on the Strangler Pattern, and also this interesting PowerPoint (see Note below) that tackles it at a development level. Refactoring is often applied in a development context, but I think Strangling has appeal because it is more easily applied in an architectural context. The notion of Strangling comes from a vine that begins growing on top of a tree and gradually overcomes and kills the tree. This concept applies to architecture in the sense that we often cannot completely gut and replace an architectural component, but rather have to replace it gradually overtime.

It makes good copy to write about the latest, greatest thing in Enterprise Architecture and Enterprise Development. But many of us who actually work at enterprises understand that people, processes, attitudes, and organizations comprise a complex ecosystem that surrounds technology systems. This ecosystem makes it naive to think that you can uproot something because it suddenly does not fit your standards, or just because a given vendor, analyst, or consultant told you so. The notion of strangling is a very pragmatic and realistic view that you set a course and work towards it gradually. If you have a valuable and correct vision in the first place, it will hold true.

Strangling works very well for enterprises that embrace Agile practices. Strangling allows you to deliver continuously while working towards an architectural vision. The unsavory alternative is that you spend months writing white papers and ceremonial documentation, followed by wholesale implementation, only to discover that your hot new framework is not ready for primetime when you run your entire system on it. Strangling encourages rapid prototyping, iterative delivery, and continuous improvement which are all important traits of Agile enterprises.

Are you a Strangler, or just a plain old Architect?

Note: the original link to the PPT seems to be broken, but I'm leaving it here in case it's temporary. Enter Google to save us yet again - you can take a look at its cached HTML version. You will have to highlight all of the text on the page, or print it out to see the text, as it is in a white font.


At 9:21 AM, Blogger Joshua Gough said...

Thanks for this great post. I recently posted a case-study of application strangulation myself at:

When we did this, I didn't know there was a catch-all pattern name for it. I met Dan North at QCon 2010 in S.F. and he mentioned The Strangler Pattern, and then I knew!


Post a Comment

Links to this post:

Create a Link


<< Home