• Save
Confessions of an Agile Addict
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Confessions of an Agile Addict

on

  • 266 views

Video and slides synchronized, mp3 and slide download available at http://bit.ly/10cPgMH. ...

Video and slides synchronized, mp3 and slide download available at http://bit.ly/10cPgMH.

Ole Friis Østergaard discusses software development addictions: becoming aware of them, controlling them, getting rid of bad habits by admitting them and changing through practice. Filmed at qconlondon.com.

Ole Friis Østergaard is a software developer at Silverbullet. He thinks he's an Agile developer, doing server-side, client-side, mobile, etc., and teaching TDD. Twitter: @olefriis

Statistics

Views

Total Views
266
Views on SlideShare
266
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Confessions of an Agile Addict Presentation Transcript

  • 1. Confessions ofan Agile AddictOle Friis Østergaardof@silverbullet.dk@olefriiswww.silverbullet.dk
  • 2. InfoQ.com: News & Community Site• 750,000 unique visitors/month• Published in 4 languages (English, Chinese, Japanese and BrazilianPortuguese)• Post content from our QCon conferences• News 15-20 / week• Articles 3-4 / week• Presentations (videos) 12-15 / week• Interviews 2-3 / week• Books 1 / monthWatch the video with slidesynchronization on InfoQ.com!http://www.infoq.com/presentations/agile-addict-confessions
  • 3. Presented at QCon Londonwww.qconlondon.comPurpose of QCon- to empower software development by facilitating the spread ofknowledge and innovationStrategy- practitioner-driven conference designed for YOU: influencers ofchange and innovation in your teams- speakers and topics driving the evolution and innovation- connecting and catalyzing the influencers and innovatorsHighlights- attended by more than 12,000 delegates since 2007- held in 9 cities worldwide
  • 4. Me?Programmer interested ingood developmentpracticesiOSAndroidGrailsRuby RailsSinatraTDDJavaScriptJavaGroovyHTML5AngularSCRUMKanban
  • 5. Not me?FamousThought leaderExtrovertExpert on everythingSeasoned speakerNative English-speakingDrug addictPsychiatrist
  • 6. YouDeveloper/ProgrammerAgile Want to enjoy your jobWant to evolveWant to learn
  • 7. The point?Get addicted to the right stuff.Love your work.Feel great about yourself.Be agile.
  • 8. The planWhats an addiction?Agile practicesAgile addictionsMe! Me! Me!
  • 9. Session Code3374
  • 10. Addictions
  • 11. About addictionsThere are habits and addictions.Habit: Something you "just do".Addiction: You feel it in your guts if youremissing it for too long.
  • 12. About addictionsThere are habits and addictions.Habit: Something you "just do".Addiction: You feel it in your guts if youremissing it for too long.Impaired control, continued use despiteconsequences, and denial...
  • 13. ExamplesDrugs
  • 14. ExamplesRunning
  • 15. ExamplesSexImage from Wikipedia
  • 16. Agile Practices
  • 17. Test-Driven DevelopmentSpecify before you codeMakes you write fewer bugsHelps you design better systemsGives you tools to document behaviourHelps managing risk when refactoringStill a very rare sight (at least in Denmark)
  • 18. Doing RetrospectivesYou and your team sit down an hour or two anddiscuss what happened in the past sprintYou focus on getting a little bit better in the nextsprint, by not repeating past mistakes and bystrengthening your successesMaybe you add in an experiment to the comingsprint?
  • 19. Pair ProgrammingYou pair up with a teammateOne at the keyboard, another "driving"Leads to better designLeads to more shared knowledgeLeads to better personal interactions on teamLeads to "less cheating"
  • 20. Cross-Functional TeamsTheres no "one guy" who knows how to do onethingEverybody can join in on different parts of thesystem
  • 21. Speaking to customers"Agile" is mostly about feedbackUltimately, the best feedback is from whomeveris going to use your productThe sooner, the better
  • 22. Not everybody agreesTests are in principle "muda" (waste)Badly written tests are of no valueBadly written tests are a pain to refactorThe "beyond TDD" movementPair programming takes two instead of onePair programming requires communication skillsPair programming "is not for everybody"Customer doesnt always see the whole picture
  • 23. And this is not allFocusing on flowSystems thinkingContinuous Integration...
  • 24. About Cross-FuntionalTeams...You do know what this is, and how to fix it,right?<<<<<<< HEAD:my_program.rbif (is_ok)=======if (!is_invalid)>>>>>>> my_branch:my_program.rb
  • 25. How Does ThatRelate?!?Be Agile for your Own Sake
  • 26. You hate code reviews...Its like meetings: They split up your dayThey rip you out of contextYou dont really take the time necessary tounderstand all the code and testsAnd, actually, its often too late to fix theunderlying problems with the code
  • 27. ...so you pair program!Code review is part of the deal
  • 28. You hate bad atmosphere...Colleagues who dont speak togetherNot feeling welcome in the office
  • 29. ...so you do retrospectives!An amazing way to get things going smoothlyMore often than not, there are simple,underlying reasons for problems on a teamJust talking about it helps - fixing it is evenbetter
  • 30. From a famous guy..."My wife has often said that Im creatively co-dependant and that basically, inorder for my creative mind to be engaged at 100%, I need everybody in thevicinity to be in a good mood, to be happy and to be comfortable; negativeenergy pulls on me creatively.So if someones uncomfortable or having a bad day in the room, I feel theneed to perk that person up and try to make them laugh. It seems like thisis a beautiful, Jesus-like, selfless act, when in actuality, a huge part of it isvery selfish and needy on my part"- Will Smithhttp://www.darkhorizons.com/features/1312/will-smith-for-men-in-black-2Image from Wikipedia
  • 31. Youre addicted to positivefeedback...Isnt that what we go to work for?Were simple creatures
  • 32. ...so we speak tocustomers!Surely, not everything from them sounds sweetBut try starting a dialog, and youll find that theyare extremely thankful for the simple fact thatyou listen to themOften very simple improvements make yourcustomer the sweetest person in the world
  • 33. Youre a social being...Sitting alone in a cubicle is a sad lifeYou get no input, you dont evolve
  • 34. ...so you pair up!Pair programming is for all social beingsYou get to know your colleagues much betterYou fight, you cry, you laugh... and get loads ofinput all the time
  • 35. Youre addicted to hot-fixingGives fame and kudos saving the productionsystems from disasterThe boss considers you a vital resourceYoure a hero!Its a great rush
  • 36. ...so you write crappy codeHot fixes means doing a quickndirty jobBeing the only person alive who can mend thecode gives a bit of status...and if it works, why change?
  • 37. Youre afraid of critique...Critique hurtsCustomers dont always understand the deeperworkings of softwareYour colleagues have other ways of doing stuff
  • 38. ...so you dont speak tocustomersTheir opinion often gets in the wayIt takes a lot of effort to explain your point ofview
  • 39. ...and you dont pairprogramTheres so much arguing going onYoull lose half of your discussions
  • 40. Me! Me! Me!
  • 41. Havent been agile all mylife...Start of my career: Waterfall-only companyFelt bad about some things, but thought thiswas the way to be professionalGot introduced later to agile practices, and itresonated with me. Why?
  • 42. Becoming aware of my ownaddictionsWe all have a number of addictionsFinding out which takes reflectionIve thought a bit about what a sad person I am
  • 43. I die if I sit by myself in acorner!Would never be able to work from home(regularly)Need to chatNeed to discuss ideas and solutions
  • 44. ...so I pair programGives me so much professional inputI learn something new each dayKeeps my motivation going...and turns colleagues into friends
  • 45. When starting a new task......I always start by asking "How do I test this?"After several years practising TDD, Ive becomeaddictedIt just feels plain wrong to edit code withouttests - my guts twist
  • 46. TDD and flossing yourteethTesting is like flossing your teeth (Kent Beck) -you might not get the full benefit right away, butin time youll be sorry if you dontI floss my teeth, and its become ahabit/addiction just like brushing my teeth
  • 47. TDD vs. slot machines"Traditional coding" has been compared to sittingby a slot machineYou seldom win, but when you do, your brainreleases enough endorphins that youll keep goingTDD at first seems slower, but keeps the rhythmgoing
  • 48. Messy kitchenI cannot work in a messy kitchenNeed to clean up before cookingNeed to clean up while cookingFeel claustrophobic otherwiseSame with code
  • 49. Controlling yourAddictions
  • 50. Embrace change...You want to get rid of your bad addictionsKeep your good addictionsAnd maybe collect a few good addictions?
  • 51. First step: Reflect & AdmitDo any of the mentioned addictions resonatewith you?Should they?Is there anything youd like to change?
  • 52. Then... practice!!It takes time to change your perceptionIt takes persistenceSome like "cold turkeys", some like gradualchangeBe open about it, tell your colleagues!!
  • 53. Luckily...There is no reason to be embarrassed aboutyour "agile addictions".
  • 54. Some of my addictionsTest-Driven DevelopmentContinuous IntegrationPair ProgrammingBeing Cross-FunctionalRunningWinter SwimmingFruitCoffeeVitamin DFlossing my teeth
  • 55. Agile: I do it formyself!
  • 56. But remember...Dont Do Drugs!of@silverbullet.dk@olefriiswww.silverbullet.dk
  • 57. A Few ReferencesKent Beck: Ease at Work: http://www.youtube.com/playlist?list=PLE9763518A2765373100% time: http://cemerick.com/2013/02/15/100-time/Programmers and Chefs: http://www.codinghorror.com/blog/2006/05/programmers-and-chefs.html