Cory Maksymchuk introduces 3 patterns for writing cleaner code: Predicates, Classifiers, and Transformer.
Doug Hiebert discusses the principles and objectives behind automated testing, TDD, Unit and Integration Testing, using asserting and mocking to write tests, and static analysis.
Phil Nash discusses the challenges and practical consideration regarding doing TDD on mobile devices, providing advice for such development on iOS.
Philip Japikse discusses and demoes doing BDD with Context Specifications, then using MSpec to transform those specification into TDD code.
John Davies examines Visa’s architecture and shows how major enterprises have architected very complex integrations incorporating Hadoop, memcached, Ruby on Rails, and many others to deliver innovative technology solutions. John explains how the platform architecture and technologies -- integrated and invented -- must be reliable and able to massively scale.
Keith Braithwaite conducts a tutorial class on TDD based on the following technique: Add a test, See it fail, Make all tests pass, Refactor, and Repeat until done.
James Kovacs explains how to use TDD and BDD to focus the architectural efforts on the high-value areas of the code in order to obtain just-in-time software architecture.
James Kovacs discusses using TDD and BDD to avoid complexity and creating evolving architectures where convention is emphasized over configuration.
Tom Sulston explains how to manage systems with Cucumber and Puppet based on BDD principles, including practical tricks and pitfalls. The session demoes using those tools.
Jason Gorman presents how developers can learn TDD to the point of transforming the knowledge acquired into habits by exercising a number of practices over a period of 4-6 months followed by evaluation done by fellow co-workers.
Nat Pryce exemplifies how he dealt with flickering, false positives, slow, and messy tests appearing in asynchronous testing when trying to perform end-to-end testing.