23
Sally Elatta & Kyle Gabhart 1 Comparing and Contrasting Agile and SOA

Agile and SOA Comparing the Two

Embed Size (px)

DESCRIPTION

Yes, both of them are buzz words, but when you peel back the buzz, what is the true value that lies behind both of these methods? How do they compare and how do they differ? Most importantly, how can we bring about Agility to SOA projects and how can better architecture be applied to Agile projects? Me and Kyle also discussed some of the challenges with attempting iterative development on SOA projects and provided some ways both can leverage each other's strengths. Want this seminar presented at YOUR organization? just email [email protected] www.AgileTransformation.com

Citation preview

Page 1: Agile and SOA Comparing the Two

Sally Elatta & Kyle Gabhart

1

Comparing and Contrasting Agile and SOA

Page 2: Agile and SOA Comparing the Two

Kyle Gabhart [email protected] • Subject matter expert in the area of SOA and Enterprise

Architecture.

• Popular speaker recognized for his enthusiasm and dynamic analysis of emerging technologies.

• Authored several articles and a popular book SOA: A Field Guide for Executives

• Director of Emerging Technologies for Web Age Solutions

Sally Elatta [email protected]

• Agile /Process Improvement Coach, Architect, Trainer

• Passionate about process improvement and building high performing teams.

• Coached and trained many small and large organizations on Agile Adoption.

• Certified ScrumMaster, Scrum Practitioner, IBM, Sun, and Microsoft Certifications.

Copyright(c) Sally Elatta 2009 2

Page 3: Agile and SOA Comparing the Two

• Comparing SOA to Agile – Apples and Oranges?

• The Agile Story

• The SOA Story

• How Do They Relate?

• The Challenges/Misconceptions with Both

• Bringing more Agility to SOA Projects

• Bringing better Architecture to Agile Projects

• Conclusion

Copyright(c) Sally Elatta 2009 3

Page 4: Agile and SOA Comparing the Two

• Agile is a Software Development & Execution methodology that aims to improve how software projects are executed. It provides simple yet effective project management and engineering best practices.

Iterative Development Collaboration Visibility

Inspect & Adapt Test Driven Development Measurement

• SOA is an Architectural Style that aims to build software services that are technology agnostic, business focused, reusable and that offer business process flexibility.

Services Processes Business and IT Alignment

Business Process Orchestration GovernanceIntegration

Copyright(c) Sally Elatta 2009 4

Page 5: Agile and SOA Comparing the Two

The manifesto’s shared value statement:“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

Customer Collaboration Over Contract Negotiation

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.”

Copyright(c) Sally Elatta 2009 5

Page 6: Agile and SOA Comparing the Two

6Copyright(c) Sally Elatta 2009

Page 7: Agile and SOA Comparing the Two

Product Backlog

Co-Development

Business / IT as One Team

Measurement!

Cross Functional Team

7Copyright(c) Sally Elatta 2009

Page 8: Agile and SOA Comparing the Two

• Traditional Architecture ..

8

DataWarehouse

LegacyMainframes

Web Servers

ApplicationServers

ApplicationServers

Workstation

ReportServer

DataMarts

DataMarts

Data

Data

Data

Copyright © Sun Microsystems

Page 9: Agile and SOA Comparing the Two
Page 10: Agile and SOA Comparing the Two

Order Services Customer Services

Product Services• PlaceOrder

• GetOrderStatus

• CalcOrderTotal

• GetOrderDetails

• GetCustomerInfo

• AddNewCustomer

• UpdateCustomerInfo

• GetAllCustomers

• GetProductCatalog

• GetProductDetail

• AddNewProduct

• CheckInventoryLevel

Page 11: Agile and SOA Comparing the Two

Architecture Goal

11

LegacyMainframes

Web Servers

ReportServer

EnterpriseInteroperability

Hub(Service Bus)

EnterpriseInteroperability

Hub(Service Bus)Workstation Application

ServersApplication

ServersData

Data

Data

DataMarts

DataMarts

DataWarehouse

Exposed Service

Exposed Service

Exposed Service

Exposed Service

Exposed Service

Copyright © Sun Microsystems

Page 12: Agile and SOA Comparing the Two

Copyright(c) Sally Elatta 2009 12

Page 13: Agile and SOA Comparing the Two

Copyright(c) Sally Elatta 2009 13

SOA Agile

Align with the Business Needs

Facilitated through layered services and service orchestration

Empowered Product Owner, Team works on highest priority user stories, not ‘Done’ until user acceptance

Provide Flexibility and Adaptation

Through loosely coupled service interfaces and policy-driven business rules

New stories are welcome (following set rules), retrospective allows process inspection and adaption

Produce quick ROI

By reducing dependence upon expensive middleware licensing and also through re-configuring solutions

Customer views working software quickly, customer may deploy small features that are valuable

Respond to Change

Re-deploying services, re-configuring business processes, or changing policies

Reviewing the plan each iteration, story reprioritization based on business needs

Page 14: Agile and SOA Comparing the Two

• SOA projects tend to suffer from BDUF (Big Design Upfront).

• Usually implemented top down with a divide and conquer approach.

• Long time before any immediate ROI is realized.• SOA assumes services will be designed correctly

the first time and does not deal well with iterative changes.

• Communication done extensively via heavy documentation.

Copyright(c) Sally Elatta 2009 14

Page 15: Agile and SOA Comparing the Two

• Challenge: SOA projects tend to suffer from BDUF (Big Design Upfront).– Perform high level enterprise framework design

upfront then dive into detail design iteratively. • Challenge: Usually implemented top down with a

divide and conquer approach.– Create collaborative cross functional teams with

heavy business engagement.• Challenge: Long time before any immediate ROI

is realized.– Direct customer involvement combined with early

delivery of service functionality within each iteration produces value more rapidly.

15Copyright(c) Web Age Solutions

Page 16: Agile and SOA Comparing the Two

• Challenge: SOA assumes services will be designed correctly the first time and does not deal well with iterative changes. – Proper service interface design, service contract

management, thorough service version strategies, and effective use of intermediaries can produce very robust and adaptable service interfaces.

• Challenge: Communication done exclusively via heavy documentation.– Well-designed service-oriented enterprises heavily

leverage metadata, which is automatically generated and maintained by tools and through proper governance and represents a “self-documenting” approach

16Copyright(c) Web Age Solutions

Page 17: Agile and SOA Comparing the Two

• Thought to be a fit for small projects.

• Lacks proper upfront architecture.

• Very little formal documentation.

• Lacks proper upfront planning.

• Is not prescriptive, does not lay out all steps and deliverables needed upfront.

Copyright(c) Sally Elatta 2009 17

Page 18: Agile and SOA Comparing the Two

• Big Design and Architecture upfront is not good from an Agile perspective, but so is NO upfront architecture and design!

• Agile projects need to do High Level Architecture envisioning upfront during Iteration 0.

• Detailed architecture and service implementation can be done iteratively.

• An Agile Architect/team lead must coach the team through design meetings each iteration.

• Code review sessions should be integrated in each iteration. Pair/Collaborative Programming.

• Iteration 0 training on standards for coding, design packaging, deployment, naming ..etc.

Copyright(c) Sally Elatta 2009 18

Page 19: Agile and SOA Comparing the Two

• During iteration 0, the Agile Architect should attempt to identify high risks and create Proof of Concept stories that mitigate them.

• Do collaborative design instead of ivory tower architectures. You still have an architecture owner for final decisions.

• Use lots of understandable models and diagrams. Communicate them visibility.

• Requirements and business value should drive your architecture not the drive to use specific technologies and tools.

• Do not ‘over architect’ and over use ‘patterns’.

Copyright(c) Sally Elatta 2009 19

Page 20: Agile and SOA Comparing the Two

Business Process

Modeling

Service Identification &

Specification

Service Implementation

Testing, Refactoring

Final Testing

Service Deployment

Page 21: Agile and SOA Comparing the Two

Copyright(c) Sally Elatta 2009 21

Agile Training & Coaching• Executive and Business Overview of Agile/Lean• Real World Agile and Scrum team training + Project Jump Start• Agile Engineering Practices• Advanced Agile Topics • Effective/Agile Requirements Gathering• Servant Leadership• … More!

Page 22: Agile and SOA Comparing the Two

• www.WebAgeSolutions.com – 1 877-517-6540

• www.AgileTransformation.com – 1 402-212-3211

Copyright(c) Sally Elatta 2009 22

Page 23: Agile and SOA Comparing the Two

• Sally’s Agile Adoption Article: http://tinyurl.com/6h5mam

• Towards an Agile Architecture:http://tinyurl.com/c3f3uz

• Kyle’s SOA Guide for Executive Book: http://tinyurl.com/ykj3zjc

• Kyle’s Articles: http://kylegabhart.sys-con.com/

23