How To Do
Kick-Ass Software Development
Sven Peters, Atlassian
@svenpet
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 it...
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
Deliver Kick-Ass Software
One Kick-Ass Team
Kick-Ass Collaboration
Kick-Ass Automation

Ass
Kick
in

g To

pics
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
are
oftw
gS

Con

ctio
tru
s

ea Ar
n

ovin
pr
Im
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

Goo...
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
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 much
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

Cha...
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
b

out au

tomati
on

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

T

st
Te
ey
lak
F
care
with
andle
H
Wallboards
Freud Bot
Use your skills to automate things!

Keep improving!
Deliver Kick-Ass Software
One Kick-Ass Team
Kick-Ass Collaboration
Kick-Ass Automation
Kick-Ass Software Development
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
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
Upcoming SlideShare
Loading in …5
×

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

758 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
758
On SlideShare
0
From Embeds
0
Number of Embeds
145
Actions
Shares
0
Downloads
36
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

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

×