w-jax 2017 keynote. it's a small world after all. how thinking small is changing software...

76
It’s a small world after all Sander Hoogendoorn ditisagile.nl Mentoring ▪ Consulting ▪ Training Agile ▪ Software architecture ▪ Code @aahoogendoorn

Upload: sander-hoogendoorn

Post on 23-Jan-2018

179 views

Category:

Software


0 download

TRANSCRIPT

Page 1: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

It’s a small worldafter allSander Hoogendoorn

ditisagile.nl

Mentoring ▪ Consulting ▪ TrainingAgile ▪ Software architecture ▪ Code

@aahoogendoorn

Page 2: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Sander HoogendoornIndependent dad, software architect, agile coach, programmer, speaker, writer

CTO ANVA

Former CTO insurance company

Former global agile thoughtleaderCapgemini

sanderhoogendoorn.com

aahoogendoorn

aahoogendoorn

[email protected]

Next

Page 3: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time
Page 4: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 7

Page 5: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 8

Page 6: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

The times they are

a-changingFaster than you think

Read more …

Hallo

Page 7: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Read more …

Moore’s LawThe number of transistors in a dense integrated circuit doubles approximately every two years.

Page 8: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 11

Page 9: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

The IBM Personal Computer 5150The simplest configuration has 16K on-board RAM and uses an audio cassette to load and save data. A floppy drive is optional. A hard drive was not supported. A system for home or school with a memory of 64K bytes, a single diskette drive and its own display, was priced around $3,000.

Buy now

Page 10: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Amazon EC2

Then, in 2006, Amazon launched its Elastic Compute cloud (EC2) as a

commercial web service that allows small companies and individuals to rent

computers on which to run their own computer applications.

Hallo

Page 11: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 15

Page 12: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 16

Page 13: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time
Page 14: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Where software goes wrong

HalloContinue

Page 15: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 22

Add another feature And never look back

Page 16: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 23

Page 17: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 24

Page 18: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 25

Page 19: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Too much dependencies will kill you every time

Continue

Page 20: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Read more …

Welcome to the world of small moveable parts

Page 21: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Evenshortercycles

Beyond agileand Scrum

Minimalviable

productsStop doing

projects

Even smallerteams

Autonomous andself-organising

Even smaller

componentsMicroservices

Page 22: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Thecontinuous

cultureEverything willbe continuous

Page 23: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Less is moreDeliver minimal viable products, not projects

Submit

Page 24: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 44

Complex problems require continuous exploration

Page 25: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 45

The iron triangle of project management

Page 26: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 46

Stop planning

Page 27: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Read more …

Minimal viable productsThink small, deploy early and frequently

Page 28: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Roadmaps over plansWhile there is value in the items on the right, we value the items on the left more

Continue

Page 29: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 50

Do we need this

NOW?

Page 30: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 51

Less estimates

Page 31: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time
Page 32: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Even shorter cyclesAgile beyond Scrum

Continue

Page 33: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 54

What does agile mean to you?

Page 34: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 55

Does agile scale? Is large scale agile just multiple copies of Scrum?

Page 35: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 56

Or does large scale agile require a large scale process?

Page 36: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 57

Let’s all copy Spotify!

You are not Spotify!(unless you actually are Spotify)

Page 37: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Read more …

Does agile scale?If you don’t succeed at agile with a 5-person team, what makes you think you’ll succeed at enterprise level?

Page 38: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 59

The red sprint anti-pattern

Page 39: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Stop sprinting

Wouldn’t it be nice?

Next

Page 40: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 62

To satisfy the customer through early and continuous delivery of valuable softwareAgile manifesto

Page 41: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 63

How often do you release to production?

Page 42: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 64

Continuous delivery An approach in which teams ensure that every change to the system is releasable, and that we can release any version at the push of a button.

Aimed to make releases boring, so we can deliver frequently and get fast feedback on what users care about.Jez Humble

Page 43: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 65

Continuous flow

Page 44: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 66

Page 45: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 67

Delivery pipelines Fully automated deployment machinery

Page 46: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 68

Automated testing delivers continuous feedback Fail fast, fail often, fail forward

Page 47: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 71

Immutable infrastructure Pets versus cattle

Page 48: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time
Page 49: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time
Page 50: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Even smaller teamsMore …

Page 51: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 75

Smaller teams Do we mean 7 plus or minus 2?

Page 52: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 76

Autonomous teams

Page 53: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 78

Mandatory fun Maybe we’re overdoing it a bit?

Page 54: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 79

Page 55: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 80

Page 56: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Less rules Amsterdam, Alexanderplein Continue

Page 57: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Traditional teams Agile teams Micro-teams

Page 58: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Team is a pool of people with all the right skills

Often with a ‘technical leader’

Single backlog of small work items

Kanban style board

Small teams form and disband dynamically to implement epics

Often two to three members

Let the team decide

Product owner becomes an analyst

As little estimates as possible

Stand-ups with whole team

Retrospective on request

Micro-teams

Next

Page 59: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Continue

Allow teams to learncontinuously

Page 60: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time
Page 61: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

Even smaller componentsThe world of microservices

Continue

Page 62: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 102

Monoliths Hard to deliver. Harder to test. Impossible to maintain. But…

Page 63: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time
Page 64: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 104

Lunde’s LawGiven sufficient time any group of programmers will decide to rewrite the code.Ron Lunde

Page 65: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 105

MicroservicesIn short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.

These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.

Martin Fowler

Page 66: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 107

Monoliths versus microservices?

MÖNÖLITMICRØ

Page 67: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 108

AWS Lambda & Azure Functions Even smaller

Page 68: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 109

Distributed systemsOh and by the way… Doing microservices (or serverless computing) means that you are building distributed systems

Me

Page 69: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time
Page 70: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 132

@aahoogendoorn | www.ditisagile.nl

In retrospectiveSome final thoughts

Page 71: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 133

Complex problems require continuous exploration

Page 72: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 134

Beyond the point of no return

Page 73: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time
Page 74: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

The continuous

culture

Page 75: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 137

Page 76: W-JAX 2017 Keynote. It's a small world after all. How thinking small is changing software development big time

@aahoogendoorn | www.ditisagile.nlIt’s a small word after all 139

@aahoogendoorn | www.ditisagile.nl

References and questions

www.sanderhoogendoorn.com

www.ditisagile.nl

aahoogendoorn

aahoogendoorn

[email protected]