138
Kick-ass Agile Development Dan Chuparkoff #kickassSD - @chuparkoff - #AAB14

Kickass Agile Development - Agile & Beyond Conference

Embed Size (px)

Citation preview

Page 1: Kickass Agile Development - Agile & Beyond Conference

Kick-ass Agile Development

Dan Chuparkoff

#kickassSD - @chuparkoff - #AAB14

Page 2: Kickass Agile Development - Agile & Beyond Conference

#kickassSD #AAB14

If you tweet about this session...

...tweet with these hashtags.

Page 3: Kickass Agile Development - Agile & Beyond Conference

Who knows what does?

Page 4: Kickass Agile Development - Agile & Beyond Conference

Software for collaborating teams

PLAN & TRACKCOMMUNICATE CODE

Page 5: Kickass Agile Development - Agile & Beyond Conference

Who expects to learn a new methodology?

Page 6: Kickass Agile Development - Agile & Beyond Conference

There is no kick-ass manifesto!

“There is no kickass manifesto!,” @chuparkoff #kickassSD at #AAB14

Page 7: Kickass Agile Development - Agile & Beyond Conference

Who just wants to kick ass?

Page 8: Kickass Agile Development - Agile & Beyond Conference

Yes, that’s really me ;)

This is your talk

Page 9: Kickass Agile Development - Agile & Beyond Conference

Ok, so how do you do kick-ass development

Page 10: Kickass Agile Development - Agile & Beyond Conference

Use Java

Page 11: Kickass Agile Development - Agile & Beyond Conference

Use Java…the language is not so important

Page 12: Kickass Agile Development - Agile & Beyond Conference

Dan ChuparkoffGroup Manager, JIRA Family

Learning to do #kickassSD with @chuparkoff from @atlassian at #AAB14

Page 13: Kickass Agile Development - Agile & Beyond Conference

What is kick-ass software anyway?

Page 14: Kickass Agile Development - Agile & Beyond Conference

better quality

happy developers

less overhead

happy customers

faster development Agile

Page 15: Kickass Agile Development - Agile & Beyond Conference

Agile2013 ?

What's the state of

Page 16: Kickass Agile Development - Agile & Beyond Conference
Page 17: Kickass Agile Development - Agile & Beyond Conference

We are uncovering better the only ways of developing software 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 plan That 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 18: Kickass Agile Development - Agile & Beyond Conference

Agileis

dead?

“Is Agile dead?,” asks @chuparkoff #kickassSD at #AAB14

Page 19: Kickass Agile Development - Agile & Beyond Conference

Technology adoption lifecycle

Early Adopters Early Majority Late Majority Laggards

Page 20: Kickass Agile Development - Agile & Beyond Conference

Agile 2001

Early Adopters Early Majority

Page 21: Kickass Agile Development - Agile & Beyond Conference

Agile 2005

Early Adopters Early Majority Late Majority

Page 22: Kickass Agile Development - Agile & Beyond Conference

Agile 2009

Early Adopters Early Majority Late Majority Laggards

Page 23: Kickass Agile Development - Agile & Beyond Conference

Agile Today?

Early Adopters Early Majority Late Majority Laggards

Page 24: Kickass Agile Development - Agile & Beyond Conference

Actually…Agile 2013

Early Adopters Early Majority Late Majority Laggards

Page 25: Kickass Agile Development - Agile & Beyond Conference

smart people!

Guru

We need some

Page 26: Kickass Agile Development - Agile & Beyond Conference

find your own problems & just kick-ass

Don’t wait for gurus

“No one can tell you what your team isn’t doing right, except your team” @chuparkoff #kickassSD

Page 27: Kickass Agile Development - Agile & Beyond Conference

Kick-ass automation

Build kick-ass things

Create one kick-ass team

Kick-ass collaboration

Four keys to

Kick-ass Agile Development

Page 28: Kickass Agile Development - Agile & Beyond Conference

Buildkick-ass things

Page 29: Kickass Agile Development - Agile & Beyond Conference

Fake ittil you

Make it“Fake it, ’til you make it.” @chuparkoff #kickassSD at #AAB14

Page 30: Kickass Agile Development - Agile & Beyond Conference

Speech-to-text experiment

Page 31: Kickass Agile Development - Agile & Beyond Conference

even one step before that....

PaperPrototypes

Page 32: Kickass Agile Development - Agile & Beyond Conference
Page 33: Kickass Agile Development - Agile & Beyond Conference

SoftwareConstruction Area - Improving Software

Page 34: Kickass Agile Development - Agile & Beyond Conference

Feedback Generate a kick-ass

experience

Page 35: Kickass Agile Development - Agile & Beyond Conference

Make it simple

Easy to find

Fast to submit

Page 36: Kickass Agile Development - Agile & Beyond Conference

GOT FEEDBACK?

Page 37: Kickass Agile Development - Agile & Beyond Conference

GOT FEEDBACK?

Page 38: Kickass Agile Development - Agile & Beyond Conference

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 39: Kickass Agile Development - Agile & Beyond Conference

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

“Giving feedback must be simple & fast.” @chuparkoff #kickassSD at #AAB14

Page 40: Kickass Agile Development - Agile & Beyond Conference

Protectyour developers

Page 41: Kickass Agile Development - Agile & Beyond Conference

And keep ‘em protected

gmail: 100 developers

gmail: 425 million users

Page 42: Kickass Agile Development - Agile & Beyond Conference

But we're not building

Page 43: Kickass Agile Development - Agile & Beyond Conference

EveryoneOn The

Front Lines

Page 44: Kickass Agile Development - Agile & Beyond Conference

Close the loopFeedback

and get pers nal

Page 45: Kickass Agile Development - Agile & Beyond Conference

Developerson

Support

Page 46: Kickass Agile Development - Agile & Beyond Conference

Actually, build kick-ass things. Create an effective feedback loop. Connnect with your customers!

Keep improving!

“Create an effective feedback loop.” @chuparkoff #kickassSD at #AAB14

Page 47: Kickass Agile Development - Agile & Beyond Conference

Kick-ass automation

Build kick-ass things

Create one kick-ass team

Kick-ass collaboration

Four keys to

Kick-ass Agile Development

Page 48: Kickass Agile Development - Agile & Beyond Conference

Kick-ass TeamOne

Page 49: Kickass Agile Development - Agile & Beyond Conference

Developer

Different RolesResponsibilities

Tester

Page 50: Kickass Agile Development - Agile & Beyond Conference

Developer Tester

The Problems

Bottlenecks : Accountability : Scalability

Page 51: Kickass Agile Development - Agile & Beyond Conference

DoT

DeveloperonTest

Page 52: Kickass Agile Development - Agile & Beyond Conference

Development

61x 4x

QA

Page 53: Kickass Agile Development - Agile & Beyond Conference

So the developers are doing all the work?

Page 54: Kickass Agile Development - Agile & Beyond Conference

Qual·i·ty As·sis·tance [kwol-i-tee] [uh-sis-tuhns] Quality is everyone's responsibility. QA employees help and train developers to become better testers. They test the more complicated stuff, create test data, investigate new test tools, & develop test strategies.

QA

Page 55: Kickass Agile Development - Agile & Beyond Conference

6 Tipsfor kick-ass DoTing

Page 56: Kickass Agile Development - Agile & Beyond Conference

Training

Page 57: Kickass Agile Development - Agile & Beyond Conference

Pairing

Page 58: Kickass Agile Development - Agile & Beyond Conference

Blitz test

Page 59: Kickass Agile Development - Agile & Beyond Conference

Test recipe*

* advanced doting

Page 60: Kickass Agile Development - Agile & Beyond Conference

Split Sessions*

* advanced doting

Page 61: Kickass Agile Development - Agile & Beyond Conference

Bug Hunter*

* advanced doting

Page 62: Kickass Agile Development - Agile & Beyond Conference

Qualityis everybody's responsibility

Page 63: Kickass Agile Development - Agile & Beyond Conference

DesignDevelopers

are doing

Page 64: Kickass Agile Development - Agile & Beyond Conference

Because we suck!

should we have designers?Why

Page 65: Kickass Agile Development - Agile & Beyond Conference

Designers?Scaling

Designer Designer ? ?

Page 66: Kickass Agile Development - Agile & Beyond Conference

Designer Designer Developer Developer

Developers FTW!UseDesigners?Scaling

Page 67: Kickass Agile Development - Agile & Beyond Conference

Our developers need someDesign guidance!

Page 68: Kickass Agile Development - Agile & Beyond Conference
Page 69: Kickass Agile Development - Agile & Beyond Conference

Design guidelines

Tools to test designJust a few controls Simple rules

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

Dev speed

Kick-ass

Page 70: Kickass Agile Development - Agile & Beyond Conference

Design workshopfor developers

Page 71: Kickass Agile Development - Agile & Beyond Conference

DevelopersDesigners

removing friction

Page 72: Kickass Agile Development - Agile & Beyond Conference

Designers

Developersareare

Designer in code

Page 73: Kickass Agile Development - Agile & Beyond Conference

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

Keep improving!

Page 74: Kickass Agile Development - Agile & Beyond Conference

Kick-ass Automation

Build Kick-ass Things

One Kick-ass Team

Kick-ass Collaboration

Four keys to

Kick-ass Agile Development

Page 75: Kickass Agile Development - Agile & Beyond Conference

collaborationKick-ass

Page 76: Kickass Agile Development - Agile & Beyond Conference

Lonesome cowboy coder

Page 77: Kickass Agile Development - Agile & Beyond Conference

The trouble startswith the team

Page 78: Kickass Agile Development - Agile & Beyond Conference
Page 79: Kickass Agile Development - Agile & Beyond Conference
Page 80: Kickass Agile Development - Agile & Beyond Conference

Traffic rulesare protecting us from accidents

Page 81: Kickass Agile Development - Agile & Beyond Conference

Development rulesare protecting us from mistakes

Page 82: Kickass Agile Development - Agile & Beyond Conference
Page 83: Kickass Agile Development - Agile & Beyond Conference

PULLBRANCH MERGE

Page 84: Kickass Agile Development - Agile & Beyond Conference

A branchfor every task

Page 85: Kickass Agile Development - Agile & Beyond Conference

G e t C o d i n g !

S t o r y a s s i g n e d

Page 86: Kickass Agile Development - Agile & Beyond Conference

Caption

Page 87: Kickass Agile Development - Agile & Beyond Conference

Brancheshave short lives

average 2 days

Page 88: Kickass Agile Development - Agile & Beyond Conference

we use

Pull Requestswhat do you

think?

Page 89: Kickass Agile Development - Agile & Beyond Conference

fast approvals

moving fast

2+

Page 90: Kickass Agile Development - Agile & Beyond Conference

CollocatedTeams

we prefer

Page 91: Kickass Agile Development - Agile & Beyond Conference

It's not always possible

the truth is

Page 92: Kickass Agile Development - Agile & Beyond Conference

Wheredo you work best?

... in the office?

... in the coffee bar next door?

...on your couch at home?

it depends

Page 93: Kickass Agile Development - Agile & Beyond Conference

do you communicate How

effectively?

Page 94: Kickass Agile Development - Agile & Beyond Conference

Email

Page 95: Kickass Agile Development - Agile & Beyond Conference

Are youcrazy?

Page 96: Kickass Agile Development - Agile & Beyond Conference

too many

Page 97: Kickass Agile Development - Agile & Beyond Conference

Email

often too long

are bad for conversations

lots of spam

needs an action

Problems

Page 98: Kickass Agile Development - Agile & Beyond Conference

Email

often too long

are bad for conversations

lots of spam

needs an action

Problems

Page 99: Kickass Agile Development - Agile & Beyond Conference

Where work becomes teamwork

Page 100: Kickass Agile Development - Agile & Beyond Conference

ChatWho uses ?

Page 101: Kickass Agile Development - Agile & Beyond Conference
Page 102: Kickass Agile Development - Agile & Beyond Conference

Chat Rooms

Confluence Developer

Design Team

Enterprise Discussions

Beer Drinkers

Just the conversations you need to kick ass

Page 103: Kickass Agile Development - Agile & Beyond Conference

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

People can stay in the zone

Page 104: Kickass Agile Development - Agile & Beyond Conference

Chat is great for different timezones

HipChat records all conversations that happened during the night

Page 105: Kickass Agile Development - Agile & Beyond Conference

Chat can pull people into the conversation

Just @mention someone

with ease

Page 106: Kickass Agile Development - Agile & Beyond Conference

Choose your tools wisely

Page 107: Kickass Agile Development - Agile & Beyond Conference
Page 108: Kickass Agile Development - Agile & Beyond Conference
Page 109: Kickass Agile Development - Agile & Beyond Conference

We built portals!

Mac mini

TV

Camera

Page 110: Kickass Agile Development - Agile & Beyond Conference

Remove collaboration friction. Easy workflows -> fast development

Keep improving!

Page 111: Kickass Agile Development - Agile & Beyond Conference

Kick-ass Automation

Build Kick-ass Things

One Kick-ass Team

Kick-ass Collaboration

Four keys to

Kick-ass Agile Development

Page 112: Kickass Agile Development - Agile & Beyond Conference

We're helping people to be faster

by automating their work

Page 113: Kickass Agile Development - Agile & Beyond Conference

AutomationKick-ass

Page 114: Kickass Agile Development - Agile & Beyond Conference

How much time do you spend a weekautomating your software development?

Page 115: Kickass Agile Development - Agile & Beyond Conference

Who is doing continuous integration?

Page 116: Kickass Agile Development - Agile & Beyond Conference

Who is doing continuous integration?kick-ass

Page 117: Kickass Agile Development - Agile & Beyond Conference

Our builds took to long

were too complicated

were unstable

missed a conceptsucked

Page 118: Kickass Agile Development - Agile & Beyond Conference

Fail Fast

Page 119: Kickass Agile Development - Agile & Beyond Conference

4 things to tame monster buildsand kick-ass again

Page 120: Kickass Agile Development - Agile & Beyond Conference

1. Pass the artifact

Page 121: Kickass Agile Development - Agile & Beyond Conference

2. Parallelize Tests

Page 122: Kickass Agile Development - Agile & Beyond Conference

3. Have a build strategy

building + unit & UI testsevery check in

platform testsless frequent (every hour)

performance testsnightly builds

Page 123: Kickass Agile Development - Agile & Beyond Conference

4. Look at your stats!Data Porn

Page 124: Kickass Agile Development - Agile & Beyond Conference

Faster builds >>less task switching

Care about automation

Page 125: Kickass Agile Development - Agile & Beyond Conference

More automationawesomeness!

Page 126: Kickass Agile Development - Agile & Beyond Conference

Flakey Test

Handle with care

This side up

Flakey Test Detector

Page 127: Kickass Agile Development - Agile & Beyond Conference

Wallboards

Page 128: Kickass Agile Development - Agile & Beyond Conference

Freud Bot

Page 129: Kickass Agile Development - Agile & Beyond Conference

Use your skills to automate things!

Keep improving!

Page 130: Kickass Agile Development - Agile & Beyond Conference

Release Buttonsingle push deployment

Page 131: Kickass Agile Development - Agile & Beyond Conference

Kick-ass Automation

Build Kick-ass Things

One Kick-ass Team

Kick-ass Collaboration

Four keys to

Kick-ass Software Development

Page 132: Kickass Agile Development - Agile & Beyond Conference

Agile 2015??

Early Majority Late Majority Laggards

Page 133: Kickass Agile Development - Agile & Beyond Conference

everything you dois the best it can be.

Make sure

Page 134: Kickass Agile Development - Agile & Beyond Conference

Share success & failures

Page 135: Kickass Agile Development - Agile & Beyond Conference

Build a kick-ass culture

Page 136: Kickass Agile Development - Agile & Beyond Conference

Let yourself take some risks!

don’t be afraid to fail

Page 137: Kickass Agile Development - Agile & Beyond Conference

Did you kick-ass

today?

Page 138: Kickass Agile Development - Agile & Beyond Conference

Thanks!Kick-ass talk on Kick-ass Software Development! @chuparkoff #kickassSD at #AAB14