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

Introduction to TDDYYΧ

Miho Nagase
December 07, 2019

Introduction to TDDYYΧ

TDDYYΧ is a half-day event to learn new software design approaches and/or new programming languages by mobbing together. To keep being an outstanding Agile programmer, we want to practice more on the fundamentals of software development and design. It is just like training your muscles. Like muscle training, you might find it difficult to continue when you do by yourself. When you are with friends working together, it would be much easier to keep practicing. TDDYYΧ is a perfect format to help you continue practicing. In this session, the presenter will explain how you can run an event, and the results of TDDYYΧ events so far.

Miho Nagase

December 07, 2019
Tweet

More Decks by Miho Nagase

Other Decks in Technology

Transcript

  1. INTRODUCTION TO TDDYYΧ
    AGILE VIETNAM CONFERENCE 2019
    MIHO NAGASE

    View Slide

  2. PHOTOSHOPPED PHOTOSHOPPED
    PHOTOSHOPPED

    View Slide

  3. INTRODUCTION TO TDDYYΧ
    MIHO (MINH HỒNG) @MOLOVESQ
    ▸ Agile Coach at Attractor Inc.
    ▸ Lecturer
    ▸ Author
    ▸ Translator
    ▸ Community Organizer
    ▸ Considered Professional Beer Drinker

    View Slide

  4. INTRODUCTION TO TDDYYΧ
    TO KEEP BEING AGILE DEVELOPER
    ▸ Continuous learning and practicing is necessary

    View Slide

  5. INTRODUCTION TO TDDYYΧ
    LEARNING FROM...
    ▸ other cultures
    ▸ other companies/organizations
    ▸ other people

    View Slide

  6. INTRODUCTION TO TDDYYΧ
    LEARNING…
    ▸ Programming techniques
    ▸ Programming languages - new to you
    ▸ Testing frameworks
    ▸ Design
    ▸ The way you work
    ▸ The way you think
    ▸ The way to communicate with others
    ▸ Facilitation

    View Slide

  7. View Slide

  8. INTRODUCTION TO TDDYYΧ
    QUALIFICATIONS FOR AGILE DEVELOPERS
    ▸ Communication
    ▸ Explains ideas
    ▸ Asks good questions
    ▸ Has good listening skills
    ▸ Isn't afraid to explore, question, make a
    mistake, etc.
    from Job Description used for an internship program at Hunter Industries

    View Slide

  9. INTRODUCTION TO TDDYYΧ
    QUALIFICATIONS FOR AGILE DEVELOPERS
    ▸ Technical Aptitude
    ▸ Grasps Concepts
    ▸ Sees Patterns
    ▸ Understands Code (not language
    specific)
    from Job Description used for an internship program at Hunter Industries

    View Slide

  10. INTRODUCTION TO TDDYYΧ
    TDD
    ▸ Not testing but rather development.

    View Slide

  11. CLEAN CODE THAT
    WORKS, IN RON
    JEFFRIES' PRETTY
    PHRASE, IS THE GOAL
    OF TEST-DRIVEN
    DEVELOPMENT (TDD).
    Motivator

    View Slide

  12. INTRODUCTION TO TDDYYΧ
    3 STEPS OF TDD
    ▸ Test - A process of specification
    ▸ Code - A process of generalization
    ▸ Refactoring - A process of design
    "Six Years of Teaching Certified Scrum Developers" by Terry Yin. 2017

    View Slide

  13. INTRODUCTION TO TDDYYΧ
    TAKUTO WADA SAID…
    ▸ Do write;
    ▸ HOWs in production codes
    ▸ WHATs in test codes
    ▸ WHYs in commit logs
    ▸ WHY NOTs in code comments
    @t_wada on Twitter, 2017

    View Slide

  14. INTRODUCTION TO TDDYYΧ
    OPPORTUNITIES FOR CONTINUOUS PRACTICING
    ▸ Coderetreat
    ▸ TDD Boot Camp
    ▸ tddyyχ

    View Slide

  15. View Slide

  16. View Slide

  17. View Slide

  18. View Slide

  19. View Slide

  20. View Slide

  21. View Slide

  22. INTRODUCTION TO TDDYYΧ
    STRUCTURE OF A TDDYYΧ
    ▸ 1:00 pm Tutorial session for TDD and Mob Programming
    ▸ 1:15 pm Opening circle
    ▸ 1:20 pm Session 1
    ▸ 3:20 pm Retro & Break
    ▸ 3:30 pm Session 2
    ▸ 4:40 pm Closing circle

    View Slide

  23. INTRODUCTION TO TDDYYΧ
    10 PRACTICES OF TDDYYΧ
    ▸ Help people become free from the pressures of 'getting things done'
    ▸ Help people fail safely
    ▸ Encourage people to run experiments

    View Slide

  24. INTRODUCTION TO TDDYYΧ
    1. FACILITATOR
    ▸ We just need a facilitator with TDD/
    Mob Programming experience to
    share the concept of tddyyχ

    View Slide

  25. INTRODUCTION TO TDDYYΧ
    2. REPEATER
    ▸ Depending on a single facilitator from organizers can become a single point of
    failure. We ask and encourage repeating participants to facilitate.

    View Slide

  26. INTRODUCTION TO TDDYYΧ
    3. FEELING INCOMPLETENESS
    ▸ Becomes good motivation for continuous learning. Software developers tend
    to “finish” the work. By trying a challenging problems that cannot be “finished”
    in time, developers get a little frustration.
    ▸ This leads to the continuous learning at home or at office with the colleagues.

    View Slide

  27. INTRODUCTION TO TDDYYΧ
    4. UPCOMING EVENT
    ▸ We decide the next schedule by the end of a session. “We can try again soon
    and we can do it better next time”

    View Slide

  28. INTRODUCTION TO TDDYYΧ
    5. ROTATE ROLES WHEN RED
    ▸ Rotate roles when in a small RED phase in a TDD cycle. This gives all
    participants to code. 3 to 5 is optimal team size.

    View Slide

  29. INTRODUCTION TO TDDYYΧ
    6. CELEBRATE FAILURES
    ▸ Celebrate failures. It is always fearful to fail,
    especially in front of people you don’t know.
    ▸ If you successfully failed a test, it’s a success.
    Celebrate the failure with applause.

    View Slide

  30. INTRODUCTION TO TDDYYΧ
    7. KNOWN BY UNKNOWN
    ▸ Known Languages for Unknown Problems
    ▸ Unknown Languages for Known Problems

    View Slide

  31. INTRODUCTION TO TDDYYΧ
    8. MAKE STRANGE
    ▸ Crate a team with strangers in the first session.
    ▸ Making cultural conflicts visible would enhance learning.
    ▸ For the second session, participants choose how to make a team.
    ▸ Continue with the first session team, create a team with colleagues/friends,
    or create a team with strangers again.

    View Slide

  32. INTRODUCTION TO TDDYYΧ
    9. AUTOMATIC GROUP FORMING
    ▸ Do not consume much time to create teams.
    ▸ Create a sequence with experience and assign teams by calling numbers is a
    easy and fast way.

    View Slide

  33. INTRODUCTION TO TDDYYΧ
    10. LET’S WAI WAI!!
    ▸ WaiwaiʮΘ͍Θ͍ʯ literally means "cheerful and noisy" in an informal way.
    Make an awkward moment with strangers a little less awkward. Let’s Wai Wai!

    View Slide

  34. INTRODUCTION TO TDDYYΧ
    TIPS FOR CONTINUOUS PRACTICING
    ▸ Don’t be obliged to continue for others.
    ▸ Do not to try to host others. Try to host yourselves.
    ▸ Welcome people who want to join there.

    View Slide

  35. INTRODUCTION TO TDDYYΧ
    CẢM ƠN BẠN RẤT NHIỀU
    ▸ Please run tddyyχ at your office, school, community meetup
    ▸ Please join tddyyχ in Japan someday
    ▸ https://tddyyx.github.io/

    View Slide