Recently I received a Kickstarter message from a potential backer asking me point-blank, what the heck my qualifications to run a software development project are and how I expected to handle 1,500 hours of work between April 15th and October 31st. I thought those were all great questions that I hadn’t really addressed in as many words yet, so I wanted to talk about it a bit here.
The first software project I worked on was an e-Commerce website in 1999-2000. At the time, I believe, it was the first printing website that offered on-demand proofs of invitations and business cards available on the Web. It has now evolved into einvite.com, although I suspect none of my code still runs on that site. It delivered on time on June 30, 2000.
The second software project I worked on was for the same company, and it was a ERM system to replace the DOS-based system the company had been using since long before I got there. For this project I had charge of one of the silos (shipping, specifically), and we delivered our component on-time, although the rest of the project dragged past my eventual departure from that organization in the autumn of 2003.
After that, I wouldn’t spend much time developing until 2007, when I became a sales engineer, and I began specializing in system integration for our customers. During that time, I lead many smaller, mission-specific projects. I can’t really discuss specifics of those projects, but I can say they were all tightly time-lined constrained, small-team projects. These projects were generally between seven days and six months, and would require integration with a number of client data systems, complex analysis of the data recovered from those systems, knowledge capture from users, and metric and result reporting to stakeholders. Of the ~25 projects I ran from 2007-2013, only two ran past their delivery dates, and both for very identifiable reasons.
That brings us to the quite recent past. When I was preparing for this Kickstarter, I needed to determine the amount of time I would need to complete the project. To that end, I compiled a list of must-have-to-launch features and tasks. I had already solved or routed around all the really intractable mathematical problems related to the game’s subject matter, so what I had left were a number of tasks that were at least analogous to things I had done in the past, if not direct knock-offs. Given my extreme comfort with C# and .NET, I was able to make pretty accurate estimates of the coding load. I talked with friends in the video game art community to get a sense of how much lead time an artist would need for the load I had. I worked out budgets and timelines and sources and all the minutiae that goes into a well-run development project.
My final total on development time was 1,142 hours. I multiplied that by 1.3 for overhead, unexpected delays, marketing tasks, etc. (I didn’t just trip over 1.3, by the way, I actually took the time to derive from my prior projects that I spend about 25% of my total work time on these overhead tasks. I don’t know if that’s high or low, but it is the observed value.) That took me up to 1,485 hours, so I rounded up to 1,500 hours.
Conventional reckoning would tell me that’s about 38 weeks of work at 40 hours a week. From April 15th to October 31st is about 27 weeks, which seems to present a shortfall of ten weeks. How do I intend to make up the difference?
I need to work about 56 hours a week to make October 1st under this plan. Normally, I work about 65 hours a week, so that isn’t a huge deal. I’m usually at my desk from 0830 to 2300 each work day, but an hour or two each day is lost to what I might generously call “unproductive activity.” I’m gifted with a considerable degree of focus, though, especially when I’m passionate about the work I’m doing. Over the 27 weeks of development, I’m looking at a predicted 1,755 hours of work if I don’t push myself too hard. In that time, I need to fit in and estimated 1,142 hours of development, which is actually just over 28 40-hour weeks.
There’s no question, I’m undertaking an ambitious schedule here, and I will be pushing hard to make my delivery date. I am not, however, making up numbers and diving in blind. My safety margin is nearly 35% of my total development time budget. I don’t have time to dilly-dally, but I do have the time to develop and deliver Slower Than Light on-schedule if the Kickstarter gets funded.
I have the time, the expertise, the knowledge, and the experience to delivery this project. I just really hope I can get the money.
4 thoughts on “Project Plan, Experience, and 1,500 Hours”
Just a quick note – it’s ironic to me that you are developing this PC game. This follows along the lines of a boardgame design I worked on for several months, back around 2008. The players had to decide how many probes to send to which star systems (more probes=better information), before equipping and launching colony ships. A risk management scenario, basically, but unfortunately, gameplay always seemed to revolve around some degree of raw luck (good or bad) in results, so I shelved it.
I’ll back your project, though, because the subject matter is dear to my own heart. I just wish I could live long enough to see it happen.
I seem to recall a very small mini-game at the beginning of Sierra’s Outpost that ran along those lines, during initial system selection. I’m sure your design had deeper decision-making structure, though.
Believe it or not, I play a lot of board games, too. Already a number of people have asked me if I drew any inspiration from Phil Eklund’s High Frontier, which I own a well-loved copy of. There’s certainly a fair number of assists I got while designing Slower Than Light from Phil’s rather exhaustively-researched appendices.