Bootstrapping a-devops-matter

Preview:

Citation preview

a devopsmentality

http://spencerfry.com/how-to-bootstrap

@patrickdebois

Thank you!

Cultural and Professional Movement

Adam Jacob

devops

http://www.youtube.com/watch?v=Fx8OBeNmaWw

My Background• Independent consultant

• Have worked in different roles

• Agile and Infrastructure

• Just Enough Developed Infrastructure - http://jedi.be

• Started organizing devopsdays

• Recently joined Cutter Consortium

Background check?

analysts

developer

operations

testers

network

storage

database

security

middleware

sales

manager

hr people

The movement is inclusive

Awesome

Happy

Cool

Built neat stuff!

Adam Jacob

There are exclusive people

Grumpy

Tool Centric

Us vs Them

I’m a devop you’re a sysadmin

Adam Jacob

Looking for tools?

Looking for tools?

You can still leave ...

Theproblem

DEV OPS

“It’s NOT a technical problem”

“It’s a human problem”

We don’t trust the guys from operations. They suck

We don’t trust the guys from development.

They suck

We don’t trust the guys from management.

They suck

Premise today“It’s a trust problem”

http://voetstappen.blogspot.com/

Starting a devops culture =

restoring trust

Traditional Business Formula

(Strategy X Execution) = Results

Factor

(Strategy X Execution) * Trust = Results

(-) Trust = (-) Speed (+) Cost

(+) Trust =(+) Speed!(-) Cost!

ofTrust

Tax Dividend

• 10 x 10 = 100 (- Tax 40 %) = 60

• 10 x 10 = 100 (- Tax 10 %) = 90

• 10 x 10 = 100 (+ Div 20%) = 120

Trust = f(character, competence)

Waves of Trust

Self

Relationship

Organizational

Market

Societal

1. Self Trust

“We trust people, who make things happen”

But ... Can others trust you?

“We judge others by their behavior,

we judge ourselves by our intentions”

Principle of Credibility“The 4 Cores”

• Trust = f(character, competence)

• Character = f(integrity, intent)

• Competence = f(capabilities, results)

Capability

Talents

Attitudes

Skills

Knowledge

Style

Ah, so this is where the (cool)tools come in !

I <3 technology

ChefPuppet

RubyJava

MysqlRedis

LinuxMac OSX

FogJclouds

NginxThin

VagrantVirtualbox

SinatraRails

EC2Vmware

Event MachineNode.js

Craftsmanship

Technology

Social

Management

Financial

Communication

But there’s a *lot* more

WTF, do I need to learn all that?

Broader knowledge, will make your actions

more balanced

It’s NOT about devs taking over ops or ops

taking over devs.

It’s about collaboration

with people you trust.

Results:

• Take responsibility for results not just your action. Avoid , my job is only to ...

• Expect to finish the job

• Finish strong

Bootstrapping

Make a personal backlog• Plan an item you can really make happen

• No too big, make it feasible

• (Result)Define what you want to achieve

• (Competence)Learn what you need

• Do : trust comes if you make things happen

• Check the result

• Act on it

As a person

• I want to develop these capabilities

• I want to achieve results

• When I fail , I want to learn and improve!

As a manager, I want to

• help people develop these capabilities

• help people achieve results

• (support the people)

• help people fail and learn and improve!

(+) Trust =(+) Speed!(-) Cost!

2. Relational Trust

Reach out to others

Agile already did a great job

Get together

find alliesforward links

organize meetupsdistribute books

find people with real issueskindly ignore nay sayers (for now)

You can use technology to get the

conversation started

• Continuous Delivery

• Automation

• Scalability

• Performance

• Testing, Monitoring

• Fixing a problem

• Infrastructure as code

• <whatever>

“Seek to establish trust”Technology Trust by Testing, Monitoring

Human Trust by Behavior

13 Behaviors“trust is established through action”

• Needs to be balanced

• Too Little (Weakness)

• Sweet Spot (Strength)

• Too much (Weakness)

• f.i. talk straight vs demonstrate respect

#1 Talk Straight

• We really need this tool vs I want to learn this tool

• It needs to be finished by X (that leaves me some time)

• The user/my boss wants this now

• It’s urgent, it’s important

#2 Demonstrate Respect• we judge a person’s character, by how he

treats people who can’t help or hurt him

• little things , making things helpful

#3 Create Transparency

• no more Bob’s directory

• check in your code

• expose logfiles, config files ...

• visualize progress (Kanban, Burndown)

• share your information

• make results repeatable

#4 Right wrongs

• when you know there is a short cut, fix it and don’t leave it

• fix a bug when it occurs, write a test

• fix it, fix it all the way

“to know what is right and not to

do it is the worst cowardice” - Confucius

#5 Show loyalty

• give credits

• talk as if people were present

• represent others

#6 Deliver Results

• Clarify Results upfront

• your definition vs my definition

• Small steps = Validation test (Userstories)

#7 Get Better

• seek feedback (Retrospectives)

• learn from mistakes (5 whys)

• ask: what to continue, what to stop, what to start now!

• metrics (Neutral , not emotional)

• change the system (Systems Thinking)

“Illiterate are those who can not

learn, unlearn, relearn” - Alvin Toffler

#8 Confront Reality

• avoid 99% finished

• burn down chart

• only measure of progress is working software (in production)

#9 Clarify Expectations

• deadlines vs. cut corners (win-win or no deal), negotiate them (who vs trust)

• talk to devs, what do they expect

• talk to admins, what do they expect

• talk to customers

#10 Practice Accountability

• Accountability requires facing Truth

• yourself and others

• Don’t blame others , no pointing fingers

#11 Listen First“If there is any secret, it lies in the ability

to put yourself in the other person’s place”

- Henry Ford

#12 Keep Commitments

• don’t PR your way out

• make them careful

• group is committed to results (not manager)

• mgt supports team to keeping commitments

#13 Extend Trust• Make it an action

• here is the password

• here is the code

• everybody can check in and deployed to prod (with tests :)

remember it’s inclusive not exclusive!

As a person,

• Given my capabilities

• I want to practice these 13 behaviors

• Help others to practice these 13 behaviors

As a manager, I want to

encourage behavior that increases trust

(+) Trust =(+) Speed!(-) Cost!

“Don’t change culture, change behavior!”

Organizational Trust

• Redundancy

• Bureaucracy

• Politics

• Disengagements (quit and stay)

• Turnover (employee)

• Churn (stakeholders)

• Fraud

Eliminate Taxes

Interesting Books

Want to know more?

#devops on twitter & irchttp://devopsdays.orghttp://devopscafe.org

http://planetdevops.netdevops googlegroup

devops-toolchain googlegroup

QUESTIONS?

Thank you!

Patrick Debois - http://jedi.be/blog - @patrickdebois