$30 off During Our Annual Pro Sale. View Details »

Taming the chaos / Droga wyjścia z chaosu - PyCon PL 2013

Taming the chaos / Droga wyjścia z chaosu - PyCon PL 2013

Abstract in Polish:

Programowanie sensu stricto to nie wszystko - istotną rolę odgrywa również sposób, w jaki zarządzamy projektem. Chcąc osiągnąć większą efektywność lub rozwiązać wciąż pojawiające się problemy wielu rzuca hasło "Agile", które ma stanowić antidotum na wszystkie nasze kłopoty. Czy rzeczywiście tak jest? Co to znaczy być Agile? Celem mojej prezentacji jest wyjaśnienie dlaczego ważne jest eksperymentowanie w zarządzaniu projektami, dzięki któremu możemy osiągnąć zen. W prezentacji przedstawione będą nie tylko podstawy Agile, ale także wiele istotnych elementów metodologii Scrum oraz Kanban. Na przykładzie omówione zostaną główne problemy w implementacji zwinnych metod zarządzania projektami oraz sposoby ich rozwiązywania.

Przemek Lewandowski

October 20, 2013
Tweet

More Decks by Przemek Lewandowski

Other Decks in Technology

Transcript

  1. DROGA WYJŚCIA Z CHAOSU Przemek Lewandowski @haxoza PyCon PL 2013

    1 Sunday, October 20, 13
  2. ABOUT ME 2 Sunday, October 20, 13

  3. AGILE - BUZZWORD? 3 Sunday, October 20, 13

  4. WHAT PEOPLE SAY 4 Sunday, October 20, 13

  5. AGILE MANIFESTO 5 Sunday, October 20, 13

  6. AGILE MANIFESTO 6 • Individuals and interactions over processes and

    tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan Sunday, October 20, 13
  7. WHAT DOES IT REALLY MEAN? 7 Sunday, October 20, 13

  8. BE READY TO CHANGE 8 Sunday, October 20, 13

  9. AND 9 Sunday, October 20, 13

  10. PROVIDE PRODUCTION READY SOFTWARE FREQUENTLY 10 Sunday, October 20, 13

  11. PYTHON COMMUNITY - ARE YOU AGILE? 11 Sunday, October 20,

    13
  12. OK, THEN IS IT FOR ME? 12 Sunday, October 20,

    13
  13. ASSUMED ENVIRONMENT 13 • Team • Product • Client or

    end user Sunday, October 20, 13
  14. AGILE RELATED DISCIPLINES • Kanban • Scrum • XP •

    Software craftsmanship 14 Sunday, October 20, 13
  15. KANBAN • idea to visualize state of project using a

    simple board • 3 simple rules: • Visualize your work • Limit work in progress • Maximize throughput 15 Sunday, October 20, 13
  16. Kanban board example Sunday, October 20, 13

  17. SCRUM • 2-3 weeks sprints • Planning sessions before sprint

    • Review / Demo session after sprint • Retrospectives • Daily Scrum • Roles 17 Sunday, October 20, 13
  18. XP PRACTICES • Test-Driven Development • Pair Programming • Refactoring

    • Continuous Integration • Collective Code Ownership 18 Sunday, October 20, 13
  19. SOFTWARE CRAFTSMANSHIP • Not only working software, but also well-crafted

    software • Not only responding to change, but also steadily adding value • Not only individuals and interactions, but also a community of professionals • Not only customer collaboration, but also productive partnerships 19 Sunday, October 20, 13
  20. GET REAL! 20 Sunday, October 20, 13

  21. CASE STUDY 21 Disclaimer it’s “our” way and maybe not

    the “right” way Sunday, October 20, 13
  22. WE ARE SOFTWARE HOUSE SO ... 22 Sunday, October 20,

    13
  23. THE GOAL IS TO PROVIDE WORKING SOFTWARE ... 23 Sunday,

    October 20, 13
  24. ... THAT FITS TO CLIENTS’ REQUIREMENTS 24 Sunday, October 20,

    13
  25. LET’S DEFINE OCCURRING PROBLEMS 25 Sunday, October 20, 13

  26. OCCURRING PROBLEMS 26 • Quality • Time • Costs •

    Scope Sunday, October 20, 13
  27. QUALITY IS NOT NEGOTIABLE 27 Sunday, October 20, 13

  28. 28 Scope Time Price CHOOSE JUST TWO? Sunday, October 20,

    13
  29. MULTIPLE PROJECTS VS. ONE TEAM 29 Sunday, October 20, 13

  30. MULTIPLE 1-2 PERSON TEAMS 30 Our old approach Sunday, October

    20, 13
  31. ONE TEAM FOR EACH PROJECT Our current approach 31 Sunday,

    October 20, 13
  32. THINGS BORROWED FROM SCRUM • Daily Scrums • Daily Scrum

    of Scrums • Scrum / Kanban board • Sprints with planning and review • Retrospectives 32 Sunday, October 20, 13
  33. 33 Daily Scrum Sunday, October 20, 13

  34. 34 SPRINT PLANNING • User stories • Estimates / Planning

    poker • Resources • Tasks in user stories Sunday, October 20, 13
  35. DEFINING USER STORIES 35 As a logged-in user, I want

    to cancel my event so that attendees are notified Example: Template: As a <role>, I want <goal/desire> so that <benefit> Sunday, October 20, 13
  36. 36 Retrospection session Sunday, October 20, 13

  37. HOW WE HANDLE SPRINTS • Bug fixing at the beginning

    of sprint • Bug fixing between sprints 37 Sunday, October 20, 13
  38. THE COST OF BUGS INCREASES OVER THE TIME 38 Sunday,

    October 20, 13
  39. GOOD ENGINEERING PRACTICES 39 • Code review • Branch per

    feature • Automated tests and TDD • Continuous integration • Automated deployment process • Server configuration provisioning • Pair programming (firefighting) Sunday, October 20, 13
  40. TOOLS WE CURRENTLY USE • Trello • Harvest • Google

    Apps • Bitbucket • Jenkins • Sentry • ... and more 40 Sunday, October 20, 13
  41. WHAT ABOUT WORKING REMOTELY? 41 Sunday, October 20, 13

  42. REMOTE TEAM MEMBERS 42 • Manager of one • Video

    / voice conferences • Joining them into scrum routine • Engaging them to company development • Video streaming of the whole office Sunday, October 20, 13
  43. TAKE CARE ABOUT TEAM DEVELOPMENT 43 Sunday, October 20, 13

  44. HOW WE ENGAGE THE TEAM 44 • Tuesdays’ presentations •

    English Wednesdays • Books ordering routine • Football table • Background music Sunday, October 20, 13
  45. RESOURCES • Agile Software Development with Scrum - K. Schwaber,

    M. Beedle • Scrum and XP from the Trenches - Henrik Kniberg • Rework - Jason Fried, D. H. Hansson • Test-Driven Development - Kent Beck • Clean Code - Robert C. Martin • What is XP - http://xprogramming.com/xpmag/whatisxp 45 Sunday, October 20, 13
  46. QUESTIONS? 46 Sunday, October 20, 13

  47. THANKS! Like us on Facebook www.facebook.com/sunscrapers 47 Sunday, October 20,

    13