A reference application with no other purpose than to provide working examples of design patterns, and organizational best-practices. What advantage does this give? ---- Most reference apps take some "real-world" problem and then implement it. There are many problems with this approach: * The scope is usually too small to be truly "real world". * The problem defined is usually not representative of the organization's issues. * They are usually short-term projects that once done, don't get revisited. * They usually don't get exercised in the same environment as real applications. ---- On the other hand, a SeinfeldApplication (especially if done using ExtremeProgramming) can start simple, and grow as needed. Each new design idea, or issue can be written up as a story, and then dummy screens, tables, classes, connections, queue, middleware - whatever - can be added to flesh out the idea. The application should be a full-time project with budget, programmers, management etc. Furthermore, this application is supposed to represent the ideals of the organization as such it can (and should) be used to exercise release and deployment procedures, and '''live in production''' allowing one to test monitoring, security and failure procedures and policies. One objection is that since it provides no "real world" business function, the organization won't fund it. To that, we reply that its values to the business are many: * It provides real-world documentation of the organization's preferred solutions * It provides a central location for knowledge sharing in the organization * It can replace mountains of expensive (and often incorrect) standards documents. * It mitigates risk in the IT infrastructure * Compared to other "cost-centers," how does it stack up? Named for the Seinfeld TV series which was widely touted as being "about nothing" by BobHunter at ThoughtWorks. ---- Contributors: BillCaputo ---- See also DesignPattern, SoftwareDesignPatterns, SoftwareDesignPatternsIndex CategoryPattern