SOA projects are distributed and typically involve a number of software development teams. Coordinating the teams involved can be a challenge. You may find yourself particularly exposed if you are creating a service that is dependant on a number of other services. Changes or delays in any one of them can prevent you finalising your service. One approach is to specify a date, relatively early in the project, by which all interfaces should be finalised. This is very hard to achieve, as changes often come to light as development progresses. Once, the deadline has passed, there is a perception that each change needs to be incorporated immediately it arises. This can lead to churn as multiple minor changes have knock on effects.
Agile processes introduce the concept of iterations – fixed period of time during which as specific number of tasks are achieved. Synchronising the iterations of the teams is an effective way of coordinating them. These iterations also set an expectation for when changes should be applied and when the implications of those changes should be addressed.
For example, you could say that changes to shared schemas are made at the start of an iteration and that the implications are completely addressed by the end of that iteration. Requirements for changes that are found during an iteration are not addressed immediately, but wait for the next iteration. This might sound just as difficult to achieve. However, the rhythm established within a software development project as a result of these short iterations changes the mind set of those involved. It provides confidence that changes are properly addressed and encourages a discipline of ensuring that the consequences of the changes are fully thought through by the start of the next iteration.
Thursday, October 12, 2006
Subscribe to:
Post Comments (Atom)
1 comments:
Good Stuff buddy
I thought the information above has given me great topics to think about. Thank you!
Best wishes,
Software developer
http://www.vinove.com
Post a Comment