Steve Kuo (Bob) and Mark Mattingly (Bob) remember their first time… with Agile development practices. Bob remembers the A-ha moment clearly.
Bob started out in development after taking a year of classes at a community college where he learned “how to program” using If-Then-Else. What followed was a prolonged period of feeling like a terrible developer and almost quitting because he “couldn’t figure out how to get better.” A chance encounter with test-driven development and pair programming turned that around. Instantly, many of Bob’s unanswered questions were answered, chiefly: “I was never sure how much design to do before I started writing code.” With TDD, however, there was very little up-front design. And it only took a half hour to learn the basics.
Bob’s experience, however, was a little different from Bob’s. Bob began in the gaming industry. One thing that started him down the path to Agile software development was trying to figure out how to make a modularized season scheduler for a football game. He needed to figure out how to get a particular randomizer to work, so he developed a test framework to test the scheduler for duplication, etc. Later when he joined SolutionsIQ, he was introduced to TDD and recognized that it would have made his life easier if he’d known it while developing the modularized scheduler at his previous employer.