The anatomy of a software feature

ps_news_thn.jpgI get a lot of questions in the forums about software features on PokerStars; nowhere was this more evident than in the run-up to, and initial beta testing phase of Zoom Poker. Because I spent about 25 years in the computer software business before joining PokerSars, I thought I would discuss a little about how we create and develop software features.

Q: How do you get the idea for new software features?
A: We have two major sources for our software features: internally and our customers.

Internally, we have people whose whole job is thinking about the software client and how to improve it. Many of them have years of experience as serious (or professional) players and have given a lot of thought to what they want in a software client.

Externally - well, it's pretty obvious. We have a huge base of customers who send us emails, post in the forums, and occasionally Tweet ideas for how we could improve our software. We're open-minded here - we don't care where a good idea comes from as long as we get our hands on it. I don't know offhand which of our software features came from player ideas, but I promise you that some aspects of the PokerStars client that you take for granted (and couldn't live without) were initially suggested by our players.

Q: How do you decide which features you're going to actually build?
A: That's a seemingly simple, but ultimately complex process. There are many factors: how much benefit the will players get from a feature (often a contentious issue itself), how much development effort it will take, how much our player community wants it, how it will affect other features, etc. After all that discussion, some projects get started on immediately, others are put in the queue, and quite a few end up on the cutting room floor.1

Q: How long does it take to develop a new software feature?
A: Some can take just a few days if they're easy modifications to existing features. Other complex features (Zoom being an excellent example) can take months to develop and initially test. This is magnified by the multiple licenses that we have, many of which require us to have a separate client solely for that license.

One thing to remember about software development: 90% of the time is taken up writing the software; the other 90% is taken up testing and bug fixing. For instance, with Zoom, we had innumerable internal testing sessions to verify that everything was working smoothly. This was particularly "interesting" because of the ephemeral nature of Zoom tables - you'd see something not quite right, but it wouldn't be there long enough to confirm what you'd seen. So quite often somebody would "direct" the action at a table: "I'm going to raise. Bob, you call. Then Joan, you three-bet, everybody else fold back to me."

We're proud of our reputation for great software, so there's a significant review and testing process for all of our features.

Q: Why don't you announce feature release dates well in advance?
A: Basically, there's no upside to pre-announcing a new software feature. Suppose we say, "We're going to have 3-D poker in September!"2 but we say that in June. What good comes of it? We've gotten our players excited (assuming you like the idea of 3-D poker), but after that announcement, there's not much to look at it.

More importantly, suppose we hit a snag during development and/or testing (which is virtually guaranteed)? September comes and goes and we don't have the product out. Now you, the customers, are upset. Nowhere was this more obvious than when we put Zoom out for play money testing. Everybody promptly said, "It's ready - put it out for real money." However, unlike the forum posters, we see (and track) every single small bug or glitch that comes up during testing. We knew there were many issues (some moderately serious) even when the public seemed to think the product was basically perfect. So during that period, we were inundated with requests for real money Zoom. Sending Zoom to pokerstars.net (play money) for our customers to hammer on it was a great thing to do, but it demonstrates the downsides of telling people what you're going to do before you actually do it.

Q: What's the next cool software feature you're going to release?
A: Nice try.

1 Noting that some features that ended up on the cutting room floor ultimately found their way into the product via another round of review.
2 Nobody at PokerStars is working on 3-D poker.

Lee Jones is the head of Home Games at PokerStars and has been involved in the professional poker world for over 25 years. You can read his occasional Twitter-bites at @leehjones.

lee_jones_product_features_pokerstars.jpg

Lee Jones
@PokerStars in Lee Jones' Journal