Featured Whitepapers
- Apples, Oranges, and Acorns - All Agile Development Tools Are Not the Same
- One's Enough for Agile Application Development Management
- Requirements Management 101 – 4 Basics Everyone Should Know
- Tips on Requirements Traceability – Learn How to Control Change and Improve Quality
- Scaling Continuous Integration to Large and Distributed Teams
|
| There is little question that today's development teams are facing numerous new challenges and that often these challenges are being driven by business rather than technology considerations. Companies are under considerable market pressure to roll out new products or services, putting developers under increasing pressure to build and deploy the IT systems and applications necessary for success. Service Oriented Architecture (SOA) promises to address many of these challenges by allowing developers to deliver incrementally new business capability while leveraging existing assets. But developers must beware: one of the most notable areas where roadblocks and bottlenecks can occur if development teams are not careful is in the quality assurance (QA) and testing process, which unfortunately, is one of the last considerations in the development and deployment of enterprise systems. By using agile practices during QA and testing, SOA teams can turn these roadblocks into opportunities.
While there is little question that distributed development teams can alleviate resource constraints, the process can also introduce unforeseen problems. Geographically distributed {sidebar id=1} teams are often isolated from each other, working on discrete requirements without always having the benefit of knowing the larger scope of the project. Couple this with an organization moving to SOA, and you may be faced with a development team building services that will eventually be used by other services or end-applications that do not yet exist. In turn, these services will likely rely on other services and applications that are still in development. These dependencies between various components or services can result in serialized development, complicating the testing process and adding unnecessary delay to the entire project should any team fall behind schedule.
The good news for developers working in SOA environments is that the very principles that enable this computing paradigm to be possible can also significantly improve the testing and QA process, promoting faster development time and ultimately faster time to market. SOA, at its most basic level, is about hiding the complexity of underlying systems through an agreed upon set of contracts and interfaces. It is also entails thinking very differently about what developers are being tasked to deliver. The application is no longer the unit of deliverable work. Developers are being asked to now to deliver services that execute specific functionality and can then be assembled into a nearly infinite combination of "enterprise applications," with the contracts and interfaces defining how the services will interact with the larger system. Project specifications can be broken apart into logical, easily digestible pieces defining the services, contracts and interfaces for each development team.
Clearly, any process must allow for iterative development - the reality is that interfaces will change during a development cycle. However, by establishing a process and culture whereby development teams are thinking in terms of services and service contracts and taking advantage of repositories, RSS and other collaborative development technologies, it is possible to set up an agile SOA development process. About the Author
Stephanos Bacon joined IONA (www.iona.com) as Vice President, Product Development in 2005. Prior to joining IONA, Mr. Bacon served as Vice President, Engineering for Avaki Corporation, a provider of Enterprise Information Integration products. Mr. Bacon has also held senior product engineering positions and managed distributed engineering teams with companies including Broadvision, Object Design and Bachman Information Systems. He gives special thanks to Tony August for help in writing this article.
Set as favorite
Bookmark
Email this
Hits: 9102 Trackback(0)Comments (0)
|
| Last Updated on Saturday, 20 October 2007 09:17 |
Agile Marketplace - Announcements and Special Offers
The Business Case for ALM Transformation
Are legacy systems holding your company back? Breakthrough these technical constraints with an open and scalable environment that meets your unique business need to transform. There is no reason to be locked into an obsolete platform. The output of a number of recent transitions from legacy systems, this is practical white paper shares lessons learned and illustrates how guidance and enablement can pave the way for change.
Download this Whitepaper



