Twitter Weekly Updates for 2010-11-16

Powered by Twitter Tools

The Penny Game: A Way to Prioritize Tasks Among Many Projects

I’m a fan of agile practices in programming, and encourage my team to work along agile principles as much as possible. One thing that has always been tricky about that for us, however, is that we don’t really match the usual profile of a software team.

Most agile teams (at least in the literature) are focused on a single project, and have multiple people working together to get that project done. We, on the other hand, do all the development work for Texas State University’s Learning Management System (about 32,000 users), Content Management System (287 sites at current count), an Event Calendar system, the University iPhone app, a reservation system for training classes, a custom web content caching system, various custom-built content management systems for accreditation and regulatory compliance, and a bevy of internal tools — all with 6 people.

Needless to say, I’m very proud of my team.

Prioritizing the time of six people when we have ongoing responsibility for more than twice that many projects is, however, a daunting challenge. Our approach for a number of years had been to set release milestones for each project, to do release planning meetings to determine what should go into a given release based on our Planning Poker estimates, and then to try our best to get the work done in time.

This approach had a few problems:

  1. Release planning meetings were long and boring. We would walk through the list of unresolved tasks for a given project one by one to see if anyone wanted to prioritize that task. 90% of our time was spent saying “Ticket #666: add a green widget to the defrobulator. Anyone interested? Anyone? Class? Bueller?” (Only to have Bueller pipe up three tickets later: “Can we go back to ticket #666 for a minute?”)
  2. It was easy for people who had an interest in one project to commit 100% of the development team’s time to that project, while folks who were keen on another project would commit all of our time to that project as well. Our planning process didn’t reflect the fact that all the projects were competing for the same resources.
  3. If we finished all of the tickets for a release early and had extra time (a pretty rare problem, admittedly), we didn’t know what to work on next.

So a few months back, I decided to try an experiment. I got the stakeholders for all of our projects in a room together, gave them each 10 pennies, and explained to them the rules of the game:

“Today you are going to help the development team set our priorities. You each have 10 pennies, which represent tasks you can vote for. In order to vote for a particular task, write it on an index card, put that card in the middle of the table, and plunk down as many of your pennies as you’d like on that card. You can use all of your pennies on one task, or spread them among as many tasks as you like. Also, I encourage respectful argument. Try your hardest to persuade the people around you that they should put their pennies on the tasks you like as well. When we’re done, the number of pennies on a task will help determine its priority for our team.”

Good natured chaos ensued for the next 30 minutes as we wrote cards, passed them around, combined them, discussed the relative merits of the tasks ahead, bumped into each other as we moved around the table, tried to figure out what the heck some of the cards meant, and generally made a mess of the conference room we were working in. When we were done, we had a big, unruly pile of index cards with big, unruly piles of pennies on each:

After the meeting’s conclusion, the dev team took another 15 minutes to count the pennies on each card and put that count into a special “Bounty” field in our ticketing system, creating new tickets as needed. (We use “bounty” and “pennies” interchangeably.) When I was done, I told the system to sort our tickets by bounty, and suddenly had a prioritized list, across all of our projects, of what tasks had the most business value. Beautiful!

Task List Sorted by Bounty

Task List Sorted by Bounty

Of course, the number of pennies on a given ticket doesn’t directly determine the order in which we work on things. We also factor in the estimates for a given task we’ve come up with individually or during our Planning Poker sessions. One can divide the pennies by the estimated hours to get a “bang for the buck” rating for each of the tickets — a much more useful way to prioritize one’s work.

I don’t like to assign tasks to people on my team directly more than necessary. I find people to generally enjoy work much more when they are able to make their own decisions about what to spend their time on. On the other hand, I do want us as a team to provide the most real value we possibly can to our various customers. Since the penny game provided us a “here are tasks with business value” list, I decided to provide a couple of incentives for folks who were completing those tasks:

  1. I took a bizarre southwestern style pot that I had sitting around, labeled it the “Pot of Honor”, and told the team that it would be filled with candy and awarded to the team member each week who managed to complete tasks worth the most pennies during that span. Battling for the dubious honor of having this homely artifact rest on one’s desk for the week provides some silly, low-level competition and recognition for individuals.
  2. I set the team a collective, cumulative goal and told them I’d take them to lunch when they reached it. When we tally pennies for the awarding of the Pot of Honor, we also add up the number of pennies the whole team has completed and add them to a running total. Progress is noted on our work-area whiteboard, so we can all see how close we are to getting to have free food.
The Pot of Honor

The Pot of Honor

I’ve also made space on the whiteboard in our team area where we have our daily stand up meetings to put up the “Top 10” list of tasks that have accumulated the most pennies to help maintain focus on those high-value items.

The next time we played the penny game, a month later, it went much more quickly: we already had cards on the table from the last meeting, everyone had a better idea of what we were doing, and some folks had looked through the tickets in advance to see which tasks they wanted to support. I was surprised to see that, as we got more practiced, we were able to finish the entire exercise in about 20 minutes. We simply added the new pennies to the existing bounties in the ticketing system, making them increasingly juicy as they got older and people still had interest in them.

We’ve been playing the game for a number of months now, and I count our experiment a solid success. Advantages it has provided for us:

  1. Prioritization is way more fun and engaging. It also goes considerably faster than all of our individual release planning sessions did.
  2. The development team always has a clear idea of what our business needs are, and which of our tasks will provide the most value.
  3. Stakeholders cannot say “everything is top priority”, but are forced to choose where to allocate their pennies. The finite scarcity of pennies reflects the limits on developer time.
  4. Individual developers can exercise a good deal of autonomy and choose their own tasks while we still, as a team, deliver on the things we need to.
  5. There are a number of tasks that, while people say they are important, apparently do not merit the expenditure of a penny. As these persist for a sufficient period of time without accumulating any pennies, we can close them as not really being a high priority. (We can always reopen them later if someone decides to spend a penny to raise them from the dead.)

We’ve introduced a few refinements as we’ve gone along: Because some of our systems have tens of thousands of users, it’s ill-advised to get all of the stakeholders in a room at once. To account for this, we give the support staff extra pennies to distribute as proxies for the absent users. We’ve started writing project names and ticket numbers on the index cards to make it easier to correlate them to our ticket system. We’ve begun bringing as many laptops and iPads as possible to the meetings so that people can see the details on the various tickets in question. We now add a penny to each task whenever a user request comes into our support team.

I should note that during the time I was designing this process, I was also reading through Total Engagement, and consciously built in many of their 10 Ingredients for Games: Feedback across a range of time scales (completion of individual tickets, weekly discussion of bounties cleared, longer-term goal of team lunch), Reputation (the awarding of the Pot of Honor), Marketplaces and Economies (the game itself is a market to “buy” the development team’s time), Competition Under Rules that are Explicit and Enforced (there’s no ambiguity about how many pennies are on a ticket or how they’re assigned), Teams (working toward the common lunch goal), and Time Pressure (weekly tallies of points, implicit time pressure of not wanting to be the last person with pennies left to spend while everyone else sits around). I think these elements have been critical in making this a more engaging way for us to do things.

So, if you’re facing a similar challenge with more projects than you have people, feel free to swipe any of these ideas that look helpful. I hope they’re of some use to you. If you do give the penny game a try, please post here and let me know how it goes. Good luck!

Twitter Weekly Updates for 2010-11-09

  • Listening to the soundtrack from The Mission & sewing goofy creatures with Liam and Abi. Nice evening! #fb #
  • Liam Abi and I sewed tonight. This is what happened. http://twitpic.com/349ssh #
  • Airsoft morning with Liam and Cheesy Steve! http://twitpic.com/34fm3d #
  • Annoyed with E*Trade. Have been waiting a month for them to give me *any* info on a suspicious transaction in my account. Grr. #

Powered by Twitter Tools

Gamification Counterpoint

As I’ve discussed the idea of using game mechanics to help focus and motivate people with friends over the past year or two, I’ve received some tepid feedback at times, but haven’t been able to really grok the concerns they have expressed. Sebastian Deterding, at the recent Playful 2010 conference, does a brilliant job of putting the potential shortcomings of this approach into a form that even my oft-overenthusiastic brain can grasp. It would consider it an essential resource if you’re also a proponent of this sort of thing:

Higher Education and the Coming Internet Autodidact

There is a growing movement of people who are learning on their own, rather than relying on institutions of higher learning to provide the necessary structure and opportunity. The Internet has begun to provide access to information with ease and rapidity never before seen in human history. As a result, people who are interested in learning are able to do so without having to rely on the traditional gatekeepers of knowledge.

Evidence of this change is easy to find: The Khan Academy, Make Magazine, Instructables.com, and a whole wealth of podcasts and blogs on nearly any subject imaginable. The experts might still live in an ivory tower, but when that tower has broadband, the rest of us no longer have to make the pilgrimage to the tower to benefit from their expertise. And increasingly, experts seem to find those towers drafty and uncomfortable homes, and choose to be other places altogether.

Some schools have begun to embrace that change in various ways. Several members of my team at work have recently learned Objective C programming to create iPhone applications. Since Texas State University doesn’t offer any classes of the sort currently, many of us have worked our way through the iPhone development course at Stanford University — not by actually attending, but by taking advantage of the videos of the lectures and the supporting documentation that Stanford has published free of charge online.

While this sort of information broadcast is terrific, there is concern in academe, expressed at a recent Higher Education Leadership Conference, that this isn’t going far enough to address the changes that are coming, that in fact students are increasingly able to educate themselves, and will only rely on the University to accredit their learning, leaving Universities a husk of their former selves.

I think that change is indeed coming, and as someone who has a terrible time sitting patiently through classes just to learn the stuff I want to, I welcome it. However, I also suspect that the situation is not quite as dire for our institutions of higher learning as it’s painted. I know there are lots of people who benefit a great deal from having the clear structure and discipline that courses provide. And while the way of the self-taught is one that Universities haven’t embraced sufficiently up until now, giving them some long-overdue attention and validation doesn’t mean that the traditional student will vanish.

Different people have different learning styles, and educational institutions have to learn to grow to embrace them all, rather than flopping wholesale from one approach to another. Their future may just depend on it.

(Thanks to Jason for the link that set my thoughts going on this.)

Twitter Weekly Updates for 2010-10-26

  • There's a girl in the theater with a very musical laugh. Unfortunately, the music is that of Metallica. #fb #
  • Dear Steve: Maybe utilizing the slimming power of black isn't a good idea when you're already at 0.2% body fat. Just a thought. #
  • Still baffled as to why Apple has two video conferencing technologies (iChat and Facetime) that don't talk to each other. #
  • Those are actually string basses, not cellos. (The one on the wall is, though.) Check this one out! http://blitl.us/cello #

Powered by Twitter Tools

Tonight’s Excitement

The series of events:

  1. We offer to look after our neighbor’s dog while she’s away.
  2. Our neighbor deposits her keys with us and leaves town.
  3. Liam’s friend Noah comes over to spend the night with us.
  4. We go have spaghetti dinner with friends down the street.
  5. Liam, Noah, Maggie and I return to the house so that they can get chores done.
  6. While I’m sitting in the bedroom, Liam says “Dad! Come quick! Noah can’t breathe!”
  7. I run into the living room. My throat immediately starts burning.
  8. We rush everyone outside.
  9. Liam was worries about Noah, Maggie, and the cats, who are sitting in the front window looking at us.
  10. I hold my breath, go back in and grab the cats. We toss them in the tent we already have set up in the front yard.
  11. Kathy, Abigail, and Abby’s friend Ethan arrive. Kathy and Ethan go in for a moment and quickly get driven back out of the house by the chemical burning.
  12. We call 911, explain the situation, and have a fire truck and ambulance parked outside in about 3 minutes.
  13. After hearing about the situation, the firemen suit up and go inside while the paramedics talk to all of the kids and take their vitals.
  14. The remaining firemen quizz us about cleansers, chemicals, or anything else that might have been spilled. We can’t think of anything.
  15. One of the firemen asks whether we had pepper spray or mace. We answer “No” at first, but then remember that our neighbor’s keychain has some sort of black cylinder attached.
  16. Kathy asks the boys whether they had touched the keys. They assure her they hadn’t. Then she calls Maggie (who has gone over to the neighbor’s house) and asks her. She told Kathy that she had squirted out some of the contents, but had no idea what it was. Mystery solved!
  17. The EMS and firefighters wrap up. We sheepishly thank them and wave them on their way.
  18. Noah’s mom shows up to retrieve him.
  19. As Kathy is explaining the situation to Noah’s mom, she squirts the pepper spray again to demonstrate what happened, upwind from everyone, setting off another round of coughing, irritated throats, and amused recriminations.
  20. Our coughing ends. We repatriate the cats. All is back to normal at last.

Weekend Photography Project: Build a Light Box

I have family and friends who are terrific at making some really cool stuff. And while much of it looks great in situ, sometimes I want to take a photo that shows something off all by itself, with no background to distract the viewer from the subject of the photo. You know, like this:

Key

To do this sort of photography, you need something called a light box. The key ingredients of a light box are a seamless background and bright, diffuse lighting. You can, of course, buy a commercial one for $100. But with a quick trip to the hardware store, you can build one yourself very cheaply.

Here’s what you’ll need to build this project:

  • 1 10′ 3/4″ length of PVC pipe
  • 4 90° 3/4″ PVC elbow socket fittings
  • 4 Tee 3/4″ Tee elbow socket fittings
  • 1 white posterboard
  • 1 white sheet
  • 1 lamp with daylight bulb
  • tape

Once you’ve got these pieces, start by cutting the 10′ PVC pipe into the following lengths:

  • 6 11″ lengths
  • 4 2″ lengths
  • 2 21″ lengths

Once you’ve cut the pipe to the above lengths, piece together one of the long sides by fitting together the following pieces in order: an 11″ segment, a 90° elbow socket, a 2″ segment, a tee socket, a 21″ segment, a tee socket, a 2″ segment, a 90° elbow socket, and an 11″ segment. Rotate all the bits to look something like this (click for more detail):

Side 1

Friction should be enough to hold the parts together — you shouldn’t need to use any PVC cement. Once you’ve done one of these, do another exactly like it.

Now that you’ve got the two sides built, take the remaining 11″ segments and fit them into the openings on the Tee sockets, like so:

Side and Top

Finally, take the other side and fit its Tee sockets to the 11″ segments you’ve just added to side 1. Flip the box onto its feet, and you should have the frame for your lightbox, ready to go:

Frame Assembled

Now that your superstructure is complete, use the tape to secure the short edge of your posterboard to one of the long 21″ segments along the top of the frame. Allow the posterboard to hang down and to bend naturally, providing a flat surface and a background with a smooth transition between the two:

Posterboard from Front

Posterboard from Side

Now that you have the frame and background in place, simply drape the sheet over the frame. When it is between your subject and your light source, the sheet will act as a light diffuser.

Sheet in Place

Now that you’ve got all the parts in place, put your subject on the flat part of the posterboard, grab your lamp in one hand, your camera in the other, pull the front of the sheet down, and start taking some pictures!

Taking a picture

Some things to try:

  1. Move your light source around. While the sheet helps diffuse the light, the general angle from which it’s coming can still make a fair bit of difference in how your subject looks.
  2. Experiment with light colors. I suggested a daylight (5500K color temperature) bulb to start with, as it will keep you from having to mess with your color balance too much, but it’s possible to get interesting effects with other colors as well.
  3. Try multiple lamps. Having more than one light source can make the lighting even more diffuse, or if you use lights with different colors, can bring out the angles of your subject more obviously.
  4. Take off the white posterboard and try black or another color.
  5. Use a light source with a reflector, like a work light or floodlight. This will help your lighting be both brighter and a bit more diffuse.

If you decide to dive into this project and have any questions, drop me an email and I’ll do my best to help out. Have fun!

UPDATE: A note from my friend Jonathan Ireland, who is a far more accomplished photographer than I am: “Re: #2, if you are aiming to achieve neutral, and your camera supports manual whitepoint adjustment, simply read the lit white background first to set the whitepoint. use the dull side of the posterboard for less glare.”

UPDATE 2: You can also see some more photos taken with this light box rig in my album Liam’s Shop of Horrors.

Mojo

All of you folks who are as interested in location-based gaming as I am have been checking in on Gowalla, Foursquare, SCVNGR, Facebook, Rally Up, or Yelp for a while now. But the lame thing about those services is that you actually have to go somewhere and do something to earn points! Enter Mojo, the web-location based game for folks who are shackled to their desks all through the day but still want the spurious sense of accomplishment that these games bring!

Teasing aside, it’s an interesting concept: allowing people to check-in on various websites and engage with the content there in various ways to earn credit. I’ve added it to the site here; feel free to play around with it if you’d like to see how it works. Just click that little “Earn Mojo” tab on the right to get started. (Though given how infrequently I get around to posting, if any of you earn the “365 Days in a Row” achievement, I’ll be forced to come over there and cut off your internet privileges. Don’t think I won’t.)

Twitter Weekly Updates for 2010-09-14

  • The great thing about the cheap theater in San Marcos: you can enjoy refreshing summer rain. While inside. #fb #
  • Today Liam bought himself a bullwhip. I can't think of a single thing that could possibly go wrong with that purchase. #fb #
  • Dear American Culture: it actually is OK to be out of sight of a TV and without background music occassionally. Sincerely, Sean #fb #
  • Just spoke to the doc, and all went well with Kathy's surgery today. I should get to see her for myself in about an hour. #fb #
  • For those who want to visit, Kathy is in room 108 in the women's center at CTMC in San Marcos. Visiting hours are over at 8:30. #fb #

Powered by Twitter Tools