INTRODUCTION TO TDDYYΧ AGILE VIETNAM CONFERENCE 2019 MIHO NAGASE
INTRODUCTION TO TDDYYΧAGILE VIETNAM CONFERENCE 2019 MIHO NAGASE
PHOTOSHOPPEDPHOTOSHOPPED
PHOTOSHOPPED
INTRODUCTION TO TDDYYΧ
MIHO (MINH HỒNG) @MOLOVESQ
▸ Agile Coach at Attractor Inc.
▸ Lecturer
▸ Author
▸ Translator
▸ Community Organizer
▸ Considered Professional Beer Drinker
INTRODUCTION TO TDDYYΧ
TO KEEP BEING AGILE DEVELOPER
▸ Continuous learning and practicing is necessary
INTRODUCTION TO TDDYYΧ
LEARNING FROM...
▸ other cultures
▸ other companies/organizations
▸ other people
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
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
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
INTRODUCTION TO TDDYYΧ
TDD
▸ Not testing but rather development.
CLEAN CODE THAT WORKS, IN RON JEFFRIES' PRETTY PHRASE, IS THE GOAL OF TEST-DRIVEN DEVELOPMENT (TDD).
Motivator
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
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
INTRODUCTION TO TDDYYΧ
OPPORTUNITIES FOR CONTINUOUS PRACTICING
▸ Coderetreat
▸ TDD Boot Camp
▸ tddyyχ
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
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
INTRODUCTION TO TDDYYΧ
1. FACILITATOR
▸ We just need a facilitator with TDD/Mob Programming experience to share the concept of tddyyχ
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.
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.
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”
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.
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.
INTRODUCTION TO TDDYYΧ
7. KNOWN BY UNKNOWN
▸ Known Languages for Unknown Problems
▸ Unknown Languages for Known Problems
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.
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.
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!
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.
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/