134
How to do Kick-Ass Software Development

How To Do Kick-Ass Software Development, by Sven Peters

Embed Size (px)

Citation preview

Page 1: How To Do Kick-Ass Software Development, by Sven Peters

How to do

Kick-Ass Software Development

Page 2: How To Do Kick-Ass Software Development, by Sven Peters

Who expects to see some code?

Page 3: How To Do Kick-Ass Software Development, by Sven Peters

System.out.println("Sorry, you may leave now");

Page 4: How To Do Kick-Ass Software Development, by Sven Peters

Who expects to learn a new methodology?

Page 5: How To Do Kick-Ass Software Development, by Sven Peters

There is no Kick-Ass manifesto!

...and no certification

Page 6: How To Do Kick-Ass Software Development, by Sven Peters

Who just wants to kick ass?

Page 7: How To Do Kick-Ass Software Development, by Sven Peters

THIS IS YOUR TALK

Yes, that's me ;)

Page 8: How To Do Kick-Ass Software Development, by Sven Peters

How to do kick ass development?

Page 9: How To Do Kick-Ass Software Development, by Sven Peters

Use Java

Page 10: How To Do Kick-Ass Software Development, by Sven Peters

Use Java

... is not so important

Page 11: How To Do Kick-Ass Software Development, by Sven Peters

Sven PetersAtlassian Ambassador

@svenpetsvenpet.com

Page 12: How To Do Kick-Ass Software Development, by Sven Peters

be#er software

ha%y develope&

le' overhead

ha%y customer

faster development Agile

Page 13: How To Do Kick-Ass Software Development, by Sven Peters

Agile2013 ?

What's the state of

Page 14: How To Do Kick-Ass Software Development, by Sven Peters
Page 15: How To Do Kick-Ass Software Development, by Sven Peters

We are uncovering better the only ways of developingsoftware by doing it and helping teaching others do it.

Through this work we have come to value:Individuals and interactions over and not processes and tools

Working software over and not comprehensive documentationCustomer collaboration over and not contract negotiation

Responding to change over and not following a planThat is, while since there is no value in the items

on the right, we value only the items on the left more.

The Dark Manifesto of Agile Software Development

Page 16: How To Do Kick-Ass Software Development, by Sven Peters

Programming, Motherfucker

Do you speak it?

Page 17: How To Do Kick-Ass Software Development, by Sven Peters

AgileIs

dead?

Page 18: How To Do Kick-Ass Software Development, by Sven Peters

The Gartner Hype Curve

Agile?

Page 19: How To Do Kick-Ass Software Development, by Sven Peters

some smart people! GuruWe n)d

Page 20: How To Do Kick-Ass Software Development, by Sven Peters

and kick-a' again

Stop following the next guru

Page 21: How To Do Kick-Ass Software Development, by Sven Peters

adding processes helps

legacy teams think...

old decisions still apply

changing stuff is too complicated

ONE WAY

Page 22: How To Do Kick-Ass Software Development, by Sven Peters

and kick-a' again

Let's improve!

Page 23: How To Do Kick-Ass Software Development, by Sven Peters

legacy teams think... NO WAY

I don't give a #@!%

Page 24: How To Do Kick-Ass Software Development, by Sven Peters

Deliver Kick-Ass Software

Kick-Ass Automation

One Kick-Ass Team

Kick-Ass Collaboration

A' Kicking Topics

Page 25: How To Do Kick-Ass Software Development, by Sven Peters

DeliverKick-Ass Software

Page 26: How To Do Kick-Ass Software Development, by Sven Peters

Building the right thing

How do we know?before

Microsoft Kin

Page 27: How To Do Kick-Ass Software Development, by Sven Peters

Fake ittil you

Make it

Page 28: How To Do Kick-Ass Software Development, by Sven Peters

Sp)ch-to-Text Experiment

Page 29: How To Do Kick-Ass Software Development, by Sven Peters

even one step before that....

PaperPrototypes

Page 30: How To Do Kick-Ass Software Development, by Sven Peters
Page 31: How To Do Kick-Ass Software Development, by Sven Peters

SoftwareConstruction Area -

Improving Softw

are

Page 32: How To Do Kick-Ass Software Development, by Sven Peters

Feedback Generate a kick-a'

Experience

Page 33: How To Do Kick-Ass Software Development, by Sven Peters

Make it simple

Easy to find

Fast to submit

Page 34: How To Do Kick-Ass Software Development, by Sven Peters

GOT FEEDBACK?

Page 35: How To Do Kick-Ass Software Development, by Sven Peters

GOT FEEDBACK?

Page 36: How To Do Kick-Ass Software Development, by Sven Peters

GOT FEEDBACK?

Got Feedback?

Submit Cancel

What do you like? * Good tools, but this talk doesn't kick ass at all!

What needs to be improved?*

Add more jokes!

Name

BrowseUpload a screenshot

Email

Freddy Eedback

[email protected]

Rate the page * Awesome HorribleGood Meh! Bad

Page 37: How To Do Kick-Ass Software Development, by Sven Peters

GOT FEEDBACK?

Got Feedback?

Submit Cancel

What do you like? * Good tools, but this talk doesn't kick ass at all!

What needs to be improved?*

Add more jokes!

Name

BrowseUpload a screenshot

Email

Freddy Eedback

[email protected]

Rate the page * Awesome HorribleGood Meh! Bad

Make it simple

Easy to find

Fast to submit

Page 38: How To Do Kick-Ass Software Development, by Sven Peters

Protectyour Developers

Page 39: How To Do Kick-Ass Software Development, by Sven Peters

The Sh*t umbrella

100 developer

425 mi,ion user

Page 40: How To Do Kick-Ass Software Development, by Sven Peters

We're not doing

Page 41: How To Do Kick-Ass Software Development, by Sven Peters

EveryoneOn The

Front Line

Page 42: How To Do Kick-Ass Software Development, by Sven Peters

Close the Loop

F)dback

and get pers nal

Page 43: How To Do Kick-Ass Software Development, by Sven Peters

Developerson

Support

Page 44: How To Do Kick-Ass Software Development, by Sven Peters

Care about your customers!Have an effective feedback loop

Keep improving!

Page 45: How To Do Kick-Ass Software Development, by Sven Peters

Kick-Ass TeamOne

Page 46: How To Do Kick-Ass Software Development, by Sven Peters

Developer

Different RolesResponsibilities

Tester

Page 47: How To Do Kick-Ass Software Development, by Sven Peters

Developer Tester

The Problems

Bottlenecks : Accountability : Scalability

Page 48: How To Do Kick-Ass Software Development, by Sven Peters

DoT

Developeron

Test

Page 49: How To Do Kick-Ass Software Development, by Sven Peters

So the develope& are doing a, the work?

Page 50: How To Do Kick-Ass Software Development, by Sven Peters

Qual·i·ty As·sis·tance [kwol-i-tee] [uh-sis-tuh ns]

Quality is everybody's responsibility. QA employees help and train developers to become better tester, testing the more complicated stuff, creating test data, investigating in new test tools and working on test strategies.

QA

Page 51: How To Do Kick-Ass Software Development, by Sven Peters

6 Tipsfor kick-ass DoTing

Page 52: How To Do Kick-Ass Software Development, by Sven Peters

1. Training

Page 53: How To Do Kick-Ass Software Development, by Sven Peters

2. Pairing

Page 54: How To Do Kick-Ass Software Development, by Sven Peters

3. Blitz Test

Page 55: How To Do Kick-Ass Software Development, by Sven Peters

4. Test Recipe*

* advanced doting

Page 56: How To Do Kick-Ass Software Development, by Sven Peters

5. Split Sessions*

* advanced doting

Page 57: How To Do Kick-Ass Software Development, by Sven Peters

6. Bug Hunter*

* advanced doting

Page 58: How To Do Kick-Ass Software Development, by Sven Peters

Qualityis everybody's responsibility

Page 59: How To Do Kick-Ass Software Development, by Sven Peters

DesignDevelopers

are doing

Page 60: How To Do Kick-Ass Software Development, by Sven Peters

DesignDevelopers

are doing

Page 61: How To Do Kick-Ass Software Development, by Sven Peters

should we have designers?Why

Page 62: How To Do Kick-Ass Software Development, by Sven Peters

Designers?Scaling

Designer Designer ? ?

Page 63: How To Do Kick-Ass Software Development, by Sven Peters

Designer Designer Developer Developer

Developers FTW!UseDesigners?Scaling

Page 64: How To Do Kick-Ass Software Development, by Sven Peters

Our developers need someDesign guidance!

Page 65: How To Do Kick-Ass Software Development, by Sven Peters

Design Guidelines

T.ls to test designJust a few controlsSimple rules

https://developer.atlassian.com/design/

Dev Speed

Kick-A'

Page 66: How To Do Kick-Ass Software Development, by Sven Peters

Design Workshopfor Developers

Page 67: How To Do Kick-Ass Software Development, by Sven Peters

Designers

Developersare

Page 68: How To Do Kick-Ass Software Development, by Sven Peters

DevelopersDesigners

removing friction

Page 69: How To Do Kick-Ass Software Development, by Sven Peters

Designers

Developersareare

Designer in code

Page 70: How To Do Kick-Ass Software Development, by Sven Peters

Department barriers slows you down! Work together as one team!

Keep improving!

Page 71: How To Do Kick-Ass Software Development, by Sven Peters

Co,aborationKick-Ass

Page 72: How To Do Kick-Ass Software Development, by Sven Peters

Lonesome Cowboy Coder

Page 73: How To Do Kick-Ass Software Development, by Sven Peters

The trouble startswith the team

Page 74: How To Do Kick-Ass Software Development, by Sven Peters
Page 75: How To Do Kick-Ass Software Development, by Sven Peters
Page 76: How To Do Kick-Ass Software Development, by Sven Peters

Traffic Rulesare protecting us from accidents

Page 77: How To Do Kick-Ass Software Development, by Sven Peters

Development Rulesare protecting us from making mistakes

Page 78: How To Do Kick-Ass Software Development, by Sven Peters

Process Process Process Process Process Process Process Process Process

Process Process Process Process Process Process Process Process

Process Process Process Process Process Process Process Process Process

Process Process Process Process Process Process Process Process ProcessProcess Process Process Process Process Process Process Process Process

Process Process Process Process Process Process Process Process Process

Process Process Process Process Process Process Process Process Process

Process Process Process Process Process Process Process Process ProcessProcess Process Process Process Process Process Process Process Process

Process Process Process Process Process Process Process Process Process

Process Process Process Process Process Process Process Process Process

Process Process Process Process Process Process Process Process Process

Page 79: How To Do Kick-Ass Software Development, by Sven Peters

Fast + SimpleWorkflowFor Para,el Coding

Coding

Page 80: How To Do Kick-Ass Software Development, by Sven Peters

A branchfor every task

Page 81: How To Do Kick-Ass Software Development, by Sven Peters

Brancheshave short lives

average 2 days

Page 82: How To Do Kick-Ass Software Development, by Sven Peters

we use

Pu, Requestswhat do you

think?

Page 83: How To Do Kick-Ass Software Development, by Sven Peters

learn

better quality

feel better

blame

Why do you want to discuss your code changes?

Page 84: How To Do Kick-Ass Software Development, by Sven Peters

fast a%rovals

moving fast

2

Page 85: How To Do Kick-Ass Software Development, by Sven Peters

CollocatedTeams

we prefer

Page 86: How To Do Kick-Ass Software Development, by Sven Peters

It's not always possible

the truth is

Page 87: How To Do Kick-Ass Software Development, by Sven Peters

Wheredo you work best?

... in the office?

... in the coff) bar next d.r?

...on your couch at home?

it depends

Page 88: How To Do Kick-Ass Software Development, by Sven Peters

do you communicate How

effectively?

Page 89: How To Do Kick-Ass Software Development, by Sven Peters

Emails

asynchronous

offline

one to many

add people

Page 90: How To Do Kick-Ass Software Development, by Sven Peters

Are youcrazy?

Page 91: How To Do Kick-Ass Software Development, by Sven Peters

too much

Page 92: How To Do Kick-Ass Software Development, by Sven Peters

Emails

often t/ long

are bad for conve0ations

lots of spam

n)ds an action

Problems

Page 93: How To Do Kick-Ass Software Development, by Sven Peters

Emails

often t/ long

are bad for conve0ations

lots of spam

n)ds an action

Problems

Page 94: How To Do Kick-Ass Software Development, by Sven Peters

ChatWho uses ?

Page 95: How To Do Kick-Ass Software Development, by Sven Peters

Chat R.ms

Confluence Developer

Design Team

Enterprise Discussions

Beer Drinkers

Just the conversations you need to kick ass

Page 96: How To Do Kick-Ass Software Development, by Sven Peters

Chat is great for remote conversations...and local!

People can stay in the zone

Page 97: How To Do Kick-Ass Software Development, by Sven Peters

Chat is great for different timezones

The chat records all conversations that happened during the night

Page 98: How To Do Kick-Ass Software Development, by Sven Peters

Chat can pull people into the conversation

Just @mention someone

with ease

Page 99: How To Do Kick-Ass Software Development, by Sven Peters

Choose your tools wisely

Page 100: How To Do Kick-Ass Software Development, by Sven Peters
Page 101: How To Do Kick-Ass Software Development, by Sven Peters
Page 102: How To Do Kick-Ass Software Development, by Sven Peters

We built portals!

Mac mini

TV

Camera

Page 103: How To Do Kick-Ass Software Development, by Sven Peters

Remove collaboration friction.Easy workflows -> fast development

Keep improving!

Page 104: How To Do Kick-Ass Software Development, by Sven Peters

AutomationKick-Ass

Page 105: How To Do Kick-Ass Software Development, by Sven Peters

We're helping people to be faster

by automating their work

Page 106: How To Do Kick-Ass Software Development, by Sven Peters

How much time do you spend a week

to automate your software development?

Page 107: How To Do Kick-Ass Software Development, by Sven Peters

Who is doing continuous integration?

Page 108: How To Do Kick-Ass Software Development, by Sven Peters

Who is doing kick-ass continuous integration?

Page 109: How To Do Kick-Ass Software Development, by Sven Peters

Our builds t.k to long

were t/ complicated

were unstable

mi1ed a conceptsucked

Page 110: How To Do Kick-Ass Software Development, by Sven Peters

Fail Fast

Page 111: How To Do Kick-Ass Software Development, by Sven Peters

4 things how to tame monster buildsand kick-ass again

Page 112: How To Do Kick-Ass Software Development, by Sven Peters

1. Pass the artifact

Page 113: How To Do Kick-Ass Software Development, by Sven Peters

2. Parallelize Tests

Page 114: How To Do Kick-Ass Software Development, by Sven Peters

3. Have a build strategy

building + unit & UI testsevery check in

platform testsle' frequent (every hour)

performance testsnightly builds

Page 115: How To Do Kick-Ass Software Development, by Sven Peters

4. Look at your stats!Data Porn

Page 116: How To Do Kick-Ass Software Development, by Sven Peters

Faster builds >>

less task switching

Care about automation

Page 117: How To Do Kick-Ass Software Development, by Sven Peters

More automationawesomene'!

Page 118: How To Do Kick-Ass Software Development, by Sven Peters

Flakey Test

Handle with care

This side up

Flakey Test Detector

Page 119: How To Do Kick-Ass Software Development, by Sven Peters

Wa,boards

Page 120: How To Do Kick-Ass Software Development, by Sven Peters

Freud Bot

Page 121: How To Do Kick-Ass Software Development, by Sven Peters

Use your skills to automate things!

Keep improving!

Page 122: How To Do Kick-Ass Software Development, by Sven Peters

Release Bu#onsingle push deployment

Page 123: How To Do Kick-Ass Software Development, by Sven Peters

Deliver Kick-Ass Software

Kick-Ass Automation

One Kick-Ass Team

Kick-Ass Collaboration

Page 124: How To Do Kick-Ass Software Development, by Sven Peters

Kick-Ass Software Development

Page 125: How To Do Kick-Ass Software Development, by Sven Peters

Kick-Ass Software Development

Kick-Ass dev speed

Kick-Ass team

Kick-Ass quality

Kick-Ass customers

Kick-Ass scale

Page 126: How To Do Kick-Ass Software Development, by Sven Peters

Kick-Ass Software Development

Kick-Ass dev speed

Kick-Ass team

Kick-Ass quality

Kick-Ass customers

Kick-Ass scale

Page 127: How To Do Kick-Ass Software Development, by Sven Peters

AgileIs

dead?

Page 128: How To Do Kick-Ass Software Development, by Sven Peters

Be exce,entin everything you do

Page 129: How To Do Kick-Ass Software Development, by Sven Peters

Manage& are humans, too!

easier

harder

Page 130: How To Do Kick-Ass Software Development, by Sven Peters

Share success & failures

Page 131: How To Do Kick-Ass Software Development, by Sven Peters

Build a kick-ass culture

Page 132: How To Do Kick-Ass Software Development, by Sven Peters

Step out of your comfort zone

and be more awesome

Page 133: How To Do Kick-Ass Software Development, by Sven Peters

Did you kick ass

today?

Page 134: How To Do Kick-Ass Software Development, by Sven Peters

Thanks!

@svenpetsvenpet.com/slides