Chapter 14. Iowa Student Loan
Iowa Student Loan is a financial services company that pushes the ideas of Specification by Example to the limit. They’re an interesting case study because their living documentation system gave the business a competitive advantage. It enabled them to efficiently deal with a major business model change.
The Iowa Student Loan development team builds and maintains a complex system, from the public website, which takes loan requests, to the back-office systems for underwriting and origination. Apart from that, the main driver of complexity on their projects is the data-driven nature of the domain.
I interviewed Tim Andersen, Suzanne Kidwell, Cindy Bartz, and Justin Davis, who worked on several different projects while the company was improving its software process. It was interesting to track how they rolled practices from a smaller project into rewriting the entire underwriting platform.
In 2004, the Iowa Student Loan development team implemented Extreme Programming by the book to improve the quality of their software. When their next project went to production, they prepared to handle bugs similarly to the way they did things in the past. Over the next 12 months, the new system only had half a dozen bugs. This proved to the management that agile development, especially writing tests first, was a good idea and that it significantly improves quality.