agile infrastructure velocity 09

Post on 13-Jan-2015

4.361 Views

Category:

Business

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides from my talk at velocity

TRANSCRIPT

Agile Infrastructure

A Story in Three Acts

Velocity 2009

Preface

Andrew ClayShafer

Andrew ClayShafer

A Villager...

Andrew ClayShafer

A Villager...

Programmer

Andrew ClayShafer

A Villager...

Programmer

Love working for startups

Andrew ClayShafer

A Villager...

Programmer

Love working for startups

‘Agile’ and stuff

Andrew ClayShafer

A Villager...

Reductive Labs

Programmer

Love working for startups

‘Agile’ and stuff

Andrew ClayShafer

A Villager...

Reductive Labs

Programmer

Love working for startups

People behind Puppet

‘Agile’ and stuff

Andrew ClayShafer

A Villager...

Reductive Labs

Programmer

Love working for startups

People behind Puppet

The rest is complicated...

‘Agile’ and stuff

50% Agile

50% Infrastructure

50% Theory

50% Practice

50% History

50% Future

50% Rant

50% Hope

100% My Perspective

100% My PerspectiveYour Mileage May Vary...

Thanks

ThanksAlistair Cockburn

Thanks

Brian MarickAlistair Cockburn

Thanks

Brian MarickIsrael Gat

Alistair Cockburn

Thanks

Brian MarickIsrael Gat

Zhon Johansen

Alistair Cockburn

Thanks

Brian MarickIsrael Gat

Zhon JohansenKay Johansen

Alistair Cockburn

Thanks

Brian MarickIsrael Gat

Zhon JohansenKay Johansen

Salt Lake Agile Roundtable

Alistair Cockburn

Thanks

ThanksLuke Kanies

ThanksLuke KaniesTeyo Tyree

ThanksLuke KaniesTeyo TyreePaul Nasrat

ThanksLuke KaniesTeyo TyreePaul Nasrat

James Turnbull

ThanksLuke KaniesTeyo TyreePaul Nasrat

James TurnbullPaul Lathrop

ThanksLuke KaniesTeyo TyreePaul Nasrat

James TurnbullPaul LathropAdam Jacob

ThanksLuke KaniesTeyo TyreePaul Nasrat

James TurnbullPaul LathropAdam Jacob

Puppet Community

Act IIn The Beginning...

What Is Agile?

Manifesto, 4 Values, 12 principles...

Manifesto, 4 Values, 12 principles...

Manifesto, 4 Values, 12 principles...

Manifesto, 4 Values, 12 principles...

Manifesto, 4 Values, 12 principles...

Manifesto, 4 Values, 12 principles...

Manifesto, 4 Values, 12 principles...

Manifesto, 4 Values, 12 principles...

Manifesto, 4 Values, 12 principles...

Manifesto for Agile Software DevelopmentWe are uncovering better ways of developingsoftware by doing it and helping others do it.

Through this work we have come to value:Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items onthe right, we value the items on the left more.

Principles

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Business people and developers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Working software is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Continuous attention to technical excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

(This is the sauce...)

What Is Agile?

A marketing document

Act IIManifestations

BUT What Is Agile???

BUT What Is Agile???

PLANNING

BUT What Is Agile???

PLANNING ENGINEERING

BUT What Is Agile???

PLANNING ENGINEERING

DEVELOPERS

BUT What Is Agile???

PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

BUT What Is Agile???

PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

TESTERS

BUT What Is Agile???

PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

EXECUTIVES

TESTERS

BUT What Is Agile???

PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

SYSTEM ADMINISTRATORSEXECUTIVES

TESTERS

BUT What Is Agile???

PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

SYSTEM ADMINISTRATORSDATABASE ADMINISTRATORS

EXECUTIVES

TESTERS

BUT What Is Agile???

PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

SYSTEM ADMINISTRATORSDATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERS

BUT What Is Agile???

PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

SYSTEM ADMINISTRATORSDATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERS

DESIGNERS

BUT What Is Agile???

PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

SYSTEM ADMINISTRATORSDATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERS

DESIGNERSUSABILITY EXPERTS

BUT What Is Agile???

PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

CIRCLE OF HAPPINESS

SYSTEM ADMINISTRATORSDATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERS

DESIGNERSUSABILITY EXPERTS

BUT What Is Agile???

PLANNING ENGINEERING

DEVELOPERSPRODUCTOWNERS

CIRCLE OF HAPPINESS

SYSTEM ADMINISTRATORSDATABASE ADMINISTRATORS

NETWORK ENGINEERS

EXECUTIVES

TESTERS

DESIGNERSUSABILITY EXPERTS

Pair Programming

Pair Programming ContinuousIntegration

Pair Programming

Planning Poker

ContinuousIntegration

Pair Programming

Planning Poker

ContinuousIntegration

Refactor

Pair Programming

Planning Poker

ContinuousIntegration

Refactor

Simple Design(YAGNI)

Pair Programming

Planning Poker

Test Driven Development

ContinuousIntegration

Refactor

Simple Design(YAGNI)

Pair Programming

Planning Poker

Test Driven Development

ContinuousIntegration

Refactor

Simple Design(YAGNI) Sustainable Pace

Pair Programming

Planning Poker

Test Driven Development

ContinuousIntegration

Refactor

Small Releases

Simple Design(YAGNI) Sustainable Pace

Pair Programming

Planning Poker

Test Driven Development

ContinuousIntegration

Refactor

Small Releases

Simple Design(YAGNI)

Shared Metaphor

Sustainable Pace

Pair Programming

Planning Poker

Test Driven Development

ContinuousIntegration

Refactor

Small Releases

Coding Standards

Simple Design(YAGNI)

Shared Metaphor

Sustainable Pace

Pair Programming

Planning Poker

Test Driven Development

Onsite ‘Customer’

ContinuousIntegration

Refactor

Small Releases

Coding Standards

Simple Design(YAGNI)

Shared Metaphor

Sustainable Pace

Pair Programming

Planning Poker

Test Driven Development

Onsite ‘Customer’

ContinuousIntegration

Refactor

Small Releases

Coding Standards

Collective Ownership

Simple Design(YAGNI)

Shared Metaphor

Sustainable Pace

Dogma Sucks

Dogma SucksDo not seek to follow in the footsteps of

the wise. Seek what they sought. --松尾 芭蕉

The Tao that can be spoken is not the eternal Tao

Hold, Break, Leave

You are a special snow flake...

Just like everybody else...

Act IIIThe Future is Now

the way software is delivered has changed a lot...

the way software is delivered has changed a lot...

...AND THINGS ARE CHANGING FAST RIGHT NOW .

The End of Shrink Wrap

The End of Shrink Wrap

The infrastructure is the application.

The End of Shrink Wrap

The infrastructure is the application.

The application is the infrastructure.

The End of Shrink Wrap

The infrastructure is the application.

The application is the infrastructure.

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

Infrastructure is Code!!!

Infrastructure is Code!!!Give me an API or give me DEATH!

Infrastructure is Code!!!Give me an API or give me DEATH!

Please?

Infrastructure is Code!!!Give me an API or give me DEATH!

Please?Do it for the children...

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

DEVELOPERS OPERATIONS

BOUNDARY OBJECTS

DEVELOPERS OPERATIONS

BOUNDARY OBJECTS

COMMUNITY OF INTEREST

DEVELOPERS OPERATIONS

BOUNDARY OBJECTS

COMMUNITY OF INTEREST

DEVELOPERS OPERATIONS

BOUNDARY OBJECTS

COMMUNITY OF INTEREST

WWW .VISIBLEWORKINGS.COM/ANALOGYFEST/MARICK-BOUNDARY-OBJECTS.PDF

Lack of awareness of other disciplines is bad...

Lack of awareness of other disciplines is bad...

Leads to over engineering...

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

Tools, knowledge, experience, discipline

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

Automated InfrastructureTools, knowledge, experience, discipline

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

Version Control Everything!

Automated InfrastructureTools, knowledge, experience, discipline

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

CollaborateVersion Control Everything!

Automated InfrastructureTools, knowledge, experience, discipline

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

CollaborateVersion Control Everything!

Automated InfrastructureTools, knowledge, experience, discipline

Shared Version Control

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

CollaborateVersion Control Everything!

Don’t do work you don’t have to...

Automated InfrastructureTools, knowledge, experience, discipline

Shared Version Control

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

CollaborateVersion Control Everything!

Monitor EverythingDon’t do work you don’t have to...

Automated InfrastructureTools, knowledge, experience, discipline

Shared Version Control

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

CollaborateVersion Control Everything!

Monitor EverythingDon’t do work you don’t have to...

Don’t be fingerpointy

Automated InfrastructureTools, knowledge, experience, discipline

Shared Version Control

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

CollaborateVersion Control Everything!

Monitor EverythingDon’t do work you don’t have to...

Don’t be fingerpointy

Automated InfrastructureTools, knowledge, experience, discipline

Shared Version Control

Always Ship Trunk

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

CollaborateVersion Control Everything!

Monitor EverythingDon’t do work you don’t have to...

Don’t be fingerpointy

Don’t Stereotype

Automated InfrastructureTools, knowledge, experience, discipline

Shared Version Control

Always Ship Trunk

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

CollaborateVersion Control Everything!

Monitor EverythingDon’t do work you don’t have to...

Don’t be fingerpointy

Don’t Stereotype

Automated InfrastructureTools, knowledge, experience, discipline

Shared Version Control

Always Ship Trunk

Shared Metrics

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

CollaborateVersion Control Everything!

Monitor EverythingDon’t do work you don’t have to...

Don’t be fingerpointy

Don’t Stereotype

The business requires change

Automated InfrastructureTools, knowledge, experience, discipline

Shared Version Control

Always Ship Trunk

Shared Metrics

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

CollaborateVersion Control Everything!

Monitor EverythingDon’t do work you don’t have to...

Don’t be fingerpointy

Don’t Stereotype

The business requires changeLower risk through tools and culture

Automated InfrastructureTools, knowledge, experience, discipline

Shared Version Control

Always Ship Trunk

Shared Metrics

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

CollaborateVersion Control Everything!

Monitor EverythingDon’t do work you don’t have to...

Don’t be fingerpointy

Don’t Stereotype

The business requires changeLower risk through tools and culture

Automated InfrastructureTools, knowledge, experience, discipline

Shared Version Control

One Step Build and Deploy

Always Ship Trunk

Shared Metrics

Lack of awareness of other disciplines is bad...

Leads to catastrophic failures...Leads to over engineering...

CollaborateVersion Control Everything!

Monitor EverythingDon’t do work you don’t have to...

Don’t be fingerpointy

Don’t Stereotype

Ops job is to enable the business

The business requires changeLower risk through tools and culture

Automated InfrastructureTools, knowledge, experience, discipline

Shared Version Control

One Step Build and Deploy

Always Ship Trunk

Shared Metrics

Newsflash:Everyones job is to enable

the business...

What are the Best Practices?

What are the Best Practices?

Robert Mecklenburg

What are the Best Practices?

Robert Mecklenburg

What are the Best Practices?

Robert Mecklenburg

How about ‘better than we did yesterday’ practices?

What are the Best Practices?

Robert Mecklenburg

How about ‘better than we did yesterday’ practices?

Or ‘seems like a good idea right now’ practices?

David Christiansenhttp://www.techdarkside.com/

David Christiansenhttp://www.techdarkside.com/

We believe Agile software development is being dumbed down, commodified, and is losing its spirit.

We seek to replace the current name with one having two virtues: first, that it capture more exactly the attitudes originally behind Agile; second, that it

be obscure enough that no one will assume they already know what it means and that—amazingly

enough!—they are already doing it.

arxta.net

Agile Manifesto’sMissing Values

Skill

Discipline

Ease

Joy

Heretic

AR⊗TAArtisanal Retro-Futurism

crossed withTeam-Scale Anarcho-Syndicalism

AR⊗TAArtisanal Retro-Futurism

crossed withTeam-Scale Anarcho-Syndicalism

care about the cheese

AR⊗TAArtisanal Retro-Futurism

crossed withTeam-Scale Anarcho-Syndicalism

care about the cheesea genuine fascination with technology

AR⊗TAArtisanal Retro-Futurism

crossed withTeam-Scale Anarcho-Syndicalism

care about the cheesea genuine fascination with technology

focus on the team

AR⊗TAArtisanal Retro-Futurism

crossed withTeam-Scale Anarcho-Syndicalism

care about the cheesea genuine fascination with technology

emphasis on direct actionfocus on the team

AR⊗TAArtisanal Retro-Futurism

crossed withTeam-Scale Anarcho-Syndicalism

care about the cheesea genuine fascination with technology

emphasis on direct actionfocus on the team

AR⊗TAArtisanal Retro-Futurism

crossed withTeam-Scale Anarcho-Syndicalism

care about the cheesea genuine fascination with technology

emphasis on direct actionfocus on the team

ArtisanalRetro-Futurism

ArtisanalRetro-Futurism

Team-ScaleAnarcho-Syndicalism

Awesome Sauce!

ArtisanalRetro-Futurism

Team-ScaleAnarcho-Syndicalism

Awesome Sauce!

ArtisanalRetro-Futurism

Team-ScaleAnarcho-Syndicalism

Awesome Sauce!

ArtisanalRetro-Futurism

Team-ScaleAnarcho-Syndicalism

My Advice...

My Advice...Steal everything...

My Advice...Steal everything...

But don’t forget who you are...

My Advice...Steal everything...

But don’t forget who you are...

Plenty of good ideas to go around...

THE MOST IMPORTANT STATEMENT FROM THE

MANIFESTO...

THE MOST IMPORTANT STATEMENT FROM THE

MANIFESTO......ISN’T THE VALUES...

THE MOST IMPORTANT STATEMENT FROM THE

MANIFESTO...

...OR THE PRINCIPLES...

...ISN’T THE VALUES...

‘We are uncovering better ways of developing software by doing

it and helping others do it.’

‘We are uncovering better ways of developing software by doing

it and helping others do it.’

‘We are uncovering better ways of developing software by doing

it and helping others do it.’

Keep Uncovering

Keep UncoveringKeep Helping Each Other

andrew@reductivelabs@littleidea

Questions?andrew@reductivelabs

@littleidea

top related