Coffee and its Effects on Feature Creep (2011)

  • I love this. Although it is a bit more advanced than what we had, we suffered a similar problem:

    On Friday when the boss shouted us pizza, we had a problem with everybody trying to order various pizza's, various half pizza's, and various sized pizzas over email. Then the orderer had to collate all of these into a coherent order for the pizza shop.

    In the end, we wrote a new module for our internal project management system called "The Pizza Module".

    The Pizza Module would be pre-populated with the menu of our favourite pizza shop, so that you couldn't place an order for something that didn't exist. It would then allow people to enter orders via intranet, and then resolve things like four people ordering "half a mexicana" into two mexicana's. It also came with the "fat graph" report, which always had the orderer with the fattest amount (due to people who didn't have access to the intranet ordering through him).

    Finally, it was fitted with a feature that prevented ordering, unless your timesheet was complete for the past two months. For a long time, it was very successful, and worked perfectly as intended).

    However, in the end, it broke down when we moved away from it as we shifted to a different project management system. Nobody could be bothered writing a new pizza module (or refactoring the old pizza module to work with various project management systems), so we now use a collaborative Google doc with a table that people can place orders in. This is a Bad Ideaâ„¢, and is far more open to gaming than the system described in the article. However, it is good for 5 minutes of entertainment on a Friday morning, watching people going back and forth on the shared doc.

  • scott_s posted this a few weeks ago, so normally we would bury it as a dupe. But it's so perfect for HN, and got so little of the attention it deserved, that I'm going to leave it up.

    On a trivial note, blogspot's auto-switching between .ca, .au, .in, .co.uk, .com, and every other suffix under the sun is some of the most annoying bullshit we have to deal with on this site.

  • This sort of thing is why we had free lunch for employees, ordered via Seamless out of a spreadsheet of your regular order per restaurant. It wasn't a benefit - it was just a way to save the company time. It was costing more to pay for people's time spent coordinating what to do for lunch on their own than it did to just buy everyone lunch.

  • Did you notice an expansion in the total money supply in your office due to deposit multiplication?[1] I can conceive of a situation where three people who wanted to prank you can game the TCNW statistics by circularly assigning debt to each other. For example, Alice says she owes Bob $20 billion, Bob says he owes Charlie $20 billion, and Charlie says he owes Alice $20 billion.

    [1] http://en.wikipedia.org/wiki/Fractional_reserve_banking#Exam...

  • In Denmark, the biggest bank have made an app where you sign up with your bank account and payment card. Then you can transfer money between friends (sending, asking and splitting). And it only requires you to login with a PIN code, and then you just use peoples mobile nr.

    There's obviously limits on how much can be transferred, but it's ideal for those small purchases.

    It's available on iOS, Android and even Windows Phone. Link to Android version: https://play.google.com/store/apps/details?id=dk.danskebank....

    Currently free to use, but in some years there's a minor percentage fee.

  • Debt tracking can also be done with Splitwise: https://www.splitwise.com/

    which is good for when you don't have cash money at the Redwood City taqueria.

  • I always enjoy good "gaming the system" reads. Nothing beats the story of LucasArts' Habitat.

  • Excellent story. The comments from previous workmates give the sense that this was a nice place to work.

    Here is a puzzle...

    In my old pre-ubiquitous-computing physics lab we did something similar to the system described in the OA with a large piece of graph paper and a collection of coloured pens. It was called the Who Buys Next Chart.

    We made our own coffee and tea, you understand. Axes were drawn with number of cups made along the bottom and money up the side. A thick black line of gradient equal to the average cost per cup was drawn(1). Each member had a different colour pen.

    When you made a drink you extended your line along an amount equal to the number of drinks. When you bought something you extended your plot with a vertical line equal to the amount you spent. Equitable contributions implied a plot approaching the thick black line.

    When we ran out of a crucial ingredient, the person whose plot had reached furthest left below the line (i.e. who had made the most drinks but not bought much) had to go and buy the stuff.

    The system was gamed in various ways - or more accurately various strategies evolved to avoid having to go out in the rain and various issues about equitable contribution arose.

    Can you spot some of the more obvious ones?

    (1) The gradient was determined by the accumulated result from the previous WBNC. This tradition had been in place for some years, and a large sheet of graph paper lasted for a couple of months.

  • Instead of assigning person-to-person debt relationships, my company just tracked the sum of each person's net debt on the whiteboard, with a circular buffer log so we can go back and fix things in case the sum doesn't add up to 0. The trouble with that is when people are too lazy to update the sum, so they end up hoarding a bunch of receipts and then update it way later. Eventually some numbers got really big, so I put some offsets on the board so that infrequent participants' contribution to the sum was zero. And then people left the company with nonzero debts...

    Another option that we've started doing is to just randomly assign the task of paying for a meal, weighted by each person's proportion of the cost.

    Once somebody has a debt to a coworker, though, the most efficient way of paying it off is to bet double-or-nothing on a coin flip until the debt is zero or the debtor is uncomfortable increasing it further.

  • > yes, I implemented coffee drink definition ACLs

    This is so excellent

  • I stopped reading at "venti non-fat 180 degrees vanilla latte with two equals, extra squirt of vanilla, and whipped cream".

    That is not coffee.

  • One man's feature creep is another man's Agile iterative development. Started with an MVP and iterated onwards :P

  • As fun as implementing Caffeinator might have been, this makes me wonder if the simpler solution of buying a nice coffee machine could had solved the issue in a much simpler way (and cheaper... developer time is expensive, and more so on weekends! :)

  • Best quote: "And that's how I set out to simplify ordering Starbucks and created an internal banking system."

    Very entertaining story, and I think it's less feature creep than building a product that is valuable to you and your colleagues iteratively. I'd mark this as a success.

  • undefined

  • Our office has free tea/coffee/milk.

  • We just have a company supplied expresso machine and try to convince the team leader to put work lunches on his company credit card. Much simpler :-)

  • I thought this would end up being the story of how Ripple came to be.

  • Credit card roulette is the only sane way to pay group tabs. It's also much more fun.