Slide 1

Slide 1 text

INTRODUCTION TO TDDYYΧ AGILE VIETNAM CONFERENCE 2019 MIHO NAGASE

Slide 2

Slide 2 text

PHOTOSHOPPED PHOTOSHOPPED PHOTOSHOPPED

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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.

Slide 26

Slide 26 text

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.

Slide 27

Slide 27 text

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”

Slide 28

Slide 28 text

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.

Slide 29

Slide 29 text

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.

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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.

Slide 32

Slide 32 text

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.

Slide 33

Slide 33 text

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!

Slide 34

Slide 34 text

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.

Slide 35

Slide 35 text

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/