• Teaser Home

    Clean Code Developer School

    Saubere Softwareentwicklung üben – regelmäßig, fokussiert, individuell, angeleitet

Scheduling

Architecture Kata “Scheduling”

Develope a web based software system for use by groups to negotiate when to meet. This should mimic the service http://doodle.com.

A host wants to invite guests to a meeting. He creates a meeting and adds several options for its date, e.g.

  • Today, tomorrow
  • Tuesday 10:00-12:00, Wednesday 11:00-13:00, Friday 14:00-16:00
  • 3.2015 9:00, 14.3.2015 12:00

Each meeting has a title and optionally an explanatory text. Optionally there is a deadline until when guests have to select the dates they are available on.

After the meeting has been setup with dates and guest email addresses the host starts the scheduling process; the guests get invited via email (as well as the host). Alternatively the host can publish a link to the feedback page by other means, e.g. posting in a discussion forum.

The invitation email contains a link to the page where dates can be selected according to personal availability. Each date option can be ranked as “available” (green), “not available” (red), “possibly available” (yellow).

Finally the host closes the scheduling process by either selecting one of the date options (according to the availabilities of the guests) or cancelling the meeting. Guests will be informed about this via email.

If the deadline is reached without a decision the host is informed via email.

Variation #1

Users can register with the service. When they log in they get an overview of the meetings they have been invited to, which have been closed and which are still in feedback gathering.