At SRMvision, we use agile methods since day one, mainly Scrum, which we rearranged to fit our needs and goals at times. We've always looked for the perfect computerized alternative to good old stickies.

TrelloScrum Chrome Extension

When it came out, it was clear to me that Trello could be the cornerstone of our internal workflow, we started from the very good TrelloScrum plugin available on the Chrome Web Store to count story points. This plugin is really useful in planning sprints, it allows the Scrum master to track story points scheduled in order to fill every single day in the sprint.

Forking the extension

After a few sprints, we realized we needed more than what was included in the plugin. The main thing needed was tracking consumed story points to get a really rapid and efficient feedback on our sprint (real-time burndown values). Thanks to the guys behind the plugin (Q42) and to Github, I was able to fork the project and add these features :

  • if you note points in square brackets : [3] they are considered as consumed points (contributed back to the plugin available in the Chrome Web Store)
  • on card detail, hitting the "Done" button flags the whole card points consumed and moves the card to the bottom of the list, then the card view is closed so you can focus on something else (only available in my fork)
  • plugged to the Trello client API, less flickering when updating cards

With this plugin, you'll get two counters on the top of each list and on a top of the board : consumed points in light blue and scheduled poins in blue. The scheduled and consumed terms are the one we use at SRMvision, but you can use it the way you like to manage your sprints.

Using the extension

If you want to use my fork of the extension, you'll need to get it in my Github account. As it is not available in the store, you'll need to drag and drop the downloaded file on the chrome://extensions page.

Next, you'll need to authenticate the plugin to your Trello account, to do so, there is a little circle on top of your profile picture which is on the top right corner of Trello.

You can use the plugin without allowing it to authenticate, if you do so, you won't be able to flag cards as Done using the button and thus, cards won't be moved to the bottom. To authenticate, you need to click the circle, it will popup the authenticate dialog, just follow the steps in this popup (and close it manually when you see a blank page - limitation of the extension).

Once authenticated, you should see a green circle and a "Done" button on cards details.

If you have feature requests or bugs, don't hesitate to use the Github issue tracker.

I just made a pull request for integrating Vert.x into Homebrew. You can see it here : https://github.com/mxcl/homebrew/pull/12227, when it will be merged, a simple brew install vert.x will allow you to enjoy this sweet framework.

As our GitlabHQ setup at SRMvision is mean to stay, we wanted to migrate from the standard SQLite database to an easier to manage for us : mySQL.
The steps are quite straighforward, first, setup mySQL :

create database gitlab; 
grant all privileges on gitlab.* to "gitlab" identified by "gitlab"; 
flush privileges;
Then prepare to dump the data out of GitlabHQ, stop your webserver, then, from your GitlabHQ folder :
bundle exec rake db:data:dump RAILS_ENV=production
this will create a db/data.yml file. All you have to do now is reconfigure GitlabHQ to connect to mySQL and reimport the data. The database configuration takes place in the config/database.yml file, backup your existing file and rename the database.yml.example :
mv config/database.yml config/database.yml.old
cp config/database.yml.example config/database.yml
Then edit the file to reflect your new configuration, only the production section is relevant in our case :
development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: gitlabhq_development
  pool: 5
  username: root
  password: "secure password"
  # socket: /tmp/mysql.sock

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: gitlabhq_test
  pool: 5
  username: root
  password: "secure password"
  # socket: /tmp/mysql.sock

production:
  adapter: mysql2
  encoding: utf8
  reconnect: true # allows to autoreconnect if the mysql service restarts
  database: gitlab # to replace with your database name
  pool: 5
  username: gitlab # to replace with your credentials
  password: "gitlab" # to replace with your credentials
  socket: /var/run/mysqld/mysqld.sock # mysql socket location on debian
Once this is done, you have to create the schema and restore your data :
bundle exec rake db:setup RAILS_ENV=production
bundle exec rake db:data:load RAILS_ENV=production
Job's done, you just need to restart the GitlabHQ server now (nginx, apache...). If you encounter a problem and this does not work as expected, you just have to restore the database.yml.old file to go back to SQLite.