I've been an Agile practitioner and advocate for a while so much of the content was review for me. However, there were a couple of new areas of study that made the seminar very informative and beneficial. I would absolutely recommend this seminar to a developer new to Agile, a developer who doesn't have a clear understanding of Agile development practices, or a developer who's struggling or uncomfortable in an Agile environment.
The seminar began on a high note with a valuable but often overlooked Agile kick-off exercise: We set expectations, identified challenges, and compared experience/knowledge. And, like a true Agile project that can go in unknown directions, the expectations/challenges we initially identified didn't include items that sparked a majority of the seminar discussion.
Although this seminar was about Agile development practices there were many questions and discussions related to Agile at a higher level, e.g., process and adoption, which seemed to show that many attendees (including me) are having trouble getting Agile right.
A high-level view of the content:
1. Embrace Agile Development - Benefits, Values & principles, Key practices
2. Estimate Work Accurately - Benefits of accuracy vs. precision, User Story estimating, Task estimating
3. Get Things Done "The Agile Way" - Apply patterns, Apply techniques, Work prioritization strategies
4. Automate Tests - Benefits, Characteristics and components of frameworks, Principles and patterns
5. Refactor Early & Often - Code smells, Mechanics, Correlation to patterns
6. Grow Code with Tests - Benefits of code guided by tests, Mechanics of test-driven development, Tools required
7. Test Effectively - Purpose, Black box testing techniques, White box testing techniques
The most valuable topics for me were Get Things Done "The Agile Way" and Test Effectively.
Get Things Done identified new personal productivity tools and practices that I've already put into place. For example, task collection and prioritization, pomodoro technique, and email stratification.
Test Effectively provided a clear and concise definition of white- and black-box testing and identified new guidelines that will ease the test creation task. For example, domain coverage, equivalence partitioning, and boundary value analysis.