Agile Development and SOA
Brenda Michelson has another good conversation going on her eBizQ blog regarding SOA and Agile Development. Here is my comment:
I fall in the crowd of classifying SOA and Agile Development as apples and oranges. I wouldn’t call it oil and water, because there are some things that agile development practices address that are directly applicable to SOA adoption.
First, my definition of SOA is always at the enterprise level. In my mind, there’s no such thing as an SOA project, only an enterprise SOA adoption effort. If I was on a project that was building both services and consumers, I think agile development would definitely be a good thing. The reason, however, is because by the nature of the project definition, the required collaboration should be in place to allow rapid change. At the enterprise level, however, the service provider and the service consumers are likely on completely different schedules, across many different projects and teams, all of which are barriers to communication and collaboration. Without communication and collaboration, agile efforts will struggle.
At the same time, creating rigid service interfaces that don’t change is completely the wrong approach. The problem is poor communication between service providers and services consumers, not an interface that changes. The business does not remain constant, and anyone who thinks that service interfaces can be defined once and set in stone is destined for failure. The key to success is change management. Change management is not a problem in agile development because of close communication between the parties impacted by the change.
So, I think the takeaway should be that SOA adoption must ensure that communication and collaboration between providers and consumers occurs. It doesn’t mean that service interfaces should change on a rapid basis, as individual component interfaces may on an agile development project, but it does mean that change should be managed.
SOA and Agile – Peas in a pod…
Brenda posted about the compatibility of SOA and Agile, comparing them to apples and oranges. I’m not sure of the best metaphor to use, but in my opinion they’re undoubtedly compatible methodologies. It’s human nature to want to ‘waterfall’ proces…
[…] you think the two are ‘oil and water’, I’d like to know that as well. Some folks have already jumped into the […]