Governance-- cure for what ails the modern application lifecycle or why does my IT head hurt? - Making Sense of SOA Blog -
Governance-- cure for what ails the modern application lifecycle or why does my IT head hurt?

 

In the immortal words of Mr T – “Pity the fool who modernizes their applications”  

 

 

I’ve been thinking about how much more challenging it is to keep the IT train on the tracks when managing an application lifecycle is no longer a single, independent, perhaps linear process.   This is the first blog of a series designed to address a question I was asked in an earlier comment: 

 

“What’s the difference between SOA Governance and broader application governance?  

 

 

IMO extending SOA governance more broadly to the concept of governance of the modern application lifecycle will be a powerful way for IT to combat the complexity that comes from the move from monolithic apps to modern compositions of shared services.  And composing rather than re-building is a key to lower costs of build and maintenance--which could be important right now in the dark days of reduced budgets.

   

Let's break our preconceived notions of a single, independent application lifecycle (how many slides have you seen that draw a lifecycle as a linear arrow?) to prove that modern application lifecycles are much more challenging to keep on track without governance and automation.  I’ll describe this phenomenon below and then, follow it with six key challenges (IT headaches of sorts) of application lifecycle management that can be addressed with an ample dose of governance.

  

What do you think of when you hear “application lifecycle”?  Do you visualize a linear process of delivering an application?  When you hear “application lifecycle management”, do you think of a linear progression of handoffs from driving requirements, to development, testing, staging and delivery of an application?

   

Now, time to turn off preconceived notions and switch your thoughts to applications that are made up of compositions of shared services and it’s time to make your head hurt.

  

First, the concept of the monolithic application having a linear lifecycle needs to change.  Modern Applications are compositions of modular and potentially shared services which, in and of themselves, have lifecycles with inherent interdependencies.  The application lifecycle is actually an overlapping set of interdependent lifecycles – the lifecycle of the service and the lifecycle of the composite application which depends on the service. 

 

A change to either side, the service or the composition, impacts both lifecycles – requiring planning, communications between teams, change management, development, testing and re-deployment.  Now, carry this out to the concept of many shared services (represented by M) that are consumed by many composite applications (represented by N) and you quickly have M+N lifecycles with MxN dependencies.  

 Does your head hurt yet?  Without automated software that can capture real-time information about the state of services, compositions, owners, dependencies, and policies, keeping track of this environment becomes unmanageable.  Governance is the only way to keep the application lifecycle of modern composite apps from spinning wildly out of control. 

I suspect your next set of questions will be, why and how?  The next set of blogs will address six reasons why Governance is the right medicine for what ails the modern application lifecycle.

  

Posted 03-09-2009 9:59 PM by kellyemo

Comments

Brad Hipps wrote re: Governance-- cure for what ails the modern application lifecycle or why does my IT head hurt?
on 03-10-2009 9:39 PM

I'm with you except for the part about not thinking of application development in "linear" terms.  To my mind the issue isn't a bias towards linearity.  After all, everything is linear in the broadest sense:  having a beginning, middle, and end.  Whether I'm employing waterfall or agile development methods - whether I do all design, and then code, and then test, or do a little of each before proceeding to the next iteration - the procedure is linear.  

However, if for "linear" I substitute "self-contained," then I'm with you.  The problem you're describing, it seems, is that where once applications may have been parallel and untouching (as 'columns' or 'stovepipes'), they are now crosscut by 'rows' of services.  'Rows' is probably too neat; it's a crisscrossing of services every which way.  And indeed the trick there becomes figure out where the touchpoints are, and what changes what... A headache is right.  Remind me again why it's worth it?

Todd Biske wrote re: Governance-- cure for what ails the modern application lifecycle or why does my IT head hurt?
on 03-18-2009 1:04 PM

I agree with you Kelly, and tried to capture this in a past post on Service Lifecycle Management (www.biske.com/blog).  A project lifecycle is linear.  A product/service/application lifecycle should be circular, and trying to sync up the lifecycles of other services in the delivery of a solution is a big challenge.  You can visualize it as a bunch of interconnected gears, and if one doesn't turn, the whole thing seizes up.

Powered by Community Server (Non-Commercial Edition), by Telligent Systems