I originally wrote down the most basic of requirements for a convention registration system.
At it's most basic a convention registration system must:
- Be a web accessible system (ie, a website).
- Allow a user to choose from a one day or weekend pass.
- Allow a user to sign up for one of the two choices with a name and address.
- Allow an organizer to set the # of available one day passes.
- Allow an organizer to set the # of available daily passes.
- Allow an organizer to remove a user from a convention and free up pass slots.
- Allow the system to refuse a user when passes run out.
- Display using ugly developer art.
The first and last requirements are opinions so they're not real requirements. Reading through the remaining requirements we find we have two customers (a user and an organizer) and a decent grouping of work. I'll rewrite these as actual stories with customers and actions and a little acceptance criteria round them. Nothing seriously formal but enough detail to understand what we're building.
As a convention organizer, I want to set up a convention for limited duration so fans can come and enjoy the show without overflowing the venue.
- AC: An interface to create a new convention with a date of the convention and a cap.
As a convention organizer, I want to set up a convention with multiple options so fans can come for one day or all days of the meeting and have fun.
- AC: An interface to add options to the convention with caps on options that, when added together, are less than the cap.
As a convention organizer, I want to manage the users so if a con goer decides not to attend I can return that slot to the pool and more people can come.
- AC: An interface to remove a user from a convention and up the # of burned slots back to the pool.
- AC: An interface to show # of burned slots for a convention.
As a user, I want to choose from possible convention going options and reserve a slot with my name/address/email so the convention organizers can send me my ticket!
- AC: A small user website that allows a user to put in their information and pick an option for a convention.
- AC: A website that reflects if a convention ticket option is full or not.
This is already feeling like too much work for a first deliverable so all the other things we think about for this system goes into the backlog.
Things for the backlog
- Creating a nice flow for the website.
- Adding prices to options.
- Creating reports.
- Creating accounts.
- Interfacing with local lodging options.