Joel Spolsky wrote about internal feature prioritization few years ago in his article Set Your Priorities. In short, you first come up with a list of features and you calculate rough development cost for each of them. Then you give your “customers” certain amount of money that they can use to buy those features. From there you can calculate the development priority factor for each feature by dividing the spent amount with development cost.
We’ve used this prioritization method few times already when prioritizing internal development issues. Few weeks ago we had a bigger meeting reserved for this so I made some preparations to make it more fun then just writing down numbers in Excel.
We had created a list of around 30 most important features before hands and I had calculated the development cost ($1-$10) for each issue. I printed Monopoly money that was used as currency.
First in the meeting we went through the list of features and had a small discussion about each feature so that everyone knew what each feature really meant. Then I gave everyone $30 of Monopoly money to spend on features that they considered important and that could have positive impact on their daily duties.
Now that everyone had some money, they could freely wonder to the wall where every feature was hanging and they could put their money on selected feature pockets. This way of doing seemed to be very efficient since it made it possible to people to have discussion about the features while spending their money.
After everyone had spent their $30 I calculated the actual prioritization factor for features by dividing the spent money by feature cost. Features could then be sorted by the prioritization factor. Now we are in progress of delivering the first set of low hanging fruit to our internal customers.
If you’ve every wondered methods for feature prioritization I highly recommend you to try out this method.