SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
6/4/2017
1
Deliver FAST
“with confidence”
Joseph W. Yoder
The Refactory
Teams That Innovate
Copyright 2017 Joseph Yoder & The Refactory, Inc.
Twitter: @metayoda
joe@refactory.com
http://www.refactory.com
http://www.teamsthatinnovate.com
Introducing Joseph
Founder and Architect, The Refactory, Inc.
Pattern enthusiast, author and Hillside
Board President
Author of the Big Ball of Mud Pattern
Adaptive Systems expert (programs
adaptive software, consults on
adaptive architectures, author of
adaptive architecture patterns,
metatdata maven, website:
adaptiveobjectmodel.com)
Agile enthusiast and practitioner
Business owner (leads a world class
development company)
Consults and trains top companies on
design, refactoring, pragmatic testing
Amateur photographer, motorcycle
enthusiast, enjoys dancing samba!!!
Loves Sushi, Ramen, Taiko Drums 
6/4/2017
2
https://commons.wikimedia.org/wiki/File:2012_WTCC_Race_of_Japan_(Race_1)_opening_lap.jpg
6/4/2017
3
architecture quality can be invisible
…especially when the spotlight is on
FEATURES
6/4/2017
4
EBiz
New Products
Features
Mobile
Version
© Can Stock Photo Inc. / alex5248
The Solution
© Can Stock Photo Inc. / Freezingpicture
6/4/2017
5
What’s below
the waterline?
all those “ilities”
we can’t ignore
…
Reliability
Scalability
Stability
Maintainability
Performance
© Can Stock Photo Inc. / SergeyNivens
Chris Richardson
http://microservices.io
11
6/4/2017
6
Sustaining Your Architecture
Big Ball of Mud
Alias: Shantytown, Spaghetti Code
A BIG BALL OF MUD is haphazardly
structured, sprawling, sloppy, duct-tape and bailing
wire, spaghetti code jungle.
The de-facto standard software
architecture. Why is the gap
between what we preach and
what we practice so large?
We preach we want to build high quality
systems but why are BBoMs so prevalent?
Sustaining Your Architecture
Big Ball of Mud
Alias: Shantytown, Spaghetti Code
A BIG BALL OF MUD is haphazardly
structured, sprawling, sloppy, duct-tape and bailing
wire, spaghetti code jungle.
The de-facto standard software
architecture. Why is the gap
between what we preach and
what we practice so large?
We preach we want to build high quality
systems but why are BBoMs so prevalent?
Brazilian architect
Oscar Niemeyer
Lisa Pollack
6/4/2017
7
Sustaining Your Architecture
Agile Myths
 Simple solutions are always best
 We can easily adapt to changing
requirements (new requirements)
 Scrum/TDD will ensure good
Design/Architecture
 Good architecture simply emerges
from “good” development practice
 You always go fast when doing agile
 Make significant architecture
changes at the last moment
“www.agilemyths.com”
6/4/2017
8
Confidence
Linda Northrop
Values Drive Practices
6/4/2017
9
Agile/Lean Design Values
 Core values:
 Design Simplicity
 Quick Feedback
 Frequent Releases
 Continuous Improvement
 Teamwork/Trust
 Satisfying stakeholder needs
 Building Quality Software
 Keep Learning
 Sustainable Development
6/4/2017
10
Delivery Size???
Delivery Size is Key
Large Delivery Size can cause many issues
Issues:
 More potential defects
 Longer time to get feedback
 Slower adjust time
 Harder to experiment
 Bugs take a long time to fix
6/4/2017
11
Small Deliveries
Quick Feedback
Chris Richardson
6/4/2017
12
What about Quality?
Bad Code Smells
Have you ever looked at
a piece of software that
doesn't smell very nice?
A code smell is any
symptom in the
source code that can
indicate a problem!
6/4/2017
13
Neglect Is Contagious
Disorder increases and software rots over time
Don’t tolerate a broken window
http://www.pragmaticprogrammer.com/ppbook/extracts/no_broken_windows.html
Is it better to
clean little by
little?
Or to let dirt
and mess
accumulate?
6/4/2017
14
Some dirt becomes
very hard to clean
if you do not clean
it right away!
Technical Debt?
Clean Code Doesn't Just Happen
•You have to craft it
•You have to maintain it
•You have to make a professional commitment
“Any fool can write code that a computer can understand.
Good programmers write code that humans can understand.”
– Martin Fowler
6/4/2017
15
But We Don’t Have Time!
Professional Responsibility
There’s no time to wash hands, get to the next patient!
http://en.wikipedia.org/wiki/Image:I_Semmelweis.jpg
6/4/2017
16
Professionalism
Make it your responsibility to create software:
Delivers business value
Is clean
Is tested
Is simple
Good design principles
When working with existing code:
If you break it, you fix it
You never make it worse than it was
You always make it better
Refactoring
“If you value clean code…”
6/4/2017
17
Sustaining Your Architecture
Refactorings
Behavior Preserving
Program Transformations
• Rename Instance Variable
• Promote Method to Superclass
• Move Method to Component
Always done for a reason!!!
Refactoring is key and integral
to most Agile processes!!!
TDD
Two Refactoring Types*
Floss Refactorings—frequent, small
changes, intermingled with other
programming
(daily health)
Root canal refactorings—infrequent,
protracted refactoring, during which
programmers do nothing
else (major repair)
* Emerson Murphy-Hill and Andrew Black in
“Refactoring Tools: Fitness for Purpose”
http://web.cecs.pdx.edu/~black/publications/IEEESoftwareRefact.pdf
6/4/2017
18
Ten Most Putrid List
1) Sloppy Layout,
2) Dead Code,
3) Lame Names,
4) Commented Code,
5) Duplicated Code,
6) Feature Envy,
7) Inappropriate Intimacy,
8) Long Methods & Large Class,
9) Primitive Obsession & Long Parameter List,
10) Switch Statement & Conditional Complexity …
0) Magic Numbers,
Sustaining Your Architecture
Lame Names
void foo(int x[], int y, int z)
{
if (z > y + 1)
{
int a = x[y], b = y + 1, c = z;
while (b < c)
{
if (x[b] <= a) b++; else {
int d = x[b]; x[b] = x[--c];
x[c] = d;
}
}
int e = x[--b]; x[b] = x[y];
x[y] = e; foo(x, y, b);
foo(x, c, z);
}
void quicksort(int array[], int begin, int end) {
if (end > begin + 1) {
int pivot = array[begin],
l = begin + 1, r = end;
while (l < r) {
if (array[l] <= pivot)
l++;
else
swap(&array[l], &array[--r]);
}
swap(&array[--l], &array[beg]);
sort(array, begin, l);
sort(array, r, end);
}
}
http://dreamsongs.com/Files/BetterScienceThroughArt.pdf
6/4/2017
19
Sustaining Your Architecture
Fixing Names
Names should mean something.
Standards improve communication
- know and follow them.
Standard protocols
object ToString(), Equals()
ArrayList Contains(), Add(), AddRange()
Remove(), Count, RemoveAt(),
HashTable Keys, ContainsKey(),
ContainsValue()
Standard naming conventions
Sustaining Your Architecture
Safe Refactorings
Rename is always safe!!!
New Abstract Class moving
common features up
Extract Method (always safe)
Extract Interface / Extract Constant
Pull Up / Push Down
Create common component
for shared internal methods
 Fairly safe but can be harder to share
6/4/2017
20
Sustaining Your Architecture
You Must Test
When you find smelly code,
you often apply refactorings
to clean your code.
Testing is a key principle
for safe refactoring!
Sustaining Your Architecture
Common Wisdom
“In almost all cases, I’m
opposed to setting aside time
for refactoring. In my view
refactoring is not an activity you
set aside time to do.
Refactoring is something
you do all the time in little
bursts.” — Martin Fowler
Work refactoring into your daily routine…
6/4/2017
21
PAUSE POINTS HELP
Kaizen
The Sino-Japanese word "kaizen" simply means
"change for better", with no inherent meaning of
either "continuous" or "philosophy" in Japanese
dictionaries or in everyday use. The word refers to
any improvement, one-time or continuous, large or
small, in the same sense as the English word
"improvement". (Wikipedia)
Most view it as Continuous Improvement…
6/4/2017
22
Slack Time
Need Slack time to improve
Ways to get slack time…
 Monitor and Make Visible
 Reduce Waste (Muda)
 Inject time into process
(retros, daily cleanup, …)
Try little experiments…
(c) Can Stock Photo / AntonioGuillem
Continuous Improvement
“Retrospectives are Key!!!”
Small Steps we can take - next sprint!!!
6/4/2017
23
Spotify: Innovation
Regular Practices
We must make time:
Allocate time for dealing with tech debt
Team building and education sessions
Evaluate and Reflect…small changes
6/4/2017
24
HOW SYSTEM QUALITY WORK
CAN FIT INTO YOUR RHYTHMS
“QUALITY IS NOT AN ACT, IT IS A HABIT.”
—ARISTOTLE
Build architectural quality into your project rhythms
6/4/2017
25
SO
CHOOSE THE MOST
RESPONSIBLE MOMENT
Some decisions are too important to leave
until The Last Responsible Moment
Qualify the Roadmap
“All you need is the plan, the roadmap, and
the courage to press on to your destination”
— Earl Nightingale
6/4/2017
26
Qualify the Roadmap2017
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2018
Jan Feb Mar
DELIVERY
Delays
expected to
Version 1
Delays
expected to
Version 1
DEVELOPMENTDASHBOARD
BUDGET RESOURCE ARCHITECTURE DEPENDENCIES
Budget will
need
bolstering in
Q2 2017
Budget will
need
bolstering in
Q2 2017
All resources
on track.
All resources
on track.
Persistence
Framework
Load-
Balancing.
Cloud
Persistence
Framework
Load-
Balancing.
Cloud
Partnerships
and services
all in place
and on track.
Partnerships
and services
all in place
and on track.
RISKS ISSUES ON RADAR
COMPETITOR
E Corp – new
product.
COMPETITOR
E Corp – new
product.
ARCHITECTURE
Performance
Platform stability
ARCHITECTURE
Performance
Platform stability
DELIVERY
Tech issues
DELIVERY
Tech issues
ARCHITECTURE
Migration
Security
ARCHITECTURE
Migration
Security
AUG 2017
New mobile
opportunity
AUG 2017
New mobile
opportunity
OCT 2017
Re-evaluate
NO SQL strategy
OCT 2017
Re-evaluate
NO SQL strategy
RICH MOBILE WEB APPSMOBILE WEB v2MOBILE WEB v1
PC PLATFORM v1 PC PLATFORM v2 ONGOING RELEASES
MOBILE RESEARCH ANDROID v1 IOS v1 RESPONSIVE DESIGN
ENTEPRISEARCHITECTURE
MOBILE GENERIC SERVICES SYBASE TO ORACLE MIGRATIONPERSISTENCE FRAMEWORK
LOAD BALANCING PLATFORM STABILITY
CLOUD RESEARCH MICROSERVICES
TBD
LOW
RISK
HIGH
RISK NORMAL
NO SQL / BIG DATA v1 NO SQL / BIG DATA v2
MOBILE SECURITY
Qualify the Backlog
You can add backlog items for technical debt and
quality-related architecture work… yes, you can
6/4/2017
27
Make Architecture Work
Visible and Explicit
http://philippe.kruchten.com/2013/12/11/the-missing-value-of-software-architecture/
Visible FeatureVisible Feature
Invisible Architectural
Feature
Invisible Architectural
Feature
Visible DefectVisible Defect Technical DebtTechnical Debt
Color your backlog—Phillipe Kruchten
Positive Value
Negative Value
Visible Invisible
Plan a Sprint
Product
Envisioning
/
Roadmap
Product
Envisioning
/
Roadmap
Deploy to
Stakeholders
Deploy to
Stakeholders
Functional
Acceptance
Testing
Functional
Acceptance
Testing
Develop
and Manage
the Backlog
Run a Sprint
Daily Review
Incorporate Feedback
How Quality Fits
Into An Agile Process
Identify:
Architecture Risks
Key Quality Scenarios
Landing Zone Criteria
Can
Include
Quality
Items
Quality
Testing
Quality
Testing
Include
relevant
quality
tasks
6/4/2017
28
Test Driven Development
Test Driven Development
6/4/2017
29
VALUES DRIVE PRACTICE
CALL TO ACTION
Daily Practices
Sustainable Development
(CC) by muffinn on Flickr
Visibility
Visibility
“We are uncovering easier ways of developing valuable
products by doing it and helping others to do it.
Through this work we have come to value:”
6/4/2017
30
Lazy Manifesto
Keeping slack over being busy all the time
Small high quality software over
large complex software
Doing only what is necessary over
exhaustively discovering all tasks
Doing less to deliver the same over
doing more to deliver less
“We are uncovering easier ways of developing valuable
products by doing it and helping others to do it.
Through this work we have come to value:”
That is, while there is value in the items on the right,
we value the items on the left more…
Harada Kiro
Relaxed
Principles of Lazy Manifesto
Doing nothing is always an option.
We seek to minimize the number of backlog items while keeping the value of the backlog.
We believe to keep increasing velocity is not always good.
We try to eliminate tasks that generate no value.
We try to combine tasks to reduce latency and rework.
We try to rearrange tasks to find problems early.
We try to simplify all tasks as much as possible
We are not afraid of eliminating our own tasks / processes
by continuously acquiring new skills / capabilities.
We expand capabilities over increasing capacities.
We only work hard to make our work easier and safer.
We always look to get help while we provide help to others with minimum effort.
We never try to add an unnecessary principle simply to match with the other manifesto :)
“We follow these principles when they don’t add work:”
Relaxed
Harada Kiro
6/4/2017
31
Dogmatic
Pragmatic
Synonyms: bullheaded, dictative,
doctrinaire, fanatical, intolerant
Antonyms: amenable, flexible,
manageable
Synonyms: common, commonsense,
logical, practical, rational,
realistic, sensible
Antonyms: idealistic, unrealistic
Being Pragmatic
No Planning
No Design
or Architecture
Sometimes
called Agile

Lot’s of
Upfront
Planning
Lot of Design
& Architecture
Traditional
or Waterfall

Rough
Adaptive
Plan (changing)
Right Balance
of Design
& Architecture
Being Agile

Balance Between…
6/4/2017
32
It is a Journey
Commitment
Follow-through
Deliberate practices
Slack Time to Improve
Paying attention
Continuous Learning
© Can Stock Photo Inc. / jefras
Joe’s cool photo goes here!!!joe@refactory.com
Twitter: @metayoda
www.joeyoder.com
www.refactory.com
Thanks!!!

Weitere ähnliche Inhalte

Was ist angesagt?

The Whole Team Approach, Illustrated. Keynote from Turku Agile Days 2012
The Whole Team Approach, Illustrated. Keynote from Turku Agile Days 2012The Whole Team Approach, Illustrated. Keynote from Turku Agile Days 2012
The Whole Team Approach, Illustrated. Keynote from Turku Agile Days 2012lisacrispin
 
Support and Initiate a DevOps Transformation
Support and Initiate a DevOps TransformationSupport and Initiate a DevOps Transformation
Support and Initiate a DevOps Transformationdev2ops
 
DevOps: 6 Steps to Go Faster, Build Better and Avoid Disaster
DevOps: 6 Steps to Go Faster, Build Better and Avoid DisasterDevOps: 6 Steps to Go Faster, Build Better and Avoid Disaster
DevOps: 6 Steps to Go Faster, Build Better and Avoid DisasterSmartBear
 
The Changing Role of Release Engineering in a DevOps World
The Changing Role of Release Engineering in a DevOps WorldThe Changing Role of Release Engineering in a DevOps World
The Changing Role of Release Engineering in a DevOps WorldPerforce
 
Minding your own business - TestBash 2 talk
Minding your own business - TestBash 2 talkMinding your own business - TestBash 2 talk
Minding your own business - TestBash 2 talklisacrispin
 
Belgium Testing Days - Making Test Automation Work in Agile Projects
Belgium Testing Days - Making Test Automation Work in Agile ProjectsBelgium Testing Days - Making Test Automation Work in Agile Projects
Belgium Testing Days - Making Test Automation Work in Agile Projectslisacrispin
 
Long live the DevOps team - LeedsDevOps - 2015-10-22 - Matthew Skelton
Long live the DevOps team - LeedsDevOps - 2015-10-22 - Matthew SkeltonLong live the DevOps team - LeedsDevOps - 2015-10-22 - Matthew Skelton
Long live the DevOps team - LeedsDevOps - 2015-10-22 - Matthew SkeltonSkelton Thatcher Consulting Ltd
 
Enterprise DevOps fact or fiction - DevOps Summit 2014
Enterprise DevOps fact or fiction - DevOps Summit 2014Enterprise DevOps fact or fiction - DevOps Summit 2014
Enterprise DevOps fact or fiction - DevOps Summit 2014Chris Riley ☁
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Claradev2ops
 
PMI ACP Prep Course
PMI ACP Prep CoursePMI ACP Prep Course
PMI ACP Prep Coursesparkagility
 
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014johnfcshaw
 
DevOps Culture as a tool
DevOps Culture as a toolDevOps Culture as a tool
DevOps Culture as a toolDick Noort
 
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...dev2ops
 
DOES15 - Mike Bland - Pain Is Over, If You Want It
DOES15 - Mike Bland - Pain Is Over, If You Want ItDOES15 - Mike Bland - Pain Is Over, If You Want It
DOES15 - Mike Bland - Pain Is Over, If You Want ItGene Kim
 
Testing in a Continuous World
Testing in a Continuous WorldTesting in a Continuous World
Testing in a Continuous WorldLisi Hocke
 
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Patrick McDonnell
 
Building DevOps culture from bottom up
Building DevOps culture from bottom upBuilding DevOps culture from bottom up
Building DevOps culture from bottom upSQUADEX
 

Was ist angesagt? (20)

The Whole Team Approach, Illustrated. Keynote from Turku Agile Days 2012
The Whole Team Approach, Illustrated. Keynote from Turku Agile Days 2012The Whole Team Approach, Illustrated. Keynote from Turku Agile Days 2012
The Whole Team Approach, Illustrated. Keynote from Turku Agile Days 2012
 
Support and Initiate a DevOps Transformation
Support and Initiate a DevOps TransformationSupport and Initiate a DevOps Transformation
Support and Initiate a DevOps Transformation
 
DevOps: 6 Steps to Go Faster, Build Better and Avoid Disaster
DevOps: 6 Steps to Go Faster, Build Better and Avoid DisasterDevOps: 6 Steps to Go Faster, Build Better and Avoid Disaster
DevOps: 6 Steps to Go Faster, Build Better and Avoid Disaster
 
Oredev pairing
Oredev pairingOredev pairing
Oredev pairing
 
The Changing Role of Release Engineering in a DevOps World
The Changing Role of Release Engineering in a DevOps WorldThe Changing Role of Release Engineering in a DevOps World
The Changing Role of Release Engineering in a DevOps World
 
Minding your own business - TestBash 2 talk
Minding your own business - TestBash 2 talkMinding your own business - TestBash 2 talk
Minding your own business - TestBash 2 talk
 
Belgium Testing Days - Making Test Automation Work in Agile Projects
Belgium Testing Days - Making Test Automation Work in Agile ProjectsBelgium Testing Days - Making Test Automation Work in Agile Projects
Belgium Testing Days - Making Test Automation Work in Agile Projects
 
Long live the DevOps team - LeedsDevOps - 2015-10-22 - Matthew Skelton
Long live the DevOps team - LeedsDevOps - 2015-10-22 - Matthew SkeltonLong live the DevOps team - LeedsDevOps - 2015-10-22 - Matthew Skelton
Long live the DevOps team - LeedsDevOps - 2015-10-22 - Matthew Skelton
 
Enterprise DevOps fact or fiction - DevOps Summit 2014
Enterprise DevOps fact or fiction - DevOps Summit 2014Enterprise DevOps fact or fiction - DevOps Summit 2014
Enterprise DevOps fact or fiction - DevOps Summit 2014
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
 
SUCCEEDING WITH DEVOPS DEVOPS
SUCCEEDING WITH DEVOPS DEVOPSSUCCEEDING WITH DEVOPS DEVOPS
SUCCEEDING WITH DEVOPS DEVOPS
 
DevOps: Hype or Hope
DevOps: Hype or HopeDevOps: Hype or Hope
DevOps: Hype or Hope
 
PMI ACP Prep Course
PMI ACP Prep CoursePMI ACP Prep Course
PMI ACP Prep Course
 
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014Four pillars of DevOps - John Shaw - Agile Cambridge 2014
Four pillars of DevOps - John Shaw - Agile Cambridge 2014
 
DevOps Culture as a tool
DevOps Culture as a toolDevOps Culture as a tool
DevOps Culture as a tool
 
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
Without Self-Service Operations, the Cloud is Just Expensive Hosting 2.0 - (a...
 
DOES15 - Mike Bland - Pain Is Over, If You Want It
DOES15 - Mike Bland - Pain Is Over, If You Want ItDOES15 - Mike Bland - Pain Is Over, If You Want It
DOES15 - Mike Bland - Pain Is Over, If You Want It
 
Testing in a Continuous World
Testing in a Continuous WorldTesting in a Continuous World
Testing in a Continuous World
 
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
 
Building DevOps culture from bottom up
Building DevOps culture from bottom upBuilding DevOps culture from bottom up
Building DevOps culture from bottom up
 

Ähnlich wie Deliver Fast with Confidence

JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"
JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"
JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"PROIDEA
 
Agile paris 2022 sharing
Agile paris 2022   sharingAgile paris 2022   sharing
Agile paris 2022 sharingJas Chong
 
Essential SAFe. The essential scaling patterns that we can (probably) all agr...
Essential SAFe. The essential scaling patterns that we can (probably) all agr...Essential SAFe. The essential scaling patterns that we can (probably) all agr...
Essential SAFe. The essential scaling patterns that we can (probably) all agr...Richard Knaster
 
What can DesignOps do for you? by Carol Smith at TLMUX in Montreal
What can DesignOps do for you? by Carol Smith at TLMUX in MontrealWhat can DesignOps do for you? by Carol Smith at TLMUX in Montreal
What can DesignOps do for you? by Carol Smith at TLMUX in MontrealCarol Smith
 
Towards an Agile Authoring methodology: Learning from Lean
Towards an Agile Authoring methodology: Learning from LeanTowards an Agile Authoring methodology: Learning from Lean
Towards an Agile Authoring methodology: Learning from LeanEllis Pratt
 
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB FeatureMongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB FeatureMongoDB
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open DevelopmentRoss Gardler
 
Pragmatic Architecture for Agile Teams - GeeCON 2014
Pragmatic Architecture for Agile Teams - GeeCON 2014Pragmatic Architecture for Agile Teams - GeeCON 2014
Pragmatic Architecture for Agile Teams - GeeCON 2014Janne Sinivirta
 
Agile and Scrum Workshop
Agile and Scrum WorkshopAgile and Scrum Workshop
Agile and Scrum WorkshopRainer Stropek
 
[DesignOps Global Conference 2019] Samir Dash - 3-steps for building design e...
[DesignOps Global Conference 2019] Samir Dash - 3-steps for buildingdesign e...[DesignOps Global Conference 2019] Samir Dash - 3-steps for buildingdesign e...
[DesignOps Global Conference 2019] Samir Dash - 3-steps for building design e...Samir Dash
 
3 steps for building design eco-systems of future, today. - Samir Dash
3 steps for building  design eco-systems of future, today. - Samir Dash3 steps for building  design eco-systems of future, today. - Samir Dash
3 steps for building design eco-systems of future, today. - Samir DashDesignOps Global Conference
 
ANI | Agile Mindset Day @Gurugram | Agile Planning: Effective Practices and C...
ANI | Agile Mindset Day @Gurugram | Agile Planning: Effective Practices and C...ANI | Agile Mindset Day @Gurugram | Agile Planning: Effective Practices and C...
ANI | Agile Mindset Day @Gurugram | Agile Planning: Effective Practices and C...AgileNetwork
 
BuildingBlocksEbook-Sept2019.pdf
BuildingBlocksEbook-Sept2019.pdfBuildingBlocksEbook-Sept2019.pdf
BuildingBlocksEbook-Sept2019.pdfAndri Muhyidin
 
Introduction to Agile, by J.D. Meier
Introduction to Agile, by J.D. MeierIntroduction to Agile, by J.D. Meier
Introduction to Agile, by J.D. MeierJ.D. Meier
 
Design System Proposal
Design System ProposalDesign System Proposal
Design System ProposalCharlie Weston
 
Getting Started with DevOps
Getting Started with DevOpsGetting Started with DevOps
Getting Started with DevOpsAhmed Misbah
 
how do u design?
how do u design?how do u design?
how do u design?surya teja
 
DevOps for absolute beginners
DevOps for absolute beginnersDevOps for absolute beginners
DevOps for absolute beginnersAhmed Misbah
 
Effectively Culturing a Healthy Culture and Workflow - Jeff Pierce - DevOpsD...
Effectively Culturing a Healthy Culture and Workflow - Jeff Pierce  - DevOpsD...Effectively Culturing a Healthy Culture and Workflow - Jeff Pierce  - DevOpsD...
Effectively Culturing a Healthy Culture and Workflow - Jeff Pierce - DevOpsD...DevOpsDays Tel Aviv
 

Ähnlich wie Deliver Fast with Confidence (20)

JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"
JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"
JDD 2016 - Joseph W. Yoder - Deliver Fast "With Confidence"
 
Agile paris 2022 sharing
Agile paris 2022   sharingAgile paris 2022   sharing
Agile paris 2022 sharing
 
SDLC Smashup
SDLC SmashupSDLC Smashup
SDLC Smashup
 
Essential SAFe. The essential scaling patterns that we can (probably) all agr...
Essential SAFe. The essential scaling patterns that we can (probably) all agr...Essential SAFe. The essential scaling patterns that we can (probably) all agr...
Essential SAFe. The essential scaling patterns that we can (probably) all agr...
 
What can DesignOps do for you? by Carol Smith at TLMUX in Montreal
What can DesignOps do for you? by Carol Smith at TLMUX in MontrealWhat can DesignOps do for you? by Carol Smith at TLMUX in Montreal
What can DesignOps do for you? by Carol Smith at TLMUX in Montreal
 
Towards an Agile Authoring methodology: Learning from Lean
Towards an Agile Authoring methodology: Learning from LeanTowards an Agile Authoring methodology: Learning from Lean
Towards an Agile Authoring methodology: Learning from Lean
 
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB FeatureMongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open Development
 
Pragmatic Architecture for Agile Teams - GeeCON 2014
Pragmatic Architecture for Agile Teams - GeeCON 2014Pragmatic Architecture for Agile Teams - GeeCON 2014
Pragmatic Architecture for Agile Teams - GeeCON 2014
 
Agile and Scrum Workshop
Agile and Scrum WorkshopAgile and Scrum Workshop
Agile and Scrum Workshop
 
[DesignOps Global Conference 2019] Samir Dash - 3-steps for building design e...
[DesignOps Global Conference 2019] Samir Dash - 3-steps for buildingdesign e...[DesignOps Global Conference 2019] Samir Dash - 3-steps for buildingdesign e...
[DesignOps Global Conference 2019] Samir Dash - 3-steps for building design e...
 
3 steps for building design eco-systems of future, today. - Samir Dash
3 steps for building  design eco-systems of future, today. - Samir Dash3 steps for building  design eco-systems of future, today. - Samir Dash
3 steps for building design eco-systems of future, today. - Samir Dash
 
ANI | Agile Mindset Day @Gurugram | Agile Planning: Effective Practices and C...
ANI | Agile Mindset Day @Gurugram | Agile Planning: Effective Practices and C...ANI | Agile Mindset Day @Gurugram | Agile Planning: Effective Practices and C...
ANI | Agile Mindset Day @Gurugram | Agile Planning: Effective Practices and C...
 
BuildingBlocksEbook-Sept2019.pdf
BuildingBlocksEbook-Sept2019.pdfBuildingBlocksEbook-Sept2019.pdf
BuildingBlocksEbook-Sept2019.pdf
 
Introduction to Agile, by J.D. Meier
Introduction to Agile, by J.D. MeierIntroduction to Agile, by J.D. Meier
Introduction to Agile, by J.D. Meier
 
Design System Proposal
Design System ProposalDesign System Proposal
Design System Proposal
 
Getting Started with DevOps
Getting Started with DevOpsGetting Started with DevOps
Getting Started with DevOps
 
how do u design?
how do u design?how do u design?
how do u design?
 
DevOps for absolute beginners
DevOps for absolute beginnersDevOps for absolute beginners
DevOps for absolute beginners
 
Effectively Culturing a Healthy Culture and Workflow - Jeff Pierce - DevOpsD...
Effectively Culturing a Healthy Culture and Workflow - Jeff Pierce  - DevOpsD...Effectively Culturing a Healthy Culture and Workflow - Jeff Pierce  - DevOpsD...
Effectively Culturing a Healthy Culture and Workflow - Jeff Pierce - DevOpsD...
 

Mehr von DevCamp Campinas

Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency appDylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency appDevCamp Campinas
 
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...DevCamp Campinas
 
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...DevCamp Campinas
 
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...DevCamp Campinas
 
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningEiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningDevCamp Campinas
 
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...DevCamp Campinas
 
Leonardo Zamariola - High Order Functions e Functional Interfaces
Leonardo Zamariola - High Order Functions e Functional InterfacesLeonardo Zamariola - High Order Functions e Functional Interfaces
Leonardo Zamariola - High Order Functions e Functional InterfacesDevCamp Campinas
 
Lara Rejane - Gestão ágil de pessoas
Lara Rejane - Gestão ágil de pessoasLara Rejane - Gestão ágil de pessoas
Lara Rejane - Gestão ágil de pessoasDevCamp Campinas
 
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?DevCamp Campinas
 
Erick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em FlutterErick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em FlutterDevCamp Campinas
 
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...DevCamp Campinas
 
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...DevCamp Campinas
 
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...DevCamp Campinas
 
Fábio Lima Santos - Desenhando aplicações que evoluem
Fábio Lima Santos - Desenhando aplicações que evoluemFábio Lima Santos - Desenhando aplicações que evoluem
Fábio Lima Santos - Desenhando aplicações que evoluemDevCamp Campinas
 
João Emilio Santos Bento da Silva - Estratégia de APIs
João Emilio Santos Bento da Silva - Estratégia de APIsJoão Emilio Santos Bento da Silva - Estratégia de APIs
João Emilio Santos Bento da Silva - Estratégia de APIsDevCamp Campinas
 
José Guedes - Como encaramos quando as coisas dão errado
José Guedes - Como encaramos quando as coisas dão erradoJosé Guedes - Como encaramos quando as coisas dão errado
José Guedes - Como encaramos quando as coisas dão erradoDevCamp Campinas
 
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...DevCamp Campinas
 
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...DevCamp Campinas
 
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiroIngrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiroDevCamp Campinas
 
Igor Hjelmstrom Ribeiro - Bitcoin: desafios de segurança frente à ataques de...
Igor Hjelmstrom Ribeiro -  Bitcoin: desafios de segurança frente à ataques de...Igor Hjelmstrom Ribeiro -  Bitcoin: desafios de segurança frente à ataques de...
Igor Hjelmstrom Ribeiro - Bitcoin: desafios de segurança frente à ataques de...DevCamp Campinas
 

Mehr von DevCamp Campinas (20)

Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency appDylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
Dylan Butler & Oliver Hager - Building a cross platform cryptocurrency app
 
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
Thaissa Bueno - Implantando modelos Deep Learning em cluster Kubernetes com G...
 
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
Gabriel Pacheco e Felipe Cardoso - Nextel + React Native: Lições aprendidas a...
 
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
Everton Gago - Ciência de Dados: O melhor caminho para alinhar o produto com ...
 
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningEiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
 
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
Bárbara Silveira e Giovanna Victorino - Desenvolva também para TVs (AppleTV e...
 
Leonardo Zamariola - High Order Functions e Functional Interfaces
Leonardo Zamariola - High Order Functions e Functional InterfacesLeonardo Zamariola - High Order Functions e Functional Interfaces
Leonardo Zamariola - High Order Functions e Functional Interfaces
 
Lara Rejane - Gestão ágil de pessoas
Lara Rejane - Gestão ágil de pessoasLara Rejane - Gestão ágil de pessoas
Lara Rejane - Gestão ágil de pessoas
 
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
Eduardo Merighi - Escalabilidade tecnológica de uma fintech: como a Neon faz?
 
Erick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em FlutterErick Zanardo - Desenvolvimento de Jogos em Flutter
Erick Zanardo - Desenvolvimento de Jogos em Flutter
 
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
Davi Silva e Izabela Amaral - Oferecendo soluções de negócio mais assertivas ...
 
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
Andre Fossa - Reinventando a Nextel: como a transformação digital ajudou a qu...
 
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
Alceu Bravo - Intraempreendedorismo – desafios da inovação para quem tem base...
 
Fábio Lima Santos - Desenhando aplicações que evoluem
Fábio Lima Santos - Desenhando aplicações que evoluemFábio Lima Santos - Desenhando aplicações que evoluem
Fábio Lima Santos - Desenhando aplicações que evoluem
 
João Emilio Santos Bento da Silva - Estratégia de APIs
João Emilio Santos Bento da Silva - Estratégia de APIsJoão Emilio Santos Bento da Silva - Estratégia de APIs
João Emilio Santos Bento da Silva - Estratégia de APIs
 
José Guedes - Como encaramos quando as coisas dão errado
José Guedes - Como encaramos quando as coisas dão erradoJosé Guedes - Como encaramos quando as coisas dão errado
José Guedes - Como encaramos quando as coisas dão errado
 
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
Rafael Calsaverini - Inteligência Artificial para recrutar pessoas – Tecnolog...
 
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
Isac Sacchi e Souza - Migrando uma infraestrutura mutável para imutável e Kub...
 
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiroIngrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
Ingrid Barth - Blockchain, Criptomoedas e a nova maneira de entender o dinheiro
 
Igor Hjelmstrom Ribeiro - Bitcoin: desafios de segurança frente à ataques de...
Igor Hjelmstrom Ribeiro -  Bitcoin: desafios de segurança frente à ataques de...Igor Hjelmstrom Ribeiro -  Bitcoin: desafios de segurança frente à ataques de...
Igor Hjelmstrom Ribeiro - Bitcoin: desafios de segurança frente à ataques de...
 

Kürzlich hochgeladen

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Deliver Fast with Confidence

  • 1. 6/4/2017 1 Deliver FAST “with confidence” Joseph W. Yoder The Refactory Teams That Innovate Copyright 2017 Joseph Yoder & The Refactory, Inc. Twitter: @metayoda joe@refactory.com http://www.refactory.com http://www.teamsthatinnovate.com Introducing Joseph Founder and Architect, The Refactory, Inc. Pattern enthusiast, author and Hillside Board President Author of the Big Ball of Mud Pattern Adaptive Systems expert (programs adaptive software, consults on adaptive architectures, author of adaptive architecture patterns, metatdata maven, website: adaptiveobjectmodel.com) Agile enthusiast and practitioner Business owner (leads a world class development company) Consults and trains top companies on design, refactoring, pragmatic testing Amateur photographer, motorcycle enthusiast, enjoys dancing samba!!! Loves Sushi, Ramen, Taiko Drums 
  • 3. 6/4/2017 3 architecture quality can be invisible …especially when the spotlight is on FEATURES
  • 4. 6/4/2017 4 EBiz New Products Features Mobile Version © Can Stock Photo Inc. / alex5248 The Solution © Can Stock Photo Inc. / Freezingpicture
  • 5. 6/4/2017 5 What’s below the waterline? all those “ilities” we can’t ignore … Reliability Scalability Stability Maintainability Performance © Can Stock Photo Inc. / SergeyNivens Chris Richardson http://microservices.io 11
  • 6. 6/4/2017 6 Sustaining Your Architecture Big Ball of Mud Alias: Shantytown, Spaghetti Code A BIG BALL OF MUD is haphazardly structured, sprawling, sloppy, duct-tape and bailing wire, spaghetti code jungle. The de-facto standard software architecture. Why is the gap between what we preach and what we practice so large? We preach we want to build high quality systems but why are BBoMs so prevalent? Sustaining Your Architecture Big Ball of Mud Alias: Shantytown, Spaghetti Code A BIG BALL OF MUD is haphazardly structured, sprawling, sloppy, duct-tape and bailing wire, spaghetti code jungle. The de-facto standard software architecture. Why is the gap between what we preach and what we practice so large? We preach we want to build high quality systems but why are BBoMs so prevalent? Brazilian architect Oscar Niemeyer Lisa Pollack
  • 7. 6/4/2017 7 Sustaining Your Architecture Agile Myths  Simple solutions are always best  We can easily adapt to changing requirements (new requirements)  Scrum/TDD will ensure good Design/Architecture  Good architecture simply emerges from “good” development practice  You always go fast when doing agile  Make significant architecture changes at the last moment “www.agilemyths.com”
  • 9. 6/4/2017 9 Agile/Lean Design Values  Core values:  Design Simplicity  Quick Feedback  Frequent Releases  Continuous Improvement  Teamwork/Trust  Satisfying stakeholder needs  Building Quality Software  Keep Learning  Sustainable Development
  • 10. 6/4/2017 10 Delivery Size??? Delivery Size is Key Large Delivery Size can cause many issues Issues:  More potential defects  Longer time to get feedback  Slower adjust time  Harder to experiment  Bugs take a long time to fix
  • 12. 6/4/2017 12 What about Quality? Bad Code Smells Have you ever looked at a piece of software that doesn't smell very nice? A code smell is any symptom in the source code that can indicate a problem!
  • 13. 6/4/2017 13 Neglect Is Contagious Disorder increases and software rots over time Don’t tolerate a broken window http://www.pragmaticprogrammer.com/ppbook/extracts/no_broken_windows.html Is it better to clean little by little? Or to let dirt and mess accumulate?
  • 14. 6/4/2017 14 Some dirt becomes very hard to clean if you do not clean it right away! Technical Debt? Clean Code Doesn't Just Happen •You have to craft it •You have to maintain it •You have to make a professional commitment “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” – Martin Fowler
  • 15. 6/4/2017 15 But We Don’t Have Time! Professional Responsibility There’s no time to wash hands, get to the next patient! http://en.wikipedia.org/wiki/Image:I_Semmelweis.jpg
  • 16. 6/4/2017 16 Professionalism Make it your responsibility to create software: Delivers business value Is clean Is tested Is simple Good design principles When working with existing code: If you break it, you fix it You never make it worse than it was You always make it better Refactoring “If you value clean code…”
  • 17. 6/4/2017 17 Sustaining Your Architecture Refactorings Behavior Preserving Program Transformations • Rename Instance Variable • Promote Method to Superclass • Move Method to Component Always done for a reason!!! Refactoring is key and integral to most Agile processes!!! TDD Two Refactoring Types* Floss Refactorings—frequent, small changes, intermingled with other programming (daily health) Root canal refactorings—infrequent, protracted refactoring, during which programmers do nothing else (major repair) * Emerson Murphy-Hill and Andrew Black in “Refactoring Tools: Fitness for Purpose” http://web.cecs.pdx.edu/~black/publications/IEEESoftwareRefact.pdf
  • 18. 6/4/2017 18 Ten Most Putrid List 1) Sloppy Layout, 2) Dead Code, 3) Lame Names, 4) Commented Code, 5) Duplicated Code, 6) Feature Envy, 7) Inappropriate Intimacy, 8) Long Methods & Large Class, 9) Primitive Obsession & Long Parameter List, 10) Switch Statement & Conditional Complexity … 0) Magic Numbers, Sustaining Your Architecture Lame Names void foo(int x[], int y, int z) { if (z > y + 1) { int a = x[y], b = y + 1, c = z; while (b < c) { if (x[b] <= a) b++; else { int d = x[b]; x[b] = x[--c]; x[c] = d; } } int e = x[--b]; x[b] = x[y]; x[y] = e; foo(x, y, b); foo(x, c, z); } void quicksort(int array[], int begin, int end) { if (end > begin + 1) { int pivot = array[begin], l = begin + 1, r = end; while (l < r) { if (array[l] <= pivot) l++; else swap(&array[l], &array[--r]); } swap(&array[--l], &array[beg]); sort(array, begin, l); sort(array, r, end); } } http://dreamsongs.com/Files/BetterScienceThroughArt.pdf
  • 19. 6/4/2017 19 Sustaining Your Architecture Fixing Names Names should mean something. Standards improve communication - know and follow them. Standard protocols object ToString(), Equals() ArrayList Contains(), Add(), AddRange() Remove(), Count, RemoveAt(), HashTable Keys, ContainsKey(), ContainsValue() Standard naming conventions Sustaining Your Architecture Safe Refactorings Rename is always safe!!! New Abstract Class moving common features up Extract Method (always safe) Extract Interface / Extract Constant Pull Up / Push Down Create common component for shared internal methods  Fairly safe but can be harder to share
  • 20. 6/4/2017 20 Sustaining Your Architecture You Must Test When you find smelly code, you often apply refactorings to clean your code. Testing is a key principle for safe refactoring! Sustaining Your Architecture Common Wisdom “In almost all cases, I’m opposed to setting aside time for refactoring. In my view refactoring is not an activity you set aside time to do. Refactoring is something you do all the time in little bursts.” — Martin Fowler Work refactoring into your daily routine…
  • 21. 6/4/2017 21 PAUSE POINTS HELP Kaizen The Sino-Japanese word "kaizen" simply means "change for better", with no inherent meaning of either "continuous" or "philosophy" in Japanese dictionaries or in everyday use. The word refers to any improvement, one-time or continuous, large or small, in the same sense as the English word "improvement". (Wikipedia) Most view it as Continuous Improvement…
  • 22. 6/4/2017 22 Slack Time Need Slack time to improve Ways to get slack time…  Monitor and Make Visible  Reduce Waste (Muda)  Inject time into process (retros, daily cleanup, …) Try little experiments… (c) Can Stock Photo / AntonioGuillem Continuous Improvement “Retrospectives are Key!!!” Small Steps we can take - next sprint!!!
  • 23. 6/4/2017 23 Spotify: Innovation Regular Practices We must make time: Allocate time for dealing with tech debt Team building and education sessions Evaluate and Reflect…small changes
  • 24. 6/4/2017 24 HOW SYSTEM QUALITY WORK CAN FIT INTO YOUR RHYTHMS “QUALITY IS NOT AN ACT, IT IS A HABIT.” —ARISTOTLE Build architectural quality into your project rhythms
  • 25. 6/4/2017 25 SO CHOOSE THE MOST RESPONSIBLE MOMENT Some decisions are too important to leave until The Last Responsible Moment Qualify the Roadmap “All you need is the plan, the roadmap, and the courage to press on to your destination” — Earl Nightingale
  • 26. 6/4/2017 26 Qualify the Roadmap2017 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 2018 Jan Feb Mar DELIVERY Delays expected to Version 1 Delays expected to Version 1 DEVELOPMENTDASHBOARD BUDGET RESOURCE ARCHITECTURE DEPENDENCIES Budget will need bolstering in Q2 2017 Budget will need bolstering in Q2 2017 All resources on track. All resources on track. Persistence Framework Load- Balancing. Cloud Persistence Framework Load- Balancing. Cloud Partnerships and services all in place and on track. Partnerships and services all in place and on track. RISKS ISSUES ON RADAR COMPETITOR E Corp – new product. COMPETITOR E Corp – new product. ARCHITECTURE Performance Platform stability ARCHITECTURE Performance Platform stability DELIVERY Tech issues DELIVERY Tech issues ARCHITECTURE Migration Security ARCHITECTURE Migration Security AUG 2017 New mobile opportunity AUG 2017 New mobile opportunity OCT 2017 Re-evaluate NO SQL strategy OCT 2017 Re-evaluate NO SQL strategy RICH MOBILE WEB APPSMOBILE WEB v2MOBILE WEB v1 PC PLATFORM v1 PC PLATFORM v2 ONGOING RELEASES MOBILE RESEARCH ANDROID v1 IOS v1 RESPONSIVE DESIGN ENTEPRISEARCHITECTURE MOBILE GENERIC SERVICES SYBASE TO ORACLE MIGRATIONPERSISTENCE FRAMEWORK LOAD BALANCING PLATFORM STABILITY CLOUD RESEARCH MICROSERVICES TBD LOW RISK HIGH RISK NORMAL NO SQL / BIG DATA v1 NO SQL / BIG DATA v2 MOBILE SECURITY Qualify the Backlog You can add backlog items for technical debt and quality-related architecture work… yes, you can
  • 27. 6/4/2017 27 Make Architecture Work Visible and Explicit http://philippe.kruchten.com/2013/12/11/the-missing-value-of-software-architecture/ Visible FeatureVisible Feature Invisible Architectural Feature Invisible Architectural Feature Visible DefectVisible Defect Technical DebtTechnical Debt Color your backlog—Phillipe Kruchten Positive Value Negative Value Visible Invisible Plan a Sprint Product Envisioning / Roadmap Product Envisioning / Roadmap Deploy to Stakeholders Deploy to Stakeholders Functional Acceptance Testing Functional Acceptance Testing Develop and Manage the Backlog Run a Sprint Daily Review Incorporate Feedback How Quality Fits Into An Agile Process Identify: Architecture Risks Key Quality Scenarios Landing Zone Criteria Can Include Quality Items Quality Testing Quality Testing Include relevant quality tasks
  • 29. 6/4/2017 29 VALUES DRIVE PRACTICE CALL TO ACTION Daily Practices Sustainable Development (CC) by muffinn on Flickr Visibility Visibility “We are uncovering easier ways of developing valuable products by doing it and helping others to do it. Through this work we have come to value:”
  • 30. 6/4/2017 30 Lazy Manifesto Keeping slack over being busy all the time Small high quality software over large complex software Doing only what is necessary over exhaustively discovering all tasks Doing less to deliver the same over doing more to deliver less “We are uncovering easier ways of developing valuable products by doing it and helping others to do it. Through this work we have come to value:” That is, while there is value in the items on the right, we value the items on the left more… Harada Kiro Relaxed Principles of Lazy Manifesto Doing nothing is always an option. We seek to minimize the number of backlog items while keeping the value of the backlog. We believe to keep increasing velocity is not always good. We try to eliminate tasks that generate no value. We try to combine tasks to reduce latency and rework. We try to rearrange tasks to find problems early. We try to simplify all tasks as much as possible We are not afraid of eliminating our own tasks / processes by continuously acquiring new skills / capabilities. We expand capabilities over increasing capacities. We only work hard to make our work easier and safer. We always look to get help while we provide help to others with minimum effort. We never try to add an unnecessary principle simply to match with the other manifesto :) “We follow these principles when they don’t add work:” Relaxed Harada Kiro
  • 31. 6/4/2017 31 Dogmatic Pragmatic Synonyms: bullheaded, dictative, doctrinaire, fanatical, intolerant Antonyms: amenable, flexible, manageable Synonyms: common, commonsense, logical, practical, rational, realistic, sensible Antonyms: idealistic, unrealistic Being Pragmatic No Planning No Design or Architecture Sometimes called Agile  Lot’s of Upfront Planning Lot of Design & Architecture Traditional or Waterfall  Rough Adaptive Plan (changing) Right Balance of Design & Architecture Being Agile  Balance Between…
  • 32. 6/4/2017 32 It is a Journey Commitment Follow-through Deliberate practices Slack Time to Improve Paying attention Continuous Learning © Can Stock Photo Inc. / jefras Joe’s cool photo goes here!!!joe@refactory.com Twitter: @metayoda www.joeyoder.com www.refactory.com Thanks!!!