We have recently had a number of discussions on the messageboard about requirements patterns. The concept comes from the software design world which uses design patterns to save significant time when architecting software (See Design Patterns: Elements of Reusable Object-Oriented Software )
The concept behind requirements patterns is similar with the thought there are common high level use cases that are repeated over and over in all software. For example, calculating Tax in the U.S. pretty much works the same way in every e-commerce application. Effectively the same requirements have to be rewritten each time. The happy path, the error conditions and alternate scenarios are all similar. However, while the underlying requirements are the same, the actual look and feel could be radically different. There are certainly patterns for shopping carts, purchasing items, manipulating data in tables and so on.
Yahoo recently released a design pattern library. This library is an example of what we mean by requirements patterns. Yahoo calls their library a design pattern library, but it primarily deals with what the user cares about. From our point of view, this means that the library really is a requirements pattern library. Developers could make multiple implementations from the library that would behave the same way, but the architecture of each of those implementations could be radically different. We would like to see a bit more structure and consistency in the presentation though as the patterns library is a mish-mash of use cases, requirements and user interface references. However, this is a promising start to a requirements patterns library.