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. UJARZMIĆ CHAOS:
    BUDOWANIE ZWINNYCH
    ZESPOŁÓW
    Przemek Lewandowski
    @haxoza
    Kariera IT
    Warszawa 05.03.2016
    1

    View full-size slide

  2. AGILE
    BUZZWORD?
    3

    View full-size slide

  3. WHAT PEOPLE SAY
    4

    View full-size slide

  4. AGILE MANIFESTO
    5

    View full-size slide

  5. 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

    View full-size slide

  6. WHAT DOES IT
    REALLY MEAN?
    7

    View full-size slide

  7. BE OPEN TO CHANGE
    8

    View full-size slide

  8. PROVIDE
    PRODUCTION READY
    SOFTWARE
    FREQUENTLY
    10

    View full-size slide

  9. OK, THEN IS IT FOR ME?
    11

    View full-size slide

  10. ASSUMED ENVIRONMENT
    12
    • Team
    • Product
    • Client / Stakeholder
    • End user

    View full-size slide

  11. AGILE RELATED DISCIPLINES
    • Kanban
    • Scrum
    • XP
    • Software craftsmanship
    13

    View full-size slide

  12. KANBAN
    • idea to visualize state of project using a simple board
    • 3 simple rules:
    • Visualize your work
    • Limit work in progress
    • Maximize throughput
    14

    View full-size slide

  13. Kanban board example

    View full-size slide

  14. SCRUM
    • 2-3 weeks sprints
    • Planning sessions
    • Review / Demo session
    • Retrospectives
    • Grooming
    • Daily scrum
    • Roles
    • Backlog
    16

    View full-size slide

  15. XP PRACTICES
    • Test-Driven Development
    • Pair Programming
    • Refactoring
    • Continuous Integration
    • Collective Code Ownership
    17

    View full-size slide

  16. 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 …

    View full-size slide

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

    View full-size slide

  18. WE ARE SOFTWARE HOUSE
    SO ...
    21

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  21. LET’S DEFINE
    OCCURRING PROBLEMS
    24

    View full-size slide

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

    View full-size slide

  23. QUALITY
    IS NOT
    NEGOTIABLE
    26

    View full-size slide

  24. 27
    Scope
    Time Price
    CHOOSE JUST TWO?

    View full-size slide

  25. MULTIPLE PROJECTS
    VS.
    ONE TEAM
    28

    View full-size slide

  26. 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

    View full-size slide

  27. IDEAL TEAM SETUP
    • Lead developer
    • Product owner
    • (Scrum master)

    30

    View full-size slide

  28. COMMUNICATION
    • Hipchat Slack / Skype / Hangouts
    • Scrum routine
    • Weekly company sync-call
    • Shared calendars

    31

    View full-size slide

  29. 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

    View full-size slide

  30. BORROWED FROM SCRUM
    • Daily scrums
    • Scrum / Kanban board
    • Planning and review
    • Retrospectives
    33

    View full-size slide

  31. 34
    SPRINT PLANNING
    • User stories / Sprint scope
    • Estimates / Planning poker
    • Team members
    • Tasks in user stories


    View full-size slide

  32. DEFINING USER STORIES
    35
    As a logged-in user, I want to cancel my event
    so that attendees are notified
    Example
    Template
    As a , I want
    so that

    View full-size slide

  33. 36
    Retrospective session

    View full-size slide

  34. RETROSPECTIVE SESSION
    • What went well
    • What went not so well
    • What can be improved
    37
    When to get back to conclusions?

    View full-size slide

  35. 38
    Weekly sync-call

    View full-size slide

  36. WEEKLY SYNC-CALL
    • Meta-update
    • General update on projects
    • Sharing conclusions from retrospectives
    • Problems
    39

    View full-size slide

  37. BUGS AFTER SPRINT
    • Bug fixing at the beginning of sprint
    • Bug fixing between sprints


    40

    View full-size slide

  38. COST OF BUG OVER TIME
    41

    View full-size slide

  39. GOOD ENGINEERING
    PRACTICES
    42
    • Code review
    • Branch per feature
    • Automated tests and TDD
    • Continuous integration
    • Automated deployment
    process
    • Server configuration
    provisioning
    • Pair programming
    (firefighting)

    View full-size slide

  40. WHAT ABOUT
    WORKING REMOTELY?
    43

    View full-size slide

  41. 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

    View full-size slide

  42. TAKE CARE
    ABOUT
    TEAM DEVELOPMENT
    45

    View full-size slide

  43. HOW WE ENGAGE
    THE TEAM
    46
    • Thursdays’ presentations
    • English Wednesdays
    • Company bookshelf
    • Community building
    • Football table

    View full-size slide

  44. 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

    View full-size slide

  45. QUESTIONS?
    48

    View full-size slide

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

    View full-size slide