Application Kata "MobTimer"

Write an application that helps to carry out the work of a team in MobProgramming [1] "in tomato time" [2]. As a timer, the application should issue an alarm after two time periods have elapsed:

  1. There are work phases, i.e. longer periods of time (default setting: 25 min).
  2. There are breaks, i.e. shorter periods of time. A shorter break after each work phase (default setting: 5 min) and a longer break (default setting: 15 min) after a number of work phases (default setting: 3).

In MobProgramming, the team works on just 1 computer. The driver sitting there is "remote-controlled" by the other team members (navigators). The driver changes after each work phase. For this reason, a list of team members should also be recorded in the application, from which the next driver is selected for each work phase.

For each work phase, you can also enter a short description of what it will be about. Together with the name of the driver, this creates a simple log of the day's work.

At the end of a work phase, the application alerts the team with a sound signal and by placing itself in the foreground across the entire screen. This interrupts the work radically - but makes the need for a change all the clearer.

At the end of a pause, the application alerts you again with a sound signal. However, the next work phase is not started automatically. This requires selection of the driver and manual confirmation.

If work phases cannot be maintained in a concentrated manner, they must be interrupted. This is logged separately by the application [2]. A new work phase must be started after the interruption.

During work phases and breaks, the application should display a countdown. As long as the application is minimized, it should somehow be visible "at the edge of the screen" (window title?) or at least as a tooltip.

 

 

en_USEnglish