Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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. 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
  2. KANBAN • idea to visualize state of project using a

    simple board • 3 simple rules: • Visualize your work • Limit work in progress • Maximize throughput 14
  3. SCRUM • 2-3 weeks sprints • Planning sessions • Review

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

    • Continuous Integration • Collective Code Ownership 17
  5. 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 …
  6. 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
  7. COMMUNICATION • Hipchat Slack / Skype / Hangouts • Scrum

    routine • Weekly company sync-call • Shared calendars
 31
  8. 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
  9. BORROWED FROM SCRUM • Daily scrums • Scrum / Kanban

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

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

  11. 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>
  12. RETROSPECTIVE SESSION • What went well • What went not

    so well • What can be improved 37 When to get back to conclusions?
  13. WEEKLY SYNC-CALL • Meta-update • General update on projects •

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

    sprint • Bug fixing between sprints
 
 40
  15. GOOD ENGINEERING PRACTICES 42 • Code review • Branch per

    feature • Automated tests and TDD • Continuous integration • Automated deployment process • Server configuration provisioning • Pair programming (firefighting)
  16. 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
  17. HOW WE ENGAGE  THE TEAM 46 • Thursdays’ presentations

    • English Wednesdays • Company bookshelf • Community building • Football table
  18. 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