FDD and Pet Store might be instructive

This is in response to a request for a list of features. Would it be worthwhile for the community to apply FDD to the PetStore project which is rather well known in the java and .Net Community. This could then serve as a instructive application of FDD beginning to end ( the source code is already on the Net as well as a complete running example).

Others have done this using variants of the Unified Process.

Jeff states
Your request for an FBS from a real project is understandable but problematic - for several reasons. Features are very granular and therefore are very project and domain specific. This means that a small number features from a real project FBS are unlikely to make sense to someone outside that domain
"This is a great Feature. It is written using the feature naming template, it is granular and fits well within the no more than 10 days rule, and it is client-valued: to the client from this domain. I doubt very much that this Feature means anything to you or most others that read it though." Jeff D 12/17/03

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


Can you give the links for java and .net petstore and links for the unified process of petstore also.

Jeff De Luca's picture

More Information

I (partially) agree with mr anonymous - can you provide the references or links to these case studies? My 2-second google search for java pet store didn't get me anything other than source code to download. I couldn't see any requirements document or spec? (I'll concede maybe it's in in the download package). In the absence of this and the absence of a domain expert, how would the features list be done? Certainly not by trying to reverse engineer a categorised list of client-valued features from source code.

But.. I did not look beyond the first few hits.


Not a bad idea!

Using the pet store example is not a bad idea. Its been widely discussed and analyzed in the J2EE community.

The main issue I can see is that there is no real pet store and hence no domain experts to resolve any domain issues that might arise. I am not aware of a complete definition of the requiements, although I did find one of those completely useless stick man use case diagrams. This link has a fairly detailed description of the pet store.

This would be a useful demonstration of both feature lists and domain modeling (to the extent they are separable). I doubt it would be a good example of the FDD process.

I might give it a try.