devcon tel aviv - how to do kick-ass software development

71
How to do Kick-Ass Software Development

Upload: david-bonilla

Post on 08-Sep-2014

33.371 views

Category:

Technology


0 download

DESCRIPTION

How Atlassian tries to build kick-ass software. All the techniques, tips and hints condensed -from our special Continous Integration to our customized testing procedures- in a 30 minutes talk.

TRANSCRIPT

Page 1: Devcon Tel Aviv - How to do Kick-ass Software Development

How to do

Kick-Ass Software Development

Page 2: Devcon Tel Aviv - How to do Kick-ass Software Development

@david_bonilla

[email protected]

David BonillaAtlassian Ambassador

Page 4: Devcon Tel Aviv - How to do Kick-ass Software Development

How to do kick ass

software development?

Page 5: Devcon Tel Aviv - How to do Kick-ass Software Development

Use Ruby

Page 6: Devcon Tel Aviv - How to do Kick-ass Software Development

Deliver Kick-Ass Software

Page 7: Devcon Tel Aviv - How to do Kick-ass Software Development

Deliver Kick-Ass Software

Create a Kick-Ass Team

Page 8: Devcon Tel Aviv - How to do Kick-ass Software Development

Deliver Kick-Ass Software

Create a Kick-Ass Team

Get Kick-Ass Collaboration

Page 9: Devcon Tel Aviv - How to do Kick-ass Software Development

Deliver Kick-Ass Software

Create a Kick-Ass Team

Get Kick-Ass Collaboration

Kick-Ass Automation

Page 10: Devcon Tel Aviv - How to do Kick-ass Software Development

Delive!Kick-Ass Software

Page 11: Devcon Tel Aviv - How to do Kick-ass Software Development

Building the right thing

Microsoft Kin

Page 12: Devcon Tel Aviv - How to do Kick-ass Software Development

Building the right thing

Ho" d# we kno"?

Microsoft Kin

Page 13: Devcon Tel Aviv - How to do Kick-ass Software Development

Building the right thing

Ho" d# we kno"?before

Microsoft Kin

Page 14: Devcon Tel Aviv - How to do Kick-ass Software Development

Fake ittil you

Make it

Page 15: Devcon Tel Aviv - How to do Kick-ass Software Development
Page 16: Devcon Tel Aviv - How to do Kick-ass Software Development

Feedback Generate a kick-a$

Experience

Page 17: Devcon Tel Aviv - How to do Kick-ass Software Development
Page 18: Devcon Tel Aviv - How to do Kick-ass Software Development

Easy to find

Page 19: Devcon Tel Aviv - How to do Kick-ass Software Development

Make it simple

Easy to find

Page 20: Devcon Tel Aviv - How to do Kick-ass Software Development

Make it simple

Easy to find

Fast to submit

Page 21: Devcon Tel Aviv - How to do Kick-ass Software Development

Make it simple

Easy to find

Fast to submit

Sexy Spanish Technology

Page 22: Devcon Tel Aviv - How to do Kick-ass Software Development

GOT FEEDBACK?

Page 23: Devcon Tel Aviv - How to do Kick-ass Software Development

GOT FEEDBACK?

Page 24: Devcon Tel Aviv - How to do Kick-ass Software Development

GOT FEEDBACK?

Got Feedback?

Submit Cancel

What do you like? *

What needs to be improved?*

Name

BrowseUpload a screenshot

Email

Rate the page * Awesome HorribleGood Meh! Bad

Page 25: Devcon Tel Aviv - 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 26: Devcon Tel Aviv - 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 27: Devcon Tel Aviv - 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 28: Devcon Tel Aviv - How to do Kick-ass Software Development

Developerson

Support

Page 29: Devcon Tel Aviv - How to do Kick-ass Software Development

Kick-Ass Team

Create a

Page 30: Devcon Tel Aviv - How to do Kick-ass Software Development

Develope!

Di%erent Roles

Responsibilities

Te&e!

Page 31: Devcon Tel Aviv - How to do Kick-ass Software Development

D#TDeveloper

on

Test

Page 32: Devcon Tel Aviv - 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 33: Devcon Tel Aviv - How to do Kick-ass Software Development

Qualityis everybody's responsibility

Page 34: Devcon Tel Aviv - How to do Kick-ass Software Development

DesignDevelopers

doing

Page 35: Devcon Tel Aviv - How to do Kick-ass Software Development

DesignDevelopers

doing

Page 36: Devcon Tel Aviv - How to do Kick-ass Software Development

DesignDevelopers

doing

Page 37: Devcon Tel Aviv - How to do Kick-ass Software Development

DesignDevelopers

doing

Page 38: Devcon Tel Aviv - How to do Kick-ass Software Development

should we have designers?Why

Page 39: Devcon Tel Aviv - How to do Kick-ass Software Development

Because we Suck!should we have designers?

Why

Page 40: Devcon Tel Aviv - How to do Kick-ass Software Development

Designers?Scaling

Designer Designer ? ?

Page 41: Devcon Tel Aviv - How to do Kick-ass Software Development

Designer Designer Developer Developer

Developers FTW!UseDesigners?Scaling

Page 42: Devcon Tel Aviv - How to do Kick-ass Software Development

Design Guidelines

T'l( t# te& designJu& a fe" control(Simple rule(

https://developer.atlassian.com/design

Dev Speed

Kick-A$

Page 43: Devcon Tel Aviv - How to do Kick-ass Software Development

Co)aborationKick-AssGet

Page 44: Devcon Tel Aviv - How to do Kick-ass Software Development

Fa& + SimpleWorkflowFo! Para)el Coding

Coding

Page 45: Devcon Tel Aviv - How to do Kick-ass Software Development

A branchfor every task

Page 46: Devcon Tel Aviv - How to do Kick-ass Software Development

Branche(have short lives

average 2 days

Page 47: Devcon Tel Aviv - How to do Kick-ass Software Development

we use

Pu) Reque&(what do you

think?

Page 48: Devcon Tel Aviv - How to do Kick-ass Software Development

fa& a*roval(

moving fa&

2

Page 49: Devcon Tel Aviv - How to do Kick-ass Software Development

Emails

asynchronou(

o%line

one t# many

add people

We love

Page 50: Devcon Tel Aviv - How to do Kick-ass Software Development

Emails

often t+ long

are bad fo! conve,ation(

lot( of spam

n-d( an action

Problem(We love

Page 51: Devcon Tel Aviv - How to do Kick-ass Software Development

Chat R'm(

Confluence Developer

Design Team

Enterprise Discussions

Just the conversations you need to kick ass !!!

Page 52: Devcon Tel Aviv - How to do Kick-ass Software Development

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

People can stay in the zone

Page 53: Devcon Tel Aviv - How to do Kick-ass Software Development

Chat is great for different timezones

The chat records all conversations that happened during the night

Page 54: Devcon Tel Aviv - How to do Kick-ass Software Development

AutomationKick-Ass

Page 55: Devcon Tel Aviv - How to do Kick-ass Software Development

We're helping people to be faster

by automating thei! work

Page 56: Devcon Tel Aviv - How to do Kick-ass Software Development

How much time do you spend a week

to automate your software development?

Page 57: Devcon Tel Aviv - How to do Kick-ass Software Development

Wh# is doing continuous integration?

Page 58: Devcon Tel Aviv - How to do Kick-ass Software Development

Wh# is doing kick-ass continuous integration??

Page 59: Devcon Tel Aviv - How to do Kick-ass Software Development

Our builds t'k t# long

were t+ complicated

were un&able

mi.ed a conceptsucked

Page 60: Devcon Tel Aviv - How to do Kick-ass Software Development

4 thing( how to tame monster buildsand kick-ass again

Page 61: Devcon Tel Aviv - How to do Kick-ass Software Development

1. Pass the artifact

Page 62: Devcon Tel Aviv - How to do Kick-ass Software Development

1. Pass the artifact

Page 63: Devcon Tel Aviv - How to do Kick-ass Software Development

2. Parallelize Tests

Page 64: Devcon Tel Aviv - How to do Kick-ass Software Development

3. Have a build strategy

building + unit & UI testsevery check in

platform testsle$ frequent (every hou!)

performance testsnightly build(

Page 65: Devcon Tel Aviv - How to do Kick-ass Software Development

4. Look at your stats!Data Porn

Page 66: Devcon Tel Aviv - How to do Kick-ass Software Development

4. Look at your stats!Data Porn

Page 67: Devcon Tel Aviv - How to do Kick-ass Software Development

Deliver Kick-Ass Software

Create a Kick-Ass Team

Get Kick-Ass Collaboration

Kick-Ass Automation

Page 68: Devcon Tel Aviv - How to do Kick-ass Software Development

Be exce)entin everything you do

Page 69: Devcon Tel Aviv - How to do Kick-ass Software Development

Step out of your comfort zone

and be more awesome

Page 70: Devcon Tel Aviv - How to do Kick-ass Software Development

Did you

kick ass

today?

Page 71: Devcon Tel Aviv - How to do Kick-ass Software Development

[email protected]

@david_bonilla

¡Gracias!(Thank you]