Chapter 13. RainStor
RainStor is a UK company that builds high-capacity data archiving and management systems. RainStor is an interesting case study because they deal with a technical domain where complexity comes from high data volumes and high-performance requirements, combined with advanced compression and data management algorithms.
The company has fewer than 30 employees, and about half of them work in Research and Development, so they have to be efficient in building and supporting their software. All the developers and testers work as part of the same Scrum team, although they’re now thinking about splitting it into two.
Their journey to Specification by Example was almost organic, without any big plans or buzzwords, driven mostly by the testers. When I interviewed Adam Knight, senior test and support team leader at RainStor, he said, “Nobody else in the company knows what Acceptance Test-Driven Development means.” Although their process has almost all the key elements of Specification by Example, they just think about it as their homegrown way of developing software. They illustrate requirements using examples, automate them into executable specifications, and validate them frequently to build a living documentation system. The changes they implemented allowed the development team to triple in size over three years, at the same time making them more effective.