- Command line interface to simulate the mob programming environment
- Timer funtionality to indicate rotation
- Ability to tell who is the driver, navigator and mobsters
Organizing a group and getting everyone logged in to a single machine is hard enough: let the mob_rotation tool handle the rest!
First, install the mob_rotation gem from the terminal:
$ gem install mob_rotation
Now that the gem is installed, get a handy list of commands by running:
$ mob_rotation help
Nice! But mob programming revolves around action, so let's get our team in place using the add
command:
$ mob_rotation add "John Lennon <[email protected]>"
Sweet! John has been added. Suppose you wanted to add
the rest of the mobbers in one line:
$ mob_rotation add "Paul McCartney <[email protected]>" "George Harrison <[email protected]>" "Ringo Starr <[email protected]>"
Boom! Let's make sure they were all added correctly with the show
command:
$ mob_rotation show
Here's what we get back:
git username: John Lennon
git user email: [email protected]
Driver John Lennon <[email protected]>
Navigator Paul McCartney <[email protected]>
Mobster George Harrison <[email protected]>
Mobster Ringo Starr <[email protected]>
Shoot! We have a typo in Ringo's email address, so let's remove
him then add
him back with the correct info:
$ mob_rotation remove "Ringo Starr"
$ mob_rotation add "Ringo Starr <[email protected]>"
Alright, we think we got it right this time... Let's use show
to verify:
$ mob_rotation show
Which returns:
git username: John Lennon
git user email: [email protected]
Driver John Lennon <[email protected]>
Navigator Paul McCartney <[email protected]>
Mobster George Harrison <[email protected]>
Mobster Ringo Starr <[email protected]>
Perfect! Before we start hacking away, let's randomize our participant order with random
:
$ mob_rotation random
Which returns:
git username: Ringo Starr
git user email: [email protected]
Driver Ringo Starr <[email protected]>
Navigator George Harrison <[email protected]>
Mobster John Lennon <[email protected]>
Mobster Paul McCartney <[email protected]>
Awesome! The group has been shuffled up and new roles have been assigned. Ringo is ready to drive, and George is ready to navigate: we'll start a 5-minute (300 second) mob cycle using the run_with_timer
command:
$ mob_rotation run_with_timer 300
Great! George navigates and Ringo drives for 5 minutes, and as soon as that time is up the tool sends us a message at the command line:
Time to rotate
Solid! Let's move forward one cycle by using the rotate
command:
$ mob_rotation rotate
Which returns:
git username: George Harrison
git user email: [email protected]
Driver George Harrison <[email protected]>
Navigator John Lennon <[email protected]>
Mobster Paul McCartney <[email protected]>
Mobster Ringo Starr <[email protected]>
Repeat the run_with_timer
and rotate
commands until the end of the mob session!
- Ruby 2.1.2
- RSpec
- Timer
- Randomization of Driver/Navigator
- Browser-based GUI
TODO