Programming Motherfucker
Upcoming SlideShare
Loading in...5
×
 

Programming Motherfucker

on

  • 2,301 views

There is a new movement among programmers called Programming, Motherfucker that rejects XP, Scrum, Kanban, Waterfall, and, as they put it, “anything else getting in the way of…Programming, ...

There is a new movement among programmers called Programming, Motherfucker that rejects XP, Scrum, Kanban, Waterfall, and, as they put it, “anything else getting in the way of…Programming, Motherfucker.” Since Agile was originally developed by programmers, for programmers, it obviously doesn't deliver on that promise for at least some programmers. In this talk I'll discuss some of frustration that programmers have with agile and how could they be remedied.

This is the presentation I've given at Agile Slovenia 2012 (http://www.agileslovenia.com)

Statistics

Views

Total Views
2,301
Views on SlideShare
2,104
Embed Views
197

Actions

Likes
4
Downloads
6
Comments
0

4 Embeds 197

http://restreaming.wordpress.com 192
http://www.slashdocs.com 3
http://webcache.googleusercontent.com 1
http://www.restreaming.me 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

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
  • Youare all familiar with agile manifesto. But recently Zed Shaw presented anti-agile manifesto.We are programmers who have been humiliated by software development methodologies for years.We are tired of XP, Scrum, Kanban, Waterfall, and anything else getting in the way of...Programming.We are tired of being told we're autistic idiots without anytime to be creative because none of the 10 managers on the project can do... Programming.We must destroy these methodologies that get in the way of...Programming.Zed Shaw is not some teenage programmer. He's author of popular book series Learn Code The Hard Way.
  • Kent Beck has been programming for 35 years! He's currently at Facebook developing a thrift server to handle all messaging traffic.What went wrong? Why are some programmers rejecting agile?- were they wrong in the first place?- has environment changed so much in the last 10 years?- agile does not scale to average programmersProblem => Solution
  • - On the surface scrum looks trivial. But in reality it causes enormous changes. Nobody is helping people cope with the changes. This should be the main role of scrum master/coach- Hire "Agile Developers" in the first place. (a) don't hire one trick ponies, (b) check for team work capabilities, (c) check for the cultural fit- Firing people is neither the the right thing nor easy.- There's no silver bullet: Don't try to change people. Help people overcome small barriers, but don't waste time on people who just don't fit
  • Introduction of agile changes development priorities.I've been here myself.Typical situation: You are building a recommendation engine for months or even years. A scrum is introduced and development priorities change.Programmers are expect to do also planning, designing, interviewing users, and making decisions outside of their technical expertizeProgrammers are forced out of their comfort zonesPeople who build their identify and self-esteem upon their expertize, lose groundsProgrammers consider only coding as creative.
  • Ad 1) Building the right product is more important than building the product right!Ad 2) There's no such thing as too much communicationAd 3) - Don't expect people to be responsible as a team, if they don't know how to be responsible as individuals.- But don't make them responsible to the managers, but to the customers.
  • - Around an introvert programmer a silo always forms. The silo took years to be built and it's quite often the critical piece of the system. Opening up the silo should be done very carefully.- Scrum forces introverts to communicate. This usually results in violent crashes.- Usually the introvert wants out of the silo himself (but only to build another silo)
  • - Don't push the introvert too hard: - pair programming - shared code - collective planning - product demosAd 1) Instead of pair programming and shared codeAd 2) Instead of collective planning (he'll hear anyway)Ad 3) Instead of product demos
  • - Engineers adore solving problems that nobody has.- We love solving problems with technology, even if non-technological solutions would be much more effective.
  • Ad 1) There's no more humbling experience for an engineer than seeing his work being used by a real user. We recently showed to engineers a user interview that exposed naked technical problems of our service. The result was profound.Ad 2) Be on the look out for such cases at user interviews.Engineers feel omniscient and superior to the users. These two things break this notion and make them interested in actually listening to the user.
  • - These days they say in Silicon Valley: "If you're not embarrassed of the first version of your product, you've shipped too late"- Engineers are proud people.- There are ways how to start learning fast while still keeping excellence in engineering.
  • -Scrum won't fix your product development process. - separate product from people/process management.- Put people in the driver seat of changes.- You can delegate more responsibilities already today. - Cross-functional teams always make sense. One full expert is better than two halves. - Increase or decrease team size as required by the project/process at hand.- Every team needs a coach to help the team jell.- Iterations introduces pressure cooking. That's why things explode. Do this after fundamentals are in place.

Programming Motherfucker Programming Motherfucker Presentation Transcript

  • Dušan Omerčevid@dusano @zemanta
  • Of the Programmers, by the Programmers (signatories of agile manifesto)Kent Beck Ron JeffriesMike Beedle Jon KernArie van Bennekum Brian MarickAlistair Cockburn Robert C. MartinWard Cunningham Steve MellorMartin Fowler Ken SchwaberJames Grenning Jeff SutherlandJim Highsmith Dave ThomasAndrew Hunt 160 years of programming experience!
  • The Unattended Side Effects of AgileGeneralization of the Specialist Extrovertion of the IntrovertProductivization of the Engineer Suppression of Excellence
  • Generalizing the Specialist
  • Generalizing the SpecialistRemedies:1. Fix product development before introducing agile! Defined product owner, prioritized backlog and product roadmap are prerequisite for successful agile adoption.2. Make sure the team internalizes company and product strategy!3. Give additional responsibilities first!
  • Extroverting the Introvert (Breaking Down the Silos)
  • Extroverting the Introvert (Breaking Down the Silos)Remedies:1. Code reviews2. Sit together3. Technical presentations
  • Productivizing the Engineer
  • Productivizing the EngineerRemedies:1. Make engineers feel the pain of users2. Show engineers how their work improves users lives in unexpected ways
  • Suppressing the Excellence
  • Suppressing the ExcellenceRemedies:1. 20+% of technical stories in every sprint2. Pet/Open source projects3. Hackdays
  • Gradual Scrum Introduction PM 1011. Product Owner & Product Backlog2. Retrospectives3. Team & Scrum master4. Daily stand-up meeting & Demos5. Sprint planning, Sprint backlog SCRUM & Burndown chartScrum introduces too many changes at once, sorather do it incrementally!
  • REALITYby @rodpetrovic
  • Thank you!Lets continue discussion @dusano and http://restreaming.wordpress.com/ Agile Slovenia 2012
  • Photos:http://www.flickr.com/photos/raster/3380860520/http://www.flickr.com/photos/docsearls/5500714140/http://www.flickr.com/photos/tef/3159937037/http://www.auger-loizeau.comSpecial thanks to my coworkers. Youre awesome!
  • Further reading:• Why I’m done with Scrum http://lostechies.com/jimmybogard/2012/09/12/why-im-done-with-scrum/• “Dilbert” on Extreme and Agile Programming http://www.globalnerdy.com/2007/11/28/dilbert-on-extreme-and-agile- programming/• Project Management 101 http://rodp.wordpress.com/2012/09/07/project-management-101/• Relaxing Scrum http://restreaming.wordpress.com/2012/09/17/relaxing-scrum/