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

Software Development Practices Patterns: from Pair to Mob Programming

Herez.com.br
April 09, 2023
2.3k

Software Development Practices Patterns: from Pair to Mob Programming

Kattan, H. M.: Programming and review simultaneous in Pairs: a pair
programming extension. Master Dissertation. In: Institute for Technological
Research of the State of São Paulo (IPT). http://aleph.ipt.br/F. Or
http://ipt.br, click on: Online Consultations, then click on Library,
(2015)

https://sol.sbc.org.br/index.php/eres/article/view/8507

Herez.com.br

April 09, 2023
Tweet

Transcript

  1. Software Development
    Practices Patterns:
    from Pair to Mob Programming
    Herez Moise Kattan |herez at ime dot usp dot br
    herez at acm dot org |herez at herez dot com dot br

    View full-size slide

  2. Parafraseando Mario Quintana:
    Enquanto alguns Frameworks passarão…
    A pesquisa passarinho…
    #NoFrameworks

    View full-size slide

  3. Research Method

    View full-size slide

  4. Pair
    Programming
    Principles and benefits
    for your team

    View full-size slide

  5. Pair Programming
    Software Development technique in which two
    developers work together on the same problem on the
    same machine.

    View full-size slide

  6. It is much
    more than to
    sit together!

    View full-size slide

  7. Pilot
    Worried about the
    writing code,
    language syntax, etc
    The possession
    of the keyboard
    is related with
    an increase of
    commitment

    View full-size slide

  8. Co-pilot
    Broader view of
    context, class,
    software, next steps
    and etc ...
    Real time
    feedback

    View full-size slide

  9. What do I get
    benefits by using
    pair programming?

    View full-size slide

  10. Reinforcing practices
    that require discipline
    such as automated
    testing and refactoring

    View full-size slide

  11. Prevents developers
    from losing focus and
    being distracted by
    other things Pair rotation is also
    important to prevent
    losing focus of the
    co-pilot

    View full-size slide

  12. Transfer Knowledge

    View full-size slide

  13. Real-time Code Review

    View full-size slide

  14. The co-pilot should take
    care for not lose focus or
    just watch what the other
    is doing!

    View full-size slide

  15. The senior pilot should not the only one with
    the possession of keyboard without giving the
    other the opportunity to participate!

    View full-size slide

  16. The first step is to
    discuss how
    functionality should
    be implemented.

    View full-size slide

  17. Often, just explaining your
    idea to somebody else, it
    gets changes for better!

    View full-size slide

  18. The pilot should try to explain
    the code he is creating due
    cognitive learning or receiving
    feedback

    View full-size slide

  19. The co-pilot should express his
    opinion at opportune moments,
    avoiding to break the concentration
    of the pilot.

    View full-size slide

  20. Developers can (and should)
    change positions when they
    find it more productive!

    View full-size slide

  21. I will not lose my
    privacy to check my
    emails and my
    messages?
    I will not lose my
    privacy to check my
    emails and my
    messages?

    View full-size slide

  22. The developers lose their
    privacy to read messages,
    emails, websites of personal
    interest
    But, on the other hand, it
    helps to stay focused on the
    job and the task!

    View full-size slide

  23. One option is to provide a
    more personal place of use
    where developers have
    time for this type of task

    View full-size slide

  24. Have consideration
    with your pair!
    Watch out for
    hygiene, education,
    and communication!

    View full-size slide

  25. But do I have to keep
    pairing with the same
    person on my team?
    But do I have to keep
    pairing with the same
    person on my team?

    View full-size slide

  26. The Ideal is to make a
    rotation between the
    pairs. You can change
    it every day, task or
    even in a few hours!

    View full-size slide

  27. Always pairing between
    the same people can
    cause islands of
    knowledge!

    View full-size slide

  28. But with pair programming,
    I do not lose productivity in
    some cases e.g when both
    in the pair are seniors
    programmers?
    But with pair programming,
    I do not lose productivity in
    some cases e.g when both
    in the pair are seniors
    programmers?

    View full-size slide

  29. Programming and review
    simultaneous in Pairs is one
    pair programming extension

    View full-size slide

  30. Simultaneous Style Pair Programming
    2 people
    1 task

    View full-size slide

  31. The responsibility
    for the task is also
    of the pair! But
    they will do
    simultaneously!

    View full-size slide

  32. They decide how to
    split into chores!

    View full-size slide

  33. They can decide to do tasks with
    Pair Programming or simultaneous
    style Pair Programming!

    View full-size slide

  34. In the simultaneous style pair
    programming, the code review is
    done by the other person

    View full-size slide

  35. No need to pair all the
    time to get the
    benefits of the
    technique!

    View full-size slide

  36. Is it possible to have more than
    two people on the same problem
    at the same time?

    View full-size slide

  37. Mob Programming
    The whole team sits in front
    of a machine and a projector
    and works on the same
    problem

    View full-size slide

  38. Help the introverts, stimulating the interaction,
    making the environment ideal for them.

    View full-size slide

  39. Suitable for problems requiring
    expertise from other people!

    View full-size slide

  40. It is a great way to
    disseminate knowledge to
    the entire team

    View full-size slide

  41. It is a way to overcome very
    difficult challenges or make
    very important decisions,
    giving each team member the
    opportunity to contribute

    View full-size slide

  42. Thank You!
    Herez Moise Kattan | herez at ime dot usp dot br
    herez at acm dot org | herez at herez dot com dot br

    View full-size slide