Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
TDD has been tattered, torn, twisted, stood on its head, and pounded into an pulp of techno-fetishism. TDD was a game-changer, but the focus in the interceding years has shifted from technique to tools, and TDD has been devolving into a lost art. By tearing TDD down to its bones, this presentation presents TDD in its essence, free of tools, and reinforcing the primary focus on design principles. It attempts to convince you to return to a simpler time when TDD was still about design, and software developers were dutifully steeped in the critical importance of design principles. To avoid being held to any particularly offensive positions, this talk liberally attacking the status quo of testing and contemporary tool-focused TDD in Ruby, while introducing yet-another testing library in Ruby. :) Help us caption & translate this video! http://amara.org/v/FG8c/
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
In the presentation titled **"TDD in Tatters,"** Scott Bellware addresses the evolution and degradation of Test-Driven Development (TDD) from its original design-focused intent to a tool-centric approach. With automation and various testing tools taking precedence, Bellware prompts the audience to reconsider the foundational principles of TDD grounded in good design practices. The key points discussed throughout the video include: - **Misunderstanding of TDD:** Bellware asserts that TDD is often poorly implemented and understood, becoming more focused on automation rather than on mastering design. - **Subtle vs. Crude:** He distinguishes between 'subtle' aspects of design—reflecting deeper analysis—and 'crude' elements like tools and frameworks that often distract from these subtler principles. - **The Journey to Mastery:** Mastery is presented as a process rather than a destination, with continual growth in skill requiring attention to the subtle shifts in understanding design. - **Impact of Automation:** Automation can hamper understanding and productivity, creating a disconnect between developers and the code they write, leading to reliance on tools instead of fostering intimate knowledge of the codebase. - **Design Principles:** Good design is emphasized as paramount, requiring practices such as encapsulation, coupling, and abstraction. Poor design leads to complications and increased reliance on testing to cover up flaws. - **Thought-Driven Development:** Bellware promotes the need for reflection and thought in software design. Recognizing design flaws early allows developers to maintain clarity and intention in their coding practices. - **Minimal Automation Approach:** He introduces a simple string reversal application as a demonstration of TDD, using minimal automation to underscore direct engagement with the code. - **Cultivating Effective Practices:** Bellware concludes by encouraging a conversation around effective TDD practices, suggesting that a refined understanding of design can cultivate better productivity and outcomes in software development. Ultimately, Bellware's talk serves as a call to return to the heart of TDD: focusing on design and craftsmanship over merely using tools, reminding developers that true productivity stems from a strong grasp of design principles rather than automated processes.
Suggest modifications
Cancel