View
957
Download
2
Category
Preview:
Citation preview
Copyright © 2015, Intellyx, LLC
1
The DevOps Drumbeat
Reinventing the Iron Triangle
Jason BloombergPresident
jason@intellyx.com
@theebizwizard
Copyright © 2015, Intellyx, LLC2
About Jason Bloomberg
• President of Intellyx
• Advise companies on their digital transformation initiatives & help vendors communicate their agility stories
• Run Bloomberg Agile Architecture Certification course around the world
• Write for Forbes & Wired on Digital Transformation
• Buy my latest book, The Agile Architecture Revolution
Copyright © 2015, Intellyx, LLC3
The Iron Triangle
Copyright © 2015, Intellyx, LLC4
Quality: The Fourth Corner
Ph
oto
Cre
dit
: C
raig
Bro
wn
- h
ttp
://w
ww
.bett
erp
roje
cts.
net/
20
09
/03
/it-
use
d-t
o-b
e-i
ron
-tri
an
gle
.htm
l
Copyright © 2015, Intellyx, LLC5
What about Agility?
• Business agility is a metarequirement
• Requirement that requirement change must be supported
• Balance quality and agility
Ph
oto
Cre
dit
: TH
OR
htt
ps:
//w
ww
.flic
kr.c
om
/ph
oto
s/g
eis
hab
oy5
00
/
Requirement: Make the Organization More Agile
Copyright © 2015, Intellyx, LLC6
Agile Architecture Quality Star
Copyright © 2015, Intellyx, LLC7
Best-Effort Quality
• Quality takes time, limiting agility
• Insufficient agility lowers quality• Need to rethink approach to
quality• Preventing adverse behavior less
important than automatic recovery from such behavior– Core Cloud architecture principle
Resilience More Important than Being Defect-Free
Ph
oto
Cre
dit
: S
am
uel M
. Li
vin
gst
on
htt
ps:
//w
ww
.flic
kr.c
om
/ph
oto
s/3
97
47
29
7@
N0
5/
Copyright © 2015, Intellyx, LLC8
Resilience
• The ability to respond quickly and efficiently to negative change in the business environment– Managing risk– Bouncing back from
adverse events– Disaster recovery
• Tactical business driver
Ph
oto
Cre
dit
: Jo
e h
ttp
s://
ww
w.fl
ickr
.com
/ph
oto
s/b
itsh
ake
r/1
67
48
02
66
/siz
es/
o/
The opposite of brittleness
Copyright © 2015, Intellyx, LLC9
Fit-for-Purpose Often Means Brittle
• Agile software built intentionally with only today’s needs in mind
• Planning for unexpected contingencies contrary to Agile approach
Brittle software leads to brittle organizations
Ph
oto
Cre
dit
: Veg
an
Feast
Cate
rin
g h
ttp
s://
ww
w.fl
ickr
.com
/ph
oto
s/veg
an
feast
/
Copyright © 2015, Intellyx, LLC10
The Goal of Agile Software
• Requirement to build software that responds to changing requirements
• Inherent flexibility vs. rapid development & deployment
Ph
oto
Cre
dit
: R
ob
ert
Cou
se-B
ake
r h
ttp
s://
ww
w.fl
ickr
.com
/ph
oto
s/2
92
33
64
0@
N0
7/1
48
59
43
16
05
/siz
es/
z/
Copyright © 2015, Intellyx, LLC11
DevOps & AA Quality Star
Copyright © 2015, Intellyx, LLC12
The DevOps Cadence
• Coordination of multiple iterations/sprints across multiple “projects”
• Agile approach to project/program management at enterprise level
• (Good) technical debt may cross iterations/sprints
Ph
oto
Cre
dit
: S
cott
Ed
mu
nd
s h
ttp
s://
ww
w.fl
ickr
.com
/ph
oto
s/3
05
57
46
0@
N0
5/
Copyright © 2015, Intellyx, LLC13
Bad vs. Good Technical Debt
• Bad technical debt– Sloppy code you
have to clean up later
– Rarely if ever a good thing
• Good technical debt– Intentional missing functionality or simplifications– Represented in backlog– Essential part of Agile/DevOps approach
Ph
oto
Cre
dit
: O
rin
Zeb
est
htt
ps:
//w
ww
.flic
kr.c
om
/ph
oto
s/ori
nro
bert
joh
n/
Copyright © 2015, Intellyx, LLC14
DevOps Drumbeat
Copyright © 2015, Intellyx, LLC15
The Design-Time Testing Conundrum
• The more dynamic and distributed the deployment environment, the less design-time QA can catch problems
• Testing increasingly in production– At system level
• Automated rollback/graceful degradation essential to DevOps model
Quality focus shifts to resilience
Ph
oto
Cre
dit
: r.
nia
l b
rad
shaw
htt
ps:
//w
ww
.flic
kr.c
om
/ph
oto
s/zi
on
fict
ion
/
Copyright © 2015, Intellyx, LLC16
Good Technical Debt vs. Resilience Tradeoff
• Resilience discussion focuses on risk mitigation– Cost of mitigation vs.
predicted cost of adverse event
• Do you take a shortcut on resilience or on functionality?
Copyright © 2015, Intellyx, LLC17
DevOps Cadence vs. Iron Triangle
• Iron Triangle context: discrete software projects
• DevOps context: continuous delivery & integration across multiple, ongoing sprints
• Scope shifts forward or backward as necessary– Reflected as incurring or
paying technical debt
Ph
oto
Cre
dit
: kD
am
o h
ttp
s://
ww
w.fl
ickr
.com
/ph
oto
s/kd
am
o/
Copyright © 2014, Intellyx, LLC18
The Overbuilding Paradox
• How do stakeholders know what flexibility they will require?
• How generalized should code be?
• When to build capabilities vs. when to build affordances?
Ph
oto
Cre
dit
: Is
hik
aw
a K
en
htt
ps:
//w
ww
.flic
kr.c
om
/ph
oto
s/ch
idori
an
/19
89
83
78
/siz
es/
l
Trade off building & changing software quickly for inherent flexibility
Copyright © 2014, Intellyx, LLC19
Capabilities vs. Affordances
• Capability– Ability to perform or
achieve certain outcomes through features or functions
– Apps have capabilities• Affordance
– A property of an object which allows an individual to perform an action
– Tools have affordances– Depends upon how user wants to use tool
Ph
oto
Cre
dit
: E
raPh
ern
alia
Vin
tag
e h
ttp
s://
ww
w.fl
ickr
.com
/ph
oto
s/era
ph
ern
alia
_vin
tag
e/3
03
43
41
31
0/s
izes/
o/
Copyright © 2014, Intellyx, LLC20
What are You Writing?
• Code?– Least flexible, most susceptible to overbuilding,
reuse always a challenge• Metadata via declarative programming?
– Abstracts code, but leads to complexity shell game• Abstract models?
– Essential for implementable Agile Architecture, but vendors largely fall short
Ph
oto
Cre
dit
: d
avid
d h
ttp
s://
ww
w.fl
ickr
.com
/ph
oto
s/p
uu
ikib
each
/69
89
17
92
73
/siz
es/
l
Copyright © 2014, Intellyx, LLC21
The Agility Platform
Your Application
Your Application
Application-Building
Tool
Your Application
Application-Building
Tool
Tool-Building Platform
Maximize Affordances
Copyright © 2014, Intellyx, LLC22
Coding for a Declarative Model
• Avoid declarative shell game– Pushing all the
complexity to the configuration (declarative model)
• Configuration should be– Standards-based– Browser UI friendly– Simple– Consistent
• Code should focus on affordances
Ph
oto
Cre
dit
: Th
eod
ore
Sco
tt h
ttp
s://
ww
w.fl
ickr
.com
/ph
oto
s/th
eod
ore
scott
/45
16
75
98
06
/siz
es/
o/
Copyright © 2014, Intellyx, LLC23
Tool-Building Agility Platform: Maximum Affordance
• Instead of software that can do things, want software that can enable users to do things – Maximize affordances – Software smart enough to
afford any action • Computers are examples
of maximum affordance• Build software with the
same purpose
Ph
oto
Cre
dit
: M
ah
en
der
G h
ttp
s://
ww
w.fl
ickr
.com
/ph
oto
s/g
mah
en
der/
Copyright © 2014, Intellyx, LLC24
Working with Abstract Models
• Abstracts choice of schema
• Abstracts choice of API contract
• Abstracts semantic context
Ph
oto
Cre
dit
: T
on
y C
alr
ns
htt
ps:
//w
ww
.flic
kr.c
om
/ph
oto
s/to
nyca
irn
s/1
47
31
78
20
52
/siz
es/
l
Resolve to logical models at run time
Copyright © 2014, Intellyx, LLC25
Supporting Abstract Models in Software
• Tool-building platform (business agility platform)– All affordances, affords tool-
building capabilities• Application-building tool
– Affords application-building capabilities to non-developers
– Rich UI support– Non-imperative logic
• Event-driven, process-centric, and/or rules-based, for example
Ph
oto
Cre
dit
: elle
nm
1 h
ttp
s://
ww
w.fl
ickr
.com
/ph
oto
s/elle
nm
1/6
48
93
45
85
1/s
izes/
l
Copyright © 2015, Intellyx, LLC26
The DevOps Big Picture
Copyright © 2015, Intellyx, LLC
Jason Bloomberg
President, Intellyx
jason@intellyx.com
@theebizwizard
Send email NOW to drumbeat@intellyx.com to download this presentation
Thank You!
Recommended