Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
Practicing Test Driven Development (TDD) is like falling in love. It may first seem like all your development problems will disappear. However, it's not all unicorns and rainbows. You have to work at it, and keep working at it, for the rest of your development life. It is hard, and it's natural to question whether the value is worth the effort. So why do it? Why would you bother going through all that trouble, dramatically changing the way you code, learn new domain specific languages, and initially slow down the rate at which you produce code when you have no time to lose? This talk will answer the "why" by sharing my experience of passing through the five stages of grief (denial, anger, bargaining, depression, and acceptance) as I learned TDD, and how acceptance grew to love. You will walk away from the talk with techniques for maintaining and strengthening your relationship with TDD. Test frameworks and languages may come and go, but the fundamentals and value of TDD remain.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
The video titled "Test Driven Development: A Love Story" presented by Nell Shamrell at the Ancient City Ruby 2013 event explores the concept of Test Driven Development (TDD) through the metaphor of love. Shamrell shares her personal journey of grappling with legacy code and her transition to embracing TDD, which parallels the emotional stages of grief. It reflects on the challenges she faced, her frustrations with legacy systems, and ultimately how she learned to appreciate and leverage TDD in her coding practices. Key points discussed in the video include: - **Initial Experience**: Shamrell describes her blissful start in a new coding job and her sudden responsibility for a troublesome legacy codebase, leading to stress and panic. - **Five Stages of Grief**: She outlines her progression through denial, anger, bargaining, depression, and finally acceptance. Each stage represents a different emotional response to handling the chaotic code before her. - **The Role of TDD**: TDD emerged as a critical tool for improving her coding approach and reducing her anxiety around changes in the legacy code. She emphasizes that the ideal time to write tests is always the present, rather than waiting for a better time. - **Learning Through Testing**: Shamrell discusses how writing tests helped her better understand the legacy code and improve it. She advocates for starting with testing new code and gradually rewriting legacy code to be testable. - **Workflows and Best Practices**: She details her evolving workflow, transitioning from manual testing to a more structured approach involving writing failing tests first (red-green-refactor). - **Community and Continued Learning**: Shamrell highlights the importance of seeking help from the developer community when faced with complex testing challenges. She underscores that TDD evolves and encourages continual learning. - **Final Reflection**: The closing thoughts center on the lasting benefits of TDD, such as fostering better code quality and documentation, alleviating the fear of making changes, and cultivating a more enjoyable coding practice. In conclusion, Shamrell's journey illustrates that while TDD can be challenging, it ultimately enhances a developer’s ability to manage legacy code effectively. TDD transforms coding from a source of panic into an opportunity for longevity and craftsmanship in software development, creating a healthier relationship with the code we write and maintain.
Suggest modifications
Cancel