//Fitting SOA+BPM into the software lifecycle

Fitting SOA+BPM into the software lifecycle

I have a SOA view of the software development lifecycle.  And, in that SOA view, BPM fits nicely.

First, a comparison: Waterfall looks like this:
Waterfall: Plan –> Envision –> Design –> Develop & Test –> Deploy
Agile: Plan –> Sprint –> Sprint –> (occasionally) Deploy –> Sprint –> Deploy

A SOA SDLC looks more like this:

Plan –> Sprint (Process and User Experience) –> Sprint (Process & Services) –> Deploy –> Sprint (P&UX) –> Sprint (P&S) –> Deploy

In other words, you get as far as you can go with the user experience, you update the services, and you deploy.  Then, you do it again.  (I think Agile works a LOT better than waterfall).

So what does a “Sprint (Process and User Experience)” do?  The dev team is focused ONLY on the front end.  No changes to the back end are allowed.  This is a feedback cycle, in that services are developed slowly and carefully, mostly with heavy unit test and runtime testing requirements.  During that time, there is less involvement with the customer’s team.  So by cycling like this (assuming sprint length of between three weeks and five weeks), you can have greater feedback and user acceptance testing by consuming more of their time in U/X during ‘high cycles’ and let them do their ‘day jobs’ during service cycles. 

During “Sprint (Process and Service)” cycles, the team focuses on meeting the string requirements for creating and consuming enterprise services.  Heavy unit tests.  Real-time test harnesses.  Synthetic Transactions.  Idempotent design.  Activity Monitoring.  Performance testing.  Reliability testing.  You get the picture.

Both kinds of sprints: process changes are happening.  That is because it can take a LONG time to run through a User Acceptance test on a Process, get feedback, and incorporate it.  No good reason to create a ‘low cycle’ in that work.

I’m assuming mature process management tools, of course.

 

By |2007-12-07T09:38:00+00:00December 7th, 2007|Enterprise Architecture|6 Comments

About the Author:

President of Vanguard EA, an Enterprise Architecture consulting firm in Seattle focused on the Pacific coast of the US. Nick has over 30 years of professional experience in management, systems, and technology. He is the co-author of the influential paper "Perspectives on Enterprise Architecture" with Dr. Brian Cameron that effectively defined modern Enterprise Architecture practices, and he is frequent speaker at public gatherings on Enterprise Architecture and related topics. He coauthored a book on Visual Storytelling with Martin Sykes and Mark West titled "Stories That Move Mountains".

6 Comments

  1. Sam Gentile December 10, 2007 at 9:22 am - Reply

    Lots to catch up on. ASP.NET 3.5/AJAX/MVC It's out! ScottGu details the ASP.NET 3.5 Extensions CTP

  2. Axel December 11, 2007 at 1:12 am - Reply

    Hey there! Interesting thoughts. However, in my the sdlc of choice depends on the maturity of the organization and not on the technology being deployed. How many people realy implemented RUP well?

  3. NickMalik December 11, 2007 at 8:49 am - Reply

    A SOA SDLC pretty much has to be iterative, in order to get the feedback loop working, since that is the most important source of performance and quality requirements for the underlying services.

Leave A Comment

5 − one =