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

Ujarzmić chaos - budowanie zwinnych zespołów

Ujarzmić chaos - budowanie zwinnych zespołów

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

March 05, 2016
Tweet

More Decks by Przemek Lewandowski

Other Decks in Technology

Transcript

  1. UJARZMIĆ CHAOS: BUDOWANIE ZWINNYCH ZESPOŁÓW Przemek Lewandowski @haxoza Kariera IT

    Warszawa 05.03.2016 1
  2. ABOUT ME 2

  3. AGILE BUZZWORD? 3

  4. WHAT PEOPLE SAY 4

  5. AGILE MANIFESTO 5

  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
  7. WHAT DOES IT REALLY MEAN? 7

  8. BE OPEN TO CHANGE 8

  9. AND 9

  10. PROVIDE PRODUCTION READY SOFTWARE FREQUENTLY 10

  11. OK, THEN IS IT FOR ME? 11

  12. ASSUMED ENVIRONMENT 12 • Team • Product • Client /

    Stakeholder • End user
  13. AGILE RELATED DISCIPLINES • Kanban • Scrum • XP •

    Software craftsmanship 13
  14. KANBAN • idea to visualize state of project using a

    simple board • 3 simple rules: • Visualize your work • Limit work in progress • Maximize throughput 14
  15. Kanban board example

  16. SCRUM • 2-3 weeks sprints • Planning sessions • Review

    / Demo session • Retrospectives • Grooming • Daily scrum • Roles • Backlog 16
  17. XP PRACTICES • Test-Driven Development • Pair Programming • Refactoring

    • Continuous Integration • Collective Code Ownership 17
  18. SOFTWARE CRAFTSMANSHIP • working software • responding to change •

    individuals and interactions • collaboration • well-crafted software • steadily adding value • community of professionals • productive partnerships 18 Not only … but also …
  19. GET REAL! 19

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

    the “right” way
  21. WE ARE SOFTWARE HOUSE SO ... 21

  22. THE GOAL IS TO PROVIDE WORKING SOFTWARE ... 22

  23. ... THAT FITS TO CLIENTS’ REQUIREMENTS 23

  24. LET’S DEFINE OCCURRING PROBLEMS 24

  25. OCCURRING PROBLEMS 25 • Quality • Time • Costs •

    Scope
  26. QUALITY IS NOT NEGOTIABLE 26

  27. 27 Scope Time Price CHOOSE JUST TWO?

  28. MULTIPLE PROJECTS VS. ONE TEAM 28

  29. TEAMS SETUP 29 Many 1-2 people teams for many small

    projects One team for many small projects One team for one big project (almost) Many 2-3+ people teams
  30. IDEAL TEAM SETUP • Lead developer • Product owner •

    (Scrum master)
 30
  31. COMMUNICATION • Hipchat Slack / Skype / Hangouts • Scrum

    routine • Weekly company sync-call • Shared calendars
 31
  32. COMMUNICATION CULTURE • Active means
 (requiring attention now) • IM

    • conversation / poke • emergency meeting • Passive means
 (can reply later) • Trello / PM tool • email • planned meeting 32 https://www.youtube.com/watch?v=b4YLu5U8S4I
  33. BORROWED FROM SCRUM • Daily scrums • Scrum / Kanban

    board • Planning and review • Retrospectives 33
  34. 34 SPRINT PLANNING • User stories / Sprint scope •

    Estimates / Planning poker • Team members • Tasks in user stories

  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>
  36. 36 Retrospective session

  37. RETROSPECTIVE SESSION • What went well • What went not

    so well • What can be improved 37 When to get back to conclusions?
  38. 38 Weekly sync-call

  39. WEEKLY SYNC-CALL • Meta-update • General update on projects •

    Sharing conclusions from retrospectives • Problems 39
  40. BUGS AFTER SPRINT • Bug fixing at the beginning of

    sprint • Bug fixing between sprints
 
 40
  41. COST OF BUG OVER TIME 41

  42. GOOD ENGINEERING PRACTICES 42 • Code review • Branch per

    feature • Automated tests and TDD • Continuous integration • Automated deployment process • Server configuration provisioning • Pair programming (firefighting)
  43. WHAT ABOUT WORKING REMOTELY? 43

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

    / voice conferences • Joining them into scrum routine • Engaging them to company development • Video streaming of the whole office
  45. TAKE CARE ABOUT TEAM DEVELOPMENT 45

  46. HOW WE ENGAGE  THE TEAM 46 • Thursdays’ presentations

    • English Wednesdays • Company bookshelf • Community building • Football table
  47. 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 47
  48. QUESTIONS? 48

  49. THANKS! Like us on Facebook www.facebook.com/sunscrapers 49