118
Kick-Ass Software Development Sven Peters, Atlassian @svenpet How To Do

JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Kick-Ass Software DevelopmentSven Peters, Atlassian@svenpet

How To Do

Page 2: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

How to do

Kick-Ass Software Development

@svenpet

Page 3: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Who expects to see some code?

Page 4: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

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

Page 5: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Who expects to learn a new methodology?

Page 6: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

There is no Kick-Ass manifesto!

...and no certification

Page 7: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Who just wants to kick ass?

Page 8: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

THIS IS YOUR TALK

Yes, that's me ;)

Page 9: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

How to do kick ass development?

Page 10: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Use Java

Page 11: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Use Java

... is not so important

Page 12: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Sven PetersAtlassian Ambassador

@svenpetsvenpet.com

Page 13: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

be#er software

ha%y develope&

le' overhead

ha%y customer

faster development Agile

Page 14: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Agile2013 ?

What's the state of

Page 15: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
Page 16: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

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 17: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Programming, Motherfucker

Do you speak it?

Page 18: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

AgileIs

dead?

Page 19: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

The Gartner Hype Curve

Agile?

Page 20: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

some smart people! GuruWe n)d

Page 21: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

and kick-a' again

Stop following the next guru

Page 22: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Deliver Kick-Ass Software

Kick-Ass Automation

One Kick-Ass Team

Kick-Ass Collaboration

A' Kicking Topics

Page 23: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

DeliverKick-Ass Software

Page 24: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Building the right thing

How do we know?before

Microsoft Kin

Page 25: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Fake ittil you

Make it

Page 26: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Sp)ch-to-Text Experiment

Page 27: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

even one step before that....

PaperPrototypes

Page 28: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
Page 29: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

SoftwareConstruction Area -

Improving Softw

are

Page 30: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Feedback Generate a kick-a'

Experience

Page 31: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Make it simple

Easy to find

Fast to submit

Page 32: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

GOT FEEDBACK?

Page 33: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

GOT FEEDBACK?

Page 34: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

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 35: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

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 36: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Protectyour Developers

Page 37: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

The Sh*t umbrella

100 developer

425 mi,ion user

Page 38: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

We're not doing

Page 39: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

EveryoneOn The

Front Line

Page 40: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Close the Loop

F)dback

and get pers nal

Page 41: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Developerson

Support

Page 42: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Care about your customers!Have an effective feedback loop

Keep improving!

Page 43: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Kick-Ass TeamOne

Page 44: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Developer

Different RolesResponsibilities

Tester

Page 45: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Developer Tester

The Problems

Bottlenecks : Accountability : Scalability

Page 46: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

DoT

Developeron

Test

Page 47: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

So the develope& are doing a, the work?

Page 48: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

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 49: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

6 Tipsfor kick-ass DoTing

Page 50: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

1. Training

Page 51: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

2. Pairing

Page 52: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

3. Blitz Test

Page 53: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

4. Test Recipe*

* advanced doting

Page 54: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

5. Split Sessions*

* advanced doting

Page 55: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

6. Bug Hunter*

* advanced doting

Page 56: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Qualityis everybody's responsibility

Page 57: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

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

Keep improving!

Page 58: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Co,aborationKick-Ass

Page 59: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Lonesome Cowboy Coder

Page 60: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

The trouble startswith the team

Page 61: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
Page 62: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
Page 63: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Traffic Rulesare protecting us from accidents

Page 64: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Development Rulesare protecting us from making mistakes

Page 65: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
Page 66: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

PULLBRANCH MERGE

Page 67: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

A branchfor every task

Page 68: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Brancheshave short lives

average 2 days

Page 69: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

we use

Pu, Requestswhat do you

think?

Page 70: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

learn

better quality

feel better

blame

Why do you want to discuss your code changes?

Page 71: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

fast a%rovals

moving fast

2+

Page 72: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

CollocatedTeams

we prefer

Page 73: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

It's not always possible

the truth is

Page 74: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Wheredo you work best?

... in the office?

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

...on your couch at home?

it depends

Page 75: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

do you communicate How

effectively?

Page 76: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Emails

asynchronous

offline

one to many

add people

Page 77: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Are youcrazy?

Page 78: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

too much

Page 79: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Emails

often t/ long

are bad for conve0ations

lots of spam

n)ds an action

Problems

Page 80: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Emails

often t/ long

are bad for conve0ations

lots of spam

n)ds an action

Problems

Page 81: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

ChatWho uses ?

Page 82: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Chat R.ms

Confluence Developer

Design Team

Enterprise Discussions

Beer Drinkers

Just the conversations you need to kick ass

Page 83: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

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

People can stay in the zone

Page 84: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Chat is great for different timezones

The chat records all conversations that happened during the night

Page 85: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Chat can pull people into the conversation

Just @mention someone

with ease

Page 86: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Choose your tools wisely

Page 87: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
Page 88: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
Page 89: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

We built portals!

Mac mini

TV

Camera

Page 90: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Remove collaboration friction.Easy workflows -> fast development

Keep improving!

Page 91: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

AutomationKick-Ass

Page 92: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

We're helping people to be faster

by automating their work

Page 93: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

How much time do you spend a week

to automate your software development?

Page 94: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Who is doing continuous integration?

Page 95: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Who is doing kick-ass continuous integration?

Page 96: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Our builds t.k to long

were t/ complicated

were unstable

mi1ed a conceptsucked

Page 97: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Fail Fast

Page 98: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

4 things how to tame monster buildsand kick-ass again

Page 99: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

1. Pass the artifact

Page 100: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

2. Parallelize Tests

Page 101: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

3. Have a build strategy

building + unit & UI testsevery check in

platform testsle' frequent (every hour)

performance testsnightly builds

Page 102: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

4. Look at your stats!Data Porn

Page 103: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Faster builds >>

less task switching

Care about automation

Page 104: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

More automationawesomene'!

Page 105: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Flakey Test

Handle with care

This side up

Flakey Test Detector

Page 106: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Wa,boards

Page 107: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Freud Bot

Page 108: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Use your skills to automate things!

Keep improving!

Page 109: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Deliver Kick-Ass Software

Kick-Ass Automation

One Kick-Ass Team

Kick-Ass Collaboration

Page 110: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Kick-Ass Software Development

Page 111: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

AgileIs

dead?

Page 112: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Be exce,entin everything you do

Page 113: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Manage& are humans, too!

easier

harder

Page 114: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Share success & failures

Page 115: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Build a kick-ass culture

Page 116: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Step out of your comfort zone

and be more awesome

Page 117: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Did you kick ass

today?

Page 118: JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development

Thanks!

@svenpetsvenpet.com/talks