Tag Archives: Project Management

Quote of the Day – The Optimism of Software Developers

Software developers at all levels tend to be optimistic – you have to be to build big things

Chris Roberts, EuroGamer interview

In my experience, developer optimism is the true state of affairs on every software project, big or small, and I can think of a few on which I have worked that wouldn’t have been started had we known up front how long they would take.

One of the tricks in managing software projects is understanding that the estimates that software developers give often need to be decoded to understand what the real number is likely to be.

There is an old saw about software project estimates that says you should take the time a developer says a task will take, double it, then go up a unit of measure.  So if your dev says it should take a day, you should assume it will be delivered in two weeks.

Of course you can’t develop a project plan that way.  If all your developer time estimates add up to a month and you say the project will take two years, you’re going to get fired.  And, in any case, with any software project you’ve probably been given the feature list and the deadline in advance, so you really have to start stack ranking features by importance to know where to focus.  Of course, marketing will rank every feature as a “1” so good luck there.

Still, if you know your team you’ll know how to interpret estimates.  You’ll know who chronically underestimates and who has other tasks that might interfere with the project.  I used to work with one dev who was always spot-on with his estimates of how long it would take him to finish any task.  The problem was that he was the key database guy on a product that was completely database driven, so spent more than half his time debugging field issues and helping out with new installations, tasks always deemed more critical than project work.  So his estimate of a day of effort for a task would be correct, you just wouldn’t know when he would have a day to focus on it.

And don’t even get me started on having a dependence on third party libraries and such.

Anyway, this is why most companies keep their projects vague and under wraps until they get close to launch.  Maybe a company will put out a road map with some general milestones, but even those tend to fall over beyond a six month window and get swept under the rug to be forgotten.

So running a project where you’re trying to do everything out in the open in front of customers… that way lies madness.  It would be nothing but outsiders kibitzing, asking for updates, and holding you to account for everything you’ve ever said would be a feature.

I am not sure why anybody would subject themselves to that.

BB72 Roadmaps are Best Written in Pencil

For Blog Banter 72 the topic is the Roadmap for EVE Online. (Roadmap is a single word when used in tech, but two words when referring to a literal map of roads.)  We were pointed at a post that Sugar Kyle did just as the CSM summit was opening up and were asked what we might want as a roadmap for the game.

The thing is, I saw that post when it went up and quickly wrote out a few items that I thought ought to be on the agenda.  My suggestions were:

Keep the old camera around until the new one is rock solid. The new one mostly works, but I’ve had it freak out on me enough that I had to turn it off. There is no need to be in a hurry to ditch the old one unless there is some burden which comes with the legacy code.

More of a practical/tactical item, something to do RIGHT NOW, than a roadmap suggestion.  CCP did actually fix one of my major issues, where if you were looking at something when you warped the camera would pretty much go crazy.  However, I haven’t turned the new camera back on yet.  I suppose that is the roadmap item, how to get people to actually use the new camera and get used to it (and help work out any remaining issues) before they turn off the old one.

Dump the entosis link module and let us just shoot command nodes. We like to blow stuff up. Use the same mechanic for citadels so there is a cap on the amount of DPS to keep a blob from being able to blitz through.

This is a little less tactical, and something borrowed from my pretend CSM platform, which was based on the idea that all CCP projects should, in the end, create things that explode or cause things to explode more.  Here my logic is that a bunch of people shooting something (and getting a kill mail) is more fun that a bunch of people watching somebody shoot a beam at something.  An items for the “revisions to Fozzie Sov” list.

Work on some more interesting PvE content. I know, that is tough, because no matter what CCP introduces players will just optimize to beat it and then it will simply become another ISK faucet.

Vague, and clearly an ongoing item, the idea that CCP can possibly create PvE content in New Eden that is interesting and which doesn’t simply become an optimized ISK faucet like every other bit of PvE content in the game.  Not sure how you get there from here.

Having just watched my daughter, 14 and better at video games than I am, try to get into EVE, I would have to suggest that the NPE still needs some work. It went from a narrow path that didn’t really prepare you for the game to a wide path that an actual new player can get totally lost and frustrated with.

Ah, the new player experience.  The forum hysterian’s favorite bugbear, that goons are ganking new players and driving them away, pales into complete insignificance (if it is even a much of a thing at all) compared to what the NPE does to the game.  As noted, I watched my daughter try to go through it and ended up wondering how we get any new subscribers at all in the game.  As with better PvE, I don’t know what the answer is, but somebody at CCP had best be asking the question.

I could probably come up with more items.  I doubt there is an area of the game that somebody isn’t aching to see updated, improved, or expanded.

Instead though, I want to write a little bit about roadmaps in general when it comes to software projects.  They are a good thing, when used correctly.  And, having worked for companies that could come up with a six month roadmap, I’d have to say they are better than nothing at all even when used poorly.

A roadmap is a plan for where you want to go, which is usually broken up into a few distinct pieces.

The current release – What you are working on now.  It is likely nailed down, the features and goal set out, and most everybody knows what they’re doing.  If you code in short sprints or iterations for regular code drops, the “current release” idea might actually encompass a few updates.

The next release – Unless your product development life cycle is really immature, you have some people at least laying the groundwork for the next release.  That is likely a list of features, most of which will make the cut, but some will fall by the wayside, either pushed off into the future or discarded.  Somebody is likely trying to do design work and maybe some preliminary coding.  This is likely what the CSM should be hearing about.

The future – These are ideas and plans about where the product should go.  It is likely that nobody is writing code related to these items, except maybe to ensure that what they are working on today won’t make them more difficult.  There are often items in this area that are defined by a single sentence, and there are a generally a lot more ideas here than it is possible to code in the given time frame.  It is a field of possibilities, not a contact that needs to be honored.  This is where ideas from the CSM likely drop, unless they are small, self-contained features or incremental improvements.

You usually don’t share future items in detail outside of your organization, because people will assume that any document you share is carved in stone, even if they should know better.  So we get this sort of thing from CCP.

Some sort of release schedule...

Some sort of release schedule…

That isn’t actually a roadmap at all.  That is a train schedule.

A bright future of some sort!

A bright future of some sort!

This isn’t really a roadmap so much as a vague promise that exciting new things are somewhere just beyond the horizon.

Some more detail, with a line even...

Some more detail, with a line even…

That is a better roadmap.  Still very general, as it is for public consumption, and still only very high level features, but it at least gives a sense of what the medium to long term priority is. (In a world where “two years” is long term.)

The thing to remember is that, aside from what we get in dev blogs about the next release, none of this is really set in stone, either as features or when it will get released because the roadmap doesn’t work that way.  That third item was from EVE Vegas in 2014 and we are clearly not through with those middle three items.  We have sov warfare changes, and structures coming, but the former still needs some tuning while the latter will probably take a while before it is settled.

Basically, if we’ve learned anything over the years, it is that until CCP does a dev blog or detailed forum post about an upcoming feature, it hasn’t yet been retrieved from that future bucket.  New Eden is a complicated place and it always takes longer than you think to do anything, whether it is in game or out.

I want new things.  I want the new things, vague as they are, which are on those charts.  But I know some of them are still a ways off and that nothing we’ve been told yet about the future is set in stone.

Others diving into Blog Banter 72:

 

WAR Project Management

If [Project Management] is competent and strong, we can concentrate on our work

Judy McKay, Managing the Test People

Truer words were never spoken. Yet project management is always one of the more difficult things for a software development organization. We’ve been fretting a bit about a lack or project management around my own office of late, so this has been on my mind.

Engineers generally don’t like schedules, they tend towards optimism when estimating how long things will take, and it can be something of a mystery tracking durations of software design and implementation. Designs tend to become “done” because the date has been reached, while the amount of code written is the only tangible indicator of how far along implementation is going, and I have seen enough cases of features being “90% code complete and nowhere near finished” to trust that metric.

Even in SQA, where we love project management because it means somebody else being the bearer of bad news, there are issues. I have been asked many times a question along the lines of, “How long will it take you to regress all the bugs you will find in the software?” I hate to do this in the room with the development team looking on, as it tends to reinforce in their minds my reputation as a pessimist. (Even when my estimate turns out to be quite optimistic in the end, which they do a depressing percentage of the time.)

Which brings me to Warhammer Online.

I would love to know how project management played a role in the decision to make the content cuts they announced last week. Without any insight into the goings on out there in Virginia, I wonder how they have run the Warhammer Online development cycle.

Still, being past the 18 year mark in software myself, I can sometimes get a vibe, sense a clue or two, pick up the tenor of what might be happening… with some companies at least. For example, the way SOE talks and produces, they seem to have project management under control. Rise of Kunark shipped sans some features, but hit its date and was solid.

At the other extreme is Sigil, project management, or the lack thereof, seemed to be an underlying reason that Microsoft got out from under Vanguard when they did.

So what do last weeks announcements tell us?

First there was Punkbuster support. Very good. They don’t feel the need to reinvent the wheel. Blizzard can spend time and money on Warden, but Mark Jacobs would prefer to out source that effort and spend development cycles on the game itself.

Then there are the cities. Certainly going from six to two capital cities seems like a reasoned approach to the inevitable content vs. schedule conflict. Well, it would if they were not already a year late and only a couple… a few… not very many months from release. And the follow up about putting only two of the six cities in play for conquest once they are all in seems like either an ill-considered plan or an ineffectual smoke screen. Mythic now has a FAQ up about the decision to remove the capital cities. Not a great choice for a RvR game, but not a deal killer either.

And, finally, dumping four classes seems a bit less well thought out. Two of them were tank classes which, in a PvP dominated world, probably won’t be missed too much. But the other two were DPS classes, which has the distinct possibility of making two races considerably less desirable. That seems like questionable judgment in my opinion.

According to the FAQ about the classes they just put up, the pay off will be smoother animations and more visual effects for the remaining classes. Not a bad thing, but it seems like an odd trade to me. The classes removed weren’t removed because of animations, and, in my mind, the people doing animations are not the same people doing class balance and skills… they are not the ones creating GREAT careers, or so I would imagine, so I wonder what those people will be working on.

And the statement put forth that EA had nothing to do with this… well, I have to go with Michael Zenke and his “EA exec looking at his watch and tapping his foot in cartoon-like impatience.” You don’t make a cut like what was done to classes unless you’re under some time pressure, and only the execs in Redwood City can put that kind of pressure on Mr. Jacobs.

So I would have to guess that while they have strong personalities out at Mythic, strong project management is probably not part of the equation. That is my reading of the tea leaves, and given the state of their schedule and past delays, I don’t think I am going out on a limb.

None of this seems to have put a damper on the enthusiasm for the game. I have seen mostly cheers and very few jeers. A lot of people want to play this game very badly.

And these may be the right decisions for the project and for the quality of the game at this stage. You don’t need strong project management to make these decisions, just to make them early and to accurately know what you are getting for the decision.

I don’t write much about Warhammer Online. I have kinda/sorta of decided to pick it up when it finally ships, pending announcements about pricing and such. Otherwise I have tried to avoid the rabid fanboi mania that surrounds the game. To hear some go on, you would think that this game is the Messiah.

And if it doesn’t deliver on those rather high expectations, I’ll be there to paraphrase a quote from “Life of Brian.”

There is certainly a mess here, but no Messiah.

Ah, well, back to my own fanboi obsession; Diablo III.  Is it out yet?  No?  Gaaaaagh!