The project I am working on currently is a big enterprise application, mostly structured around the SOA model. Since we evolved a legacy code base, the service boundaries have just started to become crisp and clear. We are slowly starting to think of certain teams in the project owning a set of services, and also deciding on service contracts as a norm.
I am now starting to wonder how this model is going to work with Agile teams.
* Will this force us to do Big Design Upfront ? (BDUF)
* Will this force us to have service level teams ?
* How can we write good user stories (which are testable and showcaseable) for service level teams ?
* How can we structure the teams when we have multiple consumers (teams?) for one service ?
* Will this force developers to communicate using service contracts and documents more than unit tests?
* If we try to encourage cross functional teams, will it put a lot of stress on resourcing, with the need of shuffling people around a lot ?
I do not have answers to any of these yet, and a quick look at the Agile community , also does not give me any concrete answers.
Hi Anand. I just sent an email to your TW account. Come chat with me if you are in the Bangalore office... I'm at the training table. I might be able to help you out.
ReplyDeleteSharlene
- Will this force us to do Big Design Upfront ? (BDUF)
ReplyDeleteNo, you need do "just enough", but just enough can sometimes be quite a lot.
- Will this force us to have service level teams ?
Managed service level teams that live with a service from conception, through development, to operation and then, perhaps, retirement can be a good thing - as long as these are business-meaningful services, not some anemic "three-layered-application-architecture-at-distributed-proportions" services.
- How can we write good user stories (which are testable and showcaseable) for service level teams ?
- How can we structure the teams when we have multiple consumers (teams?) for one service ?
Consumer-driven contracts at the technical level, a cross-team "war room" at the project management and programme governance level (and do speak to Sharlene - she's done this).
- Will this force developers to communicate using service contracts and documents more than unit tests?
Exchange tests between teams, a la consumer-driven contracts: these comprise far more useful and insightful contracts than trad WSDL.
- If we try to encourage cross functional teams, will it put a lot of stress on resourcing, with the need of shuffling people around a lot ?
Align around business goals, not project goals. Yes, this will impact resourcing, and it will demand a lot of any culture that likes to wall itself off behind a project costing structure. BUt we're now in the business of delivering business goals, not projects.
http://soaconference2009.spaces.live.com/blog/cns!FA6FC7F5DB1C07!189.entry
http://qconlondon.com/london-2009/file?path=/qcon-london-2009/slides/IanRobinson_SteeringTheNorthwestPassageBeginningAnSOAInitiative.pdf
@Sharlene @Ian
ReplyDeleteThanks for your prompt responses. I will surely catchup with Sharlene and look at a lot of what Ian has suggested.
I think we can discuss this case in a lot of detail when we do that in person.
We are in the same SOA architecture where Web services provide data, clients consume & implement the functionality.
ReplyDeleteNot sure how Agile works in practice
@sukumarraju