Post on 06-Aug-2020
© 2014 IBM Corporation
Architecture, Agile and DevOps From Continuous Meetings to Continuous Delivery J
15 September 2014
Peter Eeles FSS Industry Lead, IBM Rational Worldwide Tiger Team Email: peter.eeles@uk.ibm.com Website: www.architecting.co.uk Twitter: @petereeles
© 2014 IBM Corporation
If you want to innovate, then you’d better think about …
§ Architecture … How you build flexible systems
§ Agile … How you develop @ speed
§ DevOps … How you deliver @ speed
§ THE END … and thanks for listening J
2
© 2014 IBM Corporation
The changing face of FSS
3
© 2014 IBM Corporation 4
© 2014 IBM Corporation
Prepaid debit cards Online store cards
Mobile wallets Virtual currencies
Mobile payments – funds
5
© 2014 IBM Corporation
Peer-to-peer
Contactless
POS Devices
Mobile payments – mechanisms
6
© 2014 IBM Corporation
M-PESA (M=Mobile, PESA=Money, in Swahili)
Mobile money
Operated by Safaricom, Kenya’s largest mobile operator 7
© 2014 IBM Corporation
CBA Kaching for Facebook payments § Make payments to anyone who is in your Facebook friends list and has an Australian bank
account
8
© 2014 IBM Corporation 9
© 2014 IBM Corporation
Years till 50 million users
From Bank 3.0 – Brett King
10
© 2014 IBM Corporation
The “Business-IT” and “IT-IT” gaps
IT
Business Development Operations
Gap Gap
11
© 2014 IBM Corporation
IT
Viewing the landscape as a supply chain
Business Development Operations
Ent
erpr
ise
Arc
hite
ctur
e
Por
tfolio
M
anag
emen
t
Req
uire
men
ts
Des
ign
Dev
elop
men
t
Test
Rel
ease
Mon
itorin
g
Gap Gap
12
© 2014 IBM Corporation
Closing the gaps with Architecture, Agile and DevOps
Develop / Test
Steer
Deploy
Operate Agile
Enterprise Architecture
System Architecture
DevOps
13
© 2014 IBM Corporation
Practice summary – traditional
Traditional
• Multiple Views • Quality
Attribute-Driven Development
• Component-Based Development
• Asset Reuse • Decision
Capture • Architecture
Proving
14
© 2014 IBM Corporation
Practice summary – iterative
Traditional Iterative
• Multiple Views • Quality
Attribute-Driven Development
• Component-Based Development
• Asset Reuse • Decision
Capture • Architecture
Proving
• Iterative Development
• Risk-Value Lifecycle
• Shared Vision • Use Case-
Driven Development
• Release Planning
15
© 2014 IBM Corporation
Practice summary – agile
Traditional Iterative Agile
• Multiple Views • Quality
Attribute-Driven Development
• Component-Based Development
• Asset Reuse • Decision
Capture • Architecture
Proving
• Iterative Development
• Risk-Value Lifecycle
• Shared Vision • Use Case-
Driven Development
• Release Planning
• Test-Driven Development
• Continuous Integration
• Refactoring • Whole Team • User Story-
Driven Development
• Team Change Management
16
© 2014 IBM Corporation
Architects’ Perception of Agile Agilists’ Perception of Architecture Leaves key decisions until last possible moment
Locks down key decisions too early
A lack of forethought leads to technical debt BDUF over YAGNI J
A lack of modelling leads to significant rework when software is poorly thought through and does not scale
Comprehensive models slow your development efforts down to a snail’s pace
Architecture and agile – a clash of cultures?
17
“Scrum is a management and control process that cuts through complexity to focus on building software to meet business needs. Scrum is superimposed on top of and wraps existing engineering practices, development methodologies and standards”. (Schwaber & Beedle, 2002)
“I see two parties not really understanding the real issues at hand, stopping at a very shallow, caricatural view of the “other culture”, not understanding enough of the surroundings, beliefs, values of the other one, and stopping very quickly at judging behaviors.” (Kruchten, 2010)
“Look at a large successful software system and beneath it you’ll find an architecture that’s kept its evolution on track”. (Spinellis, 2010)
© 2014 IBM Corporation
Lifecycle selection framework (summary) § Management Influences
– Business Flexibility – Empowered Teams
§ Stakeholder Influences – Acceptance of Agile – Number of Stakeholders – Stakeholder
Responsiveness § Project Team Influences
– Team Skills – Embracing Change – Co-located Teams – Team Stability – Team Roles – Agile Disciplines
§ Technology Influences – Development Environment – Execution Environment
§ Solution Influences – Requirements Churn – Solution Complexity – Time-To-Market – Dependencies – Release Frequency – Demonstrability
18
© 2014 IBM Corporation
The impact of agile
IT
Business Development Operations
Gap Gap ✗
19
© 2014 IBM Corporation
Practice summary – disciplined / scaled agile
Traditional Iterative Agile Disciplined Agile
• Multiple Views • Quality
Attribute-Driven Development
• Component-Based Development
• Asset Reuse • Decision
Capture • Architecture
Proving
• Iterative Development
• Risk-Value Lifecycle
• Shared Vision • Use Case-
Driven Development
• Release Planning
• Test-Driven Development
• Continuous Integration
• Refactoring • Whole Team • User Story-
Driven Development
• Team Change Management
• Measured Performance
• Formal Change Management
• Concurrent Testing
20
© 2014 IBM Corporation
Agile with discipline
Domain Complexity Straight -forward
Intricate, emerging
Compliance requirement
Low risk Critical, audited
Team size Under 10
developers 1000’s of developers
Co-located
Geographical distribution
Global
Enterprise discipline
Project focus
Enterprise focus
Technical complexity
Homogenous Heterogeneous,
legacy
Organization distribution (outsourcing, partnerships)
Collaborative Contractual
Disciplined Agile
Delivery
Flexible Rigid
Organizational complexity
21
© 2014 IBM Corporation
Practice summary – DevOps
Traditional Iterative Agile Disciplined Agile
DevOps
• Multiple Views • Quality
Attribute-Driven Development
• Component-Based Development
• Asset Reuse • Decision
Capture • Architecture
Proving
• Iterative Development
• Risk-Value Lifecycle
• Shared Vision • Use Case-
Driven Development
• Release Planning
• Test-Driven Development
• Continuous Integration
• Refactoring • Whole Team • User Story-
Driven Development
• Team Change Management
• Measured Performance
• Formal Change Management
• Concurrent Testing
• Collaborative Development
• Continuous Testing
• Continuous Release
• Continuous Monitoring and Optimisation
IT
Business Development Operations
Gap Gap
22
© 2014 IBM Corporation
IT
DevOps practices
Business Development Operations
Ent
erpr
ise
Arc
hite
ctur
e
Por
tfolio
M
anag
emen
t
Req
uire
men
ts
Des
ign
Dev
elop
men
t
Test
Rel
ease
Mon
itorin
g
Gap Gap
23
Operations
Gap Continuous Release
Continuous Monitoring and Optimization
Continuous Testing
Collaborative Development
© 2014 IBM Corporation
Architecture and DevOps
Deployment elements
Deployment units
Functional elements
24
© 2014 IBM Corporation
The impact of DevOps
IT
Business Development Operations
Gap Gap ✗ ✗ ✗
25
© 2014 IBM Corporation
Summary
Agile
Enterprise Architecture
System Architecture
DevOps
Informs
Deployment units Development units
26
© 2014 IBM Corporation 27