Skip to main content

Rob Myers

Agile Institute

Rob Myers is the founder of Agile Institute. He has twenty-eight years of professional experience on software development teams, and has been training and coaching organizations in Agile, Scrum, and Extreme Programming topics since 1998. He has recently worked with numerous organizations, from start-ups to Fortune 100 companies, helping them with cultural change and essential practices during their Agile transformations. His courses are always a blend of fun and practical hands-on labs, "Training From the Back of the Room” learning techniques, and first-person stories from both successful and not-so-successful Agile implementations.

Speaker Presentations
Monday, November 10, 2014 - 1:00pm
Half-day Tutorials
Essential Test-Driven Development

Test-driven development (TDD) is a powerful technique for combining software design, unit testing, and coding in a continuous process to increase reliability and produce better code design. Using the TDD approach, developers write programs in very short development cycles: first the developer writes a failing automated test case that defines a new function or improvement, then produces code to pass that test, and finally refactors the new code to acceptable standards. The developer repeats this process many times until the behavior is complete and fully tested. Rob Myers demonstrates the essential TDD techniques, including unit testing with the common xUnit family of open source development frameworks, refactoring as just-in-time design, plus Fake It, Triangulate, and Obvious Implementation. During this hands-on session, you’ll use exercises to practice the techniques. With many years of product development experience using TDD, Rob will address the questions that arise during your own relaxed exploration of test-driven development.

Laptop Required. Delegates should have strong programming skills and be familiar with an object-oriented language and programming techniques. Delegates should bring a laptop installed with their favorite programming language and IDE—and come prepared to write code. You may need to download JUnit for Java, NUnit for any .NET language, QUnit or Jasmine for JavaScript. For any other language choice (e.g., C++ or Ruby), you will need to install and verify your chosen IDE and xUnit framework prior to the tutorial, as technical support for those platforms will be very limited.

Tuesday, November 11, 2014 - 1:00pm
Half-day Tutorials
Techniques for Measuring Team Velocity

The velocity metric is often misunderstood by teams and misused by management, resulting in increased levels of stress for everyone. Management wants velocity to increase while developers want time to craft the software well. The way a team defines velocity—explicitly or implicitly—can affect its ability to meet delivery commitments. Rob Myers explores the use of velocity as a planning tool, its misuse as a productivity metric, and alternative metrics. Learn effective ways to obtain consistent estimates, evaluate related ways to plan iterations and releases, and track progress. Realistic, non-technical group activities help explore and reinforce our analogies. Try out Steve Bockman’s Team Estimation Game and contrast that with Mike Cohn’s Planning Poker. Discuss how to handle vacations, meetings, and sick days. Learn what to do if the obvious answer to "Are we on schedule?" is "No.” Explore the latest trends, including a balanced examination of what it means to deliver value with “no estimates.”

Wednesday, November 12, 2014 - 10:00am
The Roots of Agility

What we mean by Agile is becoming less and less clear. Rob Myers shares sixteen years of history and observation, noting the amazingly diverse ideologies and practices that people now include under this umbrella term. Agile started with the earliest notions of iterative-and-incremental, inspect-and-adapt principles and practices from Scrum. It now includes the intensive engineering disciplines of XP that have recently branched off into the Software Craftsmanship movement. Along the way, agile grafted in lean principles and saw the flowering of the elegantly simple Kanban approach. And those are just the more obvious adaptations. Rob explores the sensitive but pivotal observations that agile is little more than project management or a certification program to some—and almost a religion to others. He provides his perspective on why this seemingly chaotic churn of values, practices, and metaphors is not a bad thing, and how we can navigate the intertwining disciplines to decide what to embrace. Whether these are the early foundational taproots of agility or the latest innovative branches, Rob examines the value of keeping an open—and simultaneously critical—mind.

Thursday, November 13, 2014 - 10:00am
Design & Code
Emergent Design: History, Concepts, and Principles

Software design is about change. A good design facilitates adding features—and adding new developers to the team. Yet any change to the code impacts design and could damage existing functionality. Without design idioms and practices, the code can degrade into a "big ball of spaghetti” and a maintenance nightmare. Your team must know which decisions to make early in design and which to defer. Rob Myers reviews “families” of design attributes and practices, showing the common principles within each. Exploring emergent design by tracing how the concept itself has evolved and matured over time, Rob covers traditional attributes of good object-oriented code (cohesion, encapsulation, polymorphism, coupling); design patterns and the wisdom discovered within; S.O.L.I.D. principles—all culminating in emergent design, where simple (not easy) practices meet the simplest of guidelines, such as Kent Beck’s “Four Rules of Simple Design.” And the result is code that is easy to understand and delightful to work on.