Agile core values “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:• Individuals & interactions over processes & tools• Working software over comprehensive documentation• Customers collaboration over contract negotiations• Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.”source: Agile Manifesto (www.agilemanifesto.org)
Agile core valueResponding to change……SOA is all about changeas is the way to implement it
SOA Core values “Service orientation is a paradigm that frames what you do. Service-oriented architecture (SOA) is a type of architecture that results from applying service Orientation. We have been applying service orientation to help organizations consistently deliver sustainable business value, with increased Agility and cost effectiveness, in line with changing business needs. Through our work we have come to prioritize:• Business value over technical strategy• Strategic goals over project-specific benefits• Intrinsic interoperability over custom integration• Shared services over specific-purpose implementations• Flexibility over optimization• Evolutionary refinement over pursuit of initial perfection That is, while we value the items on the right, we value the items on the left more.”Source: Soa Manifesto (www.soamanifesto.org)
SOA design principles• Loose coupling• Service contract• Autonomy• Abstraction• Reusability INTER OPERABILITY• Compose ability• Statelessness change ability• Discoverability
Business reasons for SOA*• Improved (technical) flexibility, adaptiveness• Increased revenue / profit• Reuse of existing services• New product or service development• Compliance and Governance• Cost reduction• Alignment * UWV, SOA what?, Beijleveld SOA for profit, van den Berg et al
Customer, value, early• highest priority: satisfy customers through early and continuous delivery of valuable software.• Agile focus: on a single project / product and SOA focuses on the enterprise as a whole this principle aligns perfectly with SOA principles
Change• Agile processes harness change for the customers competitive advantage.• The reason for SOA is the ability to change: “corporate” agility, flexibility, adaptiveness
Frequent delivery• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.• Services are smaller chunks of functionality, delivered incrementally and iterative for business
Working togetherBusiness people and developers must work together daily throughout the project.Corporate strategy is formed bybusiness and IT together;SOA project only succeed when peoplework together, services can only be realized incooperation.
Motivated people and trust• Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.• Motivation &trust is needed, that is a fact of life. Rely on services other deliver, trust colleagues expertise to reuse services not designed or developed by you
Face to face interactionThe most efficient and effective method of conveyinginformation to and within a development team isface-to-face conversation.However SOA doesn’t say anything about this, face toface conversation is a condition for success as anyachievement. A common vocabulary helps.
Sustainable pace!• Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.• This healthy principle should be promoted in any project. Happy workers are more successful, work smarter and deliver better www.abc-thinkBIG.com
MeasureWorking software is the primary measure ofprogress.SOA defines services as the main deliverable.You build software that supports the service.
quality• Continuous attention to technical excellence and good design enhances agility.• SOA demands a high level of technical excellence for interoperability
SimplicitySimplicity--the art of maximizing the amount of work not done--is essential. A service is a realization of simplicity: a smallloosely coupled, autonomous, compose able piece
Self organizingThe best architectures, requirements, and designs emergefrom self-organizing teams.This principles seems to contradict an enterprisearchitecture approach like SOA. But, a bigger picture fromproduct owner perspective, is really necessary.
retrospective• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly• SOA give the team a concrete product and a set of principles to measure quality, to talk about.
Conclusions• Agile makes SOA more adaptive to change• Agile + SOA nourishes cooperation with customer and transparency• SOA standards facilitate Business Agility• Agile prevents SOA getting tool specific• Agile + SOA give focus on results SOA won’t work without Agile Agile & SOA works best together SOA + Agile keep each other sane & in balance
Some conditions for success• Organizational Mindset Change• Management view: learning oriented• Engaged & responsible people = disciplined people and not: NIH, BOHICA• Focus on business value and quality• Neither religious Agile, nor religious SOA• Proof by delivering the valuable services / software• Celebrate success