Mob Programming is a software development approach where the whole team works on the same thing, at the same time, in the same space, and at the same computer. For more details, see the Agile Alliance definition : https://www.agilealliance.org/glossary/mob-programming.
With global pandemic context and remote workers, it has become really hard to bring the team at the same place. This is where this app comes in, by dematerializing this approach.
For a better experience with remote collaborators, you should use your favorite communication tool together with this app.
For the record, this application was initially created by a group of 2nd year undergraduate students in software engineering from the AEN Group (Nîmes campus), sponsored by PACK Solutions.
This step is only required if you want to run Mob Programming on a self-managed server or a local machine. To directly use the Mob Programming app, you can skip this step and go to the How to paragraph.
You need to install Node.js to run the Mob Programming app which is an Angular application. Node.js comes with a package manager called npm.
- Install node.js (requires Node.js version ≥
12
)
git clone https://github.com/PACK-Solutions/mob-programming
cd mob-programming
Install the npm
packages described in the package.json
:
npm install
Run the app after installation:
ng serve
An instance of Mob Programming is available on : https://pack-solutions.github.io/mob-programming/.
This instance is automatically updated as soon as a commit is pushed on the
main
branch.
If you followed the Installation step: once the app is running, open your web browser (see Browser compatibility) and go to http://localhost:4200
If port 4200 is already in use, you can run the app on a another port (look at the
--port
option on https://angular.io/cli/serve)
Now you should see the "Rooms" page with two options:
- Create a new session
- Change language (English and French are supported)
After clicking on Create a new session, you have to configure:
- Time session by team member in minutes (left block).
- Add all the members of your team (right block).
- Optionally, you can:
- Shuffle team members.
- Rename or remove team members.
- Use random mix of team members (by default each turn is in ordered mode by list).
You're ready? So click Start
.
The top name is the team member who is developing, the bottom name is the next turn when the chrono arrives at 0 and the sound notification sounds.
Bottom name is only present on
List
mode.
Tips:
- When the team needs a break, you can click the pause button.
- If the team member whose turn is ongoing must be absent, you can click the
next
button.
Enjoy!
Browser | Tested versions |
---|---|
Brave |
≥ 1.23.73 |
Chrome |
≥ 91 |
Firefox |
≥ 89 |
Microsoft Edge |
≥ 91 |
Thanks to inipagi on Iconfinder who made the logo we use.