Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
How to do

Kick-Ass
Software Development
@svenpet
Who expects to see some code?
System.out.println
("Sorry, you may leave now");
Who expects to learn a new
methodology?
There is no Kick-Ass manifesto!
...and no certification
Who just wants to kick ass?
Yes, that's me ;)

THIS IS YOUR TALK
How to do kick ass development?
Use Java
Use Java
...is not so important
Sven Peters

Atlassian Ambassador

svenpet.com
@svenpet
better software
less overhead
faster development
happy customer
happy developers

Agile
What's the state of

Agile

2013 ?
The Dark Manifesto of Agile Software
Development
We are uncovering better the only ways of developing

software by doing i...
Programming, Motherfucker
Do you speak it?
Is

Agile

dead?
The Gartner Hype Curve
Agile?
We need

some smart people!

Guru
Stop following the next guru
and kick-ass again
legacy teams think...
adding processes helps
changing stuff is too complicated
old decisions still apply

ONE WAY
Let's improve!
and kick-ass again
legacy teams think...
I don't give a #@!%

NO WAY
Ass
Deliver Kick-Ass Software
One Kick-Ass Team
Kick-Ass Collaboration
Kick-Ass Automation

Kick
ing

Topi

cs
Deliver

Kick-Ass Software
Building the right thing
before
How do we know?

Microsoft Kin
Fake it
til you

Make it
Speech-to-Text Experiment
even one step before that....

Paper

Prototypes
Software
ea Ar
n

Con

ctio
tru
s

ovin
pr
Im

are
oftw
gS
Generate a kick-ass

Feedback
Experience
Easy to find
Make it simple
Fast to submit
GOT FEEDBACK?
GOT FEEDBACK?
GOT FEEDBACK?

Got Feedback?
Rate the page *

What do you like? *

What needs to be
improved?*

Awesome

Good

Good tools,...
GOT FEEDBACK?

Easy to find

Got Feedback?
Rate the page *

What do you like? *

What needs to be
improved?*

Awesome

Good...
Protect

your Developers
The Sh*t umbrella
425 million user

100 developer
We're not doing
Everyone
On The

Front Line
Feedback

Close the Loop
and get pers nal
Developers
on

Support
Care about your customers!
Have an effective feedback loop

Keep improving!
One

Kick-Ass Team
Different
Developer

Roles
Responsibilities
Tester
The P

roble

Bottlenecks : Accountability : Scalability
Developer

Tester

ms
Developer
on

DoT

Test
So the developers are
doing all the work?
QA
Qual·i·ty As·sis·tance [kwol-i-tee] [uh-sis-tuh ns]
Quality is everybody's responsibility. QA employees help and train
...
6 Tips

for kick-ass DoTing
1. Training
2. Pairing
3. Blitz Test
4. Test Recipe*
* advanced doting
5. Split Sessions*

* advanced doting
6. Bug Hunter*

* advanced doting
Quality is everybody's responsibility
Developers
are doing

Design
Developers
are doing

Design
Whyshould we have designers?
Because we suck!
Scaling Designers?

Designer

Designer

?

?
Scaling Designers?
Use Developers FTW!

Designer

Designer

Developer

Developer
Our developers need some
Design guidance!
Design Guidelines
Just a few controls
Simple rules

Tools to test design

Dev Speed
Kick-Ass

https://developer.atlassian.co...
Design Workshop
for Developers
Developers
are

Designers
Designers

Developers

removing friction
Developers
are

Desig
ner in

are

Designers

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

Keep improving!
Kick-Ass

Collaboration
Lonesome Cowboy Coder
The trouble starts
with the team
Traffic Rules
are protecting us from accidents
Development Rules
are protecting us from making mistakes
BRANCH

PULL

MERGE
A branch
for every task
Branches
have short lives

average 2 days
we use

Pull Requests
what do you
think?
feel better
learn

better quality

blame

Why do you want to discuss
your code changes?
fast approvals

2+
moving fast
we prefer

Collocated
Teams
the truth is

It's not always
possible
Where
do you work best?
...in the office?
...in the coffee bar next door?
...on your couch at home?

it dep

ends
How

do you communicate

effectively?
offline

Emails

one to many

asynchronous

add people
Are you

crazy

?
too
Prob
are bad for conversations

lots of spam

lems

Emails

often too long

needs an action
Prob
are bad for conversations

lots of spam

lems

Emails

often too long

needs an action
Who uses

Chat

?
Confluence
Developer

Design Team

Enterprise
Discussions

Beer Drinkers

Just the conversations you need to kick ass

Chat...
Chat

is great for remote conversations
...and local!

People can stay in the zone
Chat

is great for different timezones

The chat records all conversations that happened during the night
Chat

can pull people into the conversation
with ease
Just @mention someone
Choose your tools wisely
Camera

We built portals!

TV
Mac mini
Remove collaboration friction.
Easy workflows -> fast development

Keep improving!
Kick-Ass

Automation
We're helping people
to be faster
by automating their work
How much time do you spend a week
to automate your software development?
Who is doing continuous integration?
Who kick-ass continuous integration?
is doing
Our builds
sucked

took to long
were too complicated
were unstable
missed a concept
Fail Fast
4 things how to tame monster builds

and kick-ass again
1. Pass the artifact
2. Parallelize Tests
3. Have a build strategy

performance tests
platform tests

nightly builds

less frequent (every hour)

building + unit & ...
Data Porn

4. Look at your stats!
Care a

bout a
u

tomati

on

Faster builds >>
less task switching
More automation
awesomeness!
Flakey Test Detector
de up
his si

T

st
Te
ey
lak
F
re
with
andle
H

ca
Wallboards
Freud Bot
Use your skills to automate things!

Keep improving!
Release Button
single push deployment
Deliver Kick-Ass Software
One Kick-Ass Team
Kick-Ass Collaboration
Kick-Ass Automation
Kick-Ass Software Development
Kick-Ass Software Development
Kick-Ass customers
Kick-Ass team
Kick-Ass dev speed
Kick-Ass quality
Kick-Ass scale
Kick-Ass Software Development
Kick-Ass customers
Kick-Ass team
Kick-Ass quality
Kick-Ass dev speed
Kick-Ass scale
Is

Agile

dead?
Be excellent

in everything you do
Managers

are humans, too!
harder

easier
Share & failures
success
Build a kick-ass culture
Step out of your comfort zone
and be more awesome
Did you
kick ass

today?
Thanks!
svenpet.com/talks
@svenpet
How To Do Kick-Ass Software Development
How To Do Kick-Ass Software Development
How To Do Kick-Ass Software Development
How To Do Kick-Ass Software Development
How To Do Kick-Ass Software Development
How To Do Kick-Ass Software Development
How To Do Kick-Ass Software Development
Upcoming SlideShare
Loading in …5
×

How To Do Kick-Ass Software Development

43,184 views

Published on

With Kick-Ass Software Development you actually get stuff done. Feedback cycles are short, code quality is awesome and customers get the features they lust after. Less mangers managing, less testers testing and less IT-operators operating. The developers take the power back, making them much happier. Sound like paradise? It is! This session will show you how we do Kick-Ass Software Development at Atlassian.
I talk about how we: use pull requests for better code quality; collaborate fast to develop ideas; avoid meetings to get more stuff done; tighten our feedback loops to fail faster; shorten our release cycles; and work together happily on different continents. It's a great way to develop software and we think it can work in your company, too.

Watch the video if this talk: http://vimeo.com/70102926

Published in: Technology, Business

How To Do Kick-Ass Software Development

  1. How to do Kick-Ass Software Development @svenpet
  2. Who expects to see some code?
  3. System.out.println ("Sorry, you may leave now");
  4. Who expects to learn a new methodology?
  5. There is no Kick-Ass manifesto! ...and no certification
  6. Who just wants to kick ass?
  7. Yes, that's me ;) THIS IS YOUR TALK
  8. How to do kick ass development?
  9. Use Java
  10. Use Java ...is not so important
  11. Sven Peters Atlassian Ambassador svenpet.com @svenpet
  12. better software less overhead faster development happy customer happy developers Agile
  13. What's the state of Agile 2013 ?
  14. The Dark Manifesto of Agile Software Development 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 documentation
 Customer 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.
  15. Programming, Motherfucker Do you speak it?
  16. Is Agile dead?
  17. The Gartner Hype Curve Agile?
  18. We need some smart people! Guru
  19. Stop following the next guru and kick-ass again
  20. legacy teams think... adding processes helps changing stuff is too complicated old decisions still apply ONE WAY
  21. Let's improve! and kick-ass again
  22. legacy teams think... I don't give a #@!% NO WAY
  23. Ass Deliver Kick-Ass Software One Kick-Ass Team Kick-Ass Collaboration Kick-Ass Automation Kick ing Topi cs
  24. Deliver Kick-Ass Software
  25. Building the right thing before How do we know? Microsoft Kin
  26. Fake it til you Make it
  27. Speech-to-Text Experiment
  28. even one step before that.... Paper Prototypes
  29. Software ea Ar n Con ctio tru s ovin pr Im are oftw gS
  30. Generate a kick-ass Feedback Experience
  31. Easy to find Make it simple Fast to submit
  32. GOT FEEDBACK?
  33. GOT FEEDBACK?
  34. GOT FEEDBACK? Got Feedback? Rate the page * What do you like? * What needs to be improved?* Awesome Good Good tools, but this talk doesn't kick ass at all! Add more jokes! Browse Upload a screenshot Name Freddy Eedback Email f.eedback@complain.com Submit Meh! Cancel Bad Horrible
  35. GOT FEEDBACK? Easy to find Got Feedback? Rate the page * What do you like? * What needs to be improved?* Awesome Good Good tools, but this talk doesn't kick ass at all! Browse Name Freddy Eedback Email f.eedback@complain.com Cancel Bad Horrible Make it simple Fast to submit Add more jokes! Upload a screenshot Submit Meh!
  36. Protect your Developers
  37. The Sh*t umbrella 425 million user 100 developer
  38. We're not doing
  39. Everyone On The Front Line
  40. Feedback Close the Loop and get pers nal
  41. Developers on Support
  42. Care about your customers! Have an effective feedback loop Keep improving!
  43. One Kick-Ass Team
  44. Different Developer Roles Responsibilities Tester
  45. The P roble Bottlenecks : Accountability : Scalability Developer Tester ms
  46. Developer on DoT Test
  47. So the developers are doing all the work?
  48. QA 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.
  49. 6 Tips for kick-ass DoTing
  50. 1. Training
  51. 2. Pairing
  52. 3. Blitz Test
  53. 4. Test Recipe* * advanced doting
  54. 5. Split Sessions* * advanced doting
  55. 6. Bug Hunter* * advanced doting
  56. Quality is everybody's responsibility
  57. Developers are doing Design
  58. Developers are doing Design
  59. Whyshould we have designers? Because we suck!
  60. Scaling Designers? Designer Designer ? ?
  61. Scaling Designers? Use Developers FTW! Designer Designer Developer Developer
  62. Our developers need some Design guidance!
  63. Design Guidelines Just a few controls Simple rules Tools to test design Dev Speed Kick-Ass https://developer.atlassian.com/design/
  64. Design Workshop for Developers
  65. Developers are Designers
  66. Designers Developers removing friction
  67. Developers are Desig ner in are Designers code
  68. Department barriers slows you down! Work together as one team! Keep improving!
  69. Kick-Ass Collaboration
  70. Lonesome Cowboy Coder
  71. The trouble starts with the team
  72. Traffic Rules are protecting us from accidents
  73. Development Rules are protecting us from making mistakes
  74. BRANCH PULL MERGE
  75. A branch for every task
  76. Branches have short lives average 2 days
  77. we use Pull Requests what do you think?
  78. feel better learn better quality blame Why do you want to discuss your code changes?
  79. fast approvals 2+ moving fast
  80. we prefer Collocated Teams
  81. the truth is It's not always possible
  82. Where do you work best? ...in the office? ...in the coffee bar next door? ...on your couch at home? it dep ends
  83. How do you communicate effectively?
  84. offline Emails one to many asynchronous add people
  85. Are you crazy ?
  86. too
  87. Prob are bad for conversations lots of spam lems Emails often too long needs an action
  88. Prob are bad for conversations lots of spam lems Emails often too long needs an action
  89. Who uses Chat ?
  90. Confluence Developer Design Team Enterprise Discussions Beer Drinkers Just the conversations you need to kick ass Chat Rooms
  91. Chat is great for remote conversations ...and local! People can stay in the zone
  92. Chat is great for different timezones The chat records all conversations that happened during the night
  93. Chat can pull people into the conversation with ease Just @mention someone
  94. Choose your tools wisely
  95. Camera We built portals! TV Mac mini
  96. Remove collaboration friction. Easy workflows -> fast development Keep improving!
  97. Kick-Ass Automation
  98. We're helping people to be faster by automating their work
  99. How much time do you spend a week to automate your software development?
  100. Who is doing continuous integration?
  101. Who kick-ass continuous integration? is doing
  102. Our builds sucked took to long were too complicated were unstable missed a concept
  103. Fail Fast
  104. 4 things how to tame monster builds and kick-ass again
  105. 1. Pass the artifact
  106. 2. Parallelize Tests
  107. 3. Have a build strategy performance tests platform tests nightly builds less frequent (every hour) building + unit & UI tests every check in
  108. Data Porn 4. Look at your stats!
  109. Care a bout a u tomati on Faster builds >> less task switching
  110. More automation awesomeness!
  111. Flakey Test Detector de up his si T st Te ey lak F re with andle H ca
  112. Wallboards
  113. Freud Bot
  114. Use your skills to automate things! Keep improving!
  115. Release Button single push deployment
  116. Deliver Kick-Ass Software One Kick-Ass Team Kick-Ass Collaboration Kick-Ass Automation
  117. Kick-Ass Software Development
  118. Kick-Ass Software Development Kick-Ass customers Kick-Ass team Kick-Ass dev speed Kick-Ass quality Kick-Ass scale
  119. Kick-Ass Software Development Kick-Ass customers Kick-Ass team Kick-Ass quality Kick-Ass dev speed Kick-Ass scale
  120. Is Agile dead?
  121. Be excellent in everything you do
  122. Managers are humans, too! harder easier
  123. Share & failures success
  124. Build a kick-ass culture
  125. Step out of your comfort zone and be more awesome
  126. Did you kick ass today?
  127. Thanks! svenpet.com/talks @svenpet

×