The Software Development Process, for Gamers

Posted: 2012/03/13 by Rabbi Shekky in Ranting

Stop me if you’ve heard something like this:

“There’s this really cool feature I want.  A lot of other people want it, too.  Here’s post after post on a forum to prove it.  We all agree that this feature would be relatively simple to develop.  The fact that they haven’t done so yet is a huge slap in the face!  This money-grubbing corporation refuses to respect the wishes of the community and give us this feature!”

Chances are, they’re right about the feature, and the chances are, that money-grubbing corporation would love to give us that feature (within reason) because happy customers are nice things to have.  I’d like to try to explain why they haven’t done it.

Any modern software development organization that has evolved beyond a couple of guys hacking code in a garage has what we call an SDLC (Software Development Life Cycle) process.  They may not call it that, and they may not follow it very well, but there has to be some sort of structure to keep the work effort of multiple people in some semblance of order.  I don’t want to exhaustively explain every possible SDLC for you, but let’s just say they consist of a set of steps that let you define what needs to be done, design a solution, create the solution, test the solution, and then deploy the solution.  Somewhere in there, there will usually be some sort of a process that decides whether or not to do the work (a “Triage” process), how to pay for it (Financial process), and to manage the work (usually, some kind of Project Management process).

Just to keep things short, what all that means is there are a lot more people involved in the act of getting “Function X” to you, the customer, than you might think.  Even if creating “Function X” is easy, designing, testing and deploying requires resources from other teams (believe me, you don’t let developers test their own code).  That effort requires coordination and management, and that takes time.

That said, our dreamed-of functionality may not even get created in the first place.  Software is never finished until it dies, and there are always more things to be done than there are resources to do it.  There is some sort of a gate-keeping process, often called “Triage”, that looks over the current universe of bugs, requested features, performance glitches, you-name-it, and decides what will be worked on and when it will be released.  This process tends to have some fairly standard rules.  For instance, “Bugs/issues which prevent the system from working are top priority and will likely be released as a hot fix,” is a fairly common rule.  Every issue, bug, feature, enhancement in their tracking system gets some sort of priority based on these rules.  Then, they sit down and assign these out to the various teams until they’ve consumed all the available capacity.

This can result in a low priority item getting done before a high-priority one.  For instance, let’s take a few genuine issues:

  1. Smuggler/Operative healing output is not keeping up with other healers in certain Ops scenarios
  2. There is no LFG tool
  3. Players using a healing companion  sometimes end up glowing green

Pop quiz: Which one of the above do you think is the least important?  Which one got done first?  (If you’ve been living under a rock, the answer to both is #3)

Now, why would they apply valuable resources to what is essentially a cosmetic annoyance when there’s a fairly significant endgame class-balance issue, and a functional gap that is costing them subscriptions (if you believe the forum posters) sitting out there?

Well, let’s walk through the triage process:

  1. To resolve a class-balance issue, you probably need to bring in a designer who has relevant experience.  That person will need to acquire data sufficient to determine what the problem is (if indeed there is one) and then analyze the root cause.  Once done with that, the designer can design a solution which might be something simple, like adjusting coefficients on a class skill, or may require deeper changes to the combat system, certain boss fights, or something else.  The resulting design then goes to a developer to implement and then has to be tested (and I mean tested like crazy because this is practically brain surgery) before it can be released.
  2. To add a new element to the game, a designer has to develop the features of the tool, the graphics, the look-and-feel, etc.  Then a developer has to implement it, and a tester has to test it.  Since LFG requires several actors, there are probably many testers and many different scenarios to work through
  3. Someone has to figure out why this is happening.  That will usually be a maintenance developer, but might be a second-line support tech or something like that.  A developer then goes in and cleans up the bug.   A tester tests it.

Coming out of the Triage process (assuming they all came into being at the same time), issues 1-3 were probably ranked in the same order, #1 being the highest priority and #3 being the lowest.  However, it’s likely that #1 requires a lot of time from a lot of different teams, whereas #3 requires fewer resources.  Possibly, these resources are not the same ones required for #1 or 2, enabling them to sneak that fix in while other teams are still slogging through the process.  If number 3 was more complicated, it would probably still be in the hopper waiting on resources deployed on #1 or 2 to free up.

Anyhow, the point I wanted to make is that not everything is as straightforward as it might seem.  Scheduling this sort of work is a lot more complicated than most people think.

And that’s why I’m still waiting for my !#$*!#*%* LFG tool!  🙂

  1. Giancarlo says:

    Its coming, its coming. Look how long it took for WoW to implement it.

    I would comment on the problem of using a forum to determine what the players want though. After all, WoW players screamed and screamed to be able to fly in original continents, Blizz told them it would take an entire expansion to do it and they still clamored for. Then they all bitched when Cataclysm was released, saying it didn’t have enough content.

    • Nick says:

      Yeah, I’m in complete agreement that forum posts aren’t the best measure of market needs. I’m cooking up a post on that very subject.

      As for LFG, yeah, I’m waiting pretty patiently. There will come a point, where I’ll run out of patience, but I am not there yet.

      Anyhow, you sir are my first commenter! You have been awarded Great Praise ™!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s