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 Nick Malik

Former CIO and present Strategic Architect, Nick Malik is a Seattle based business and technology advisor with 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 thoughts on “Fitting SOA+BPM into the software lifecycle”
  1. 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?

  2. 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 Reply

Your email address will not be published. Required fields are marked *

13 − 10 =

This site uses Akismet to reduce spam. Learn how your comment data is processed.