9
\$\begingroup\$

A game development company seems like an ideal testbed for experimenting with new or uncommon models for work environments. I'm curious if there's anyone out there successfully doing something creative with their methods of doing creative work, and how it's working out.

This is a community wiki since there won't be an objective answer to the question:

What are some unconventional but effective methods of running a game development office? In your experience, what works well and what doesn't?

I'm mostly talking about the culture and business side of things, and not so much about things like pair programming, test-driven development, scrum, waterfall, etc. In other words: I don't mean development methodologies. I mean development environments. They're closely related in many cases, but please don't turn this into an evangelism platform for scrum or TDD or whatever your favorite happens to be.

Do you have strict hours and fire people who are late? Do you have "core hours", like 10pm to 4pm, that gives people a few hours of flexibility? Or do you just show up when you want for as long as you want?

Does forcing people to work overtime actually work? What about forbidding overtime? Weekends? Do you give people free time to work on whatever they want during business hours?

Do you allow telecommuting (e.g. VPN from home)? Clearly this will be a big issue for people who outsource a lot. And people who subcontract or work on large projects have limited options.

If your hours are not strict, how do you handle meetings, conference calls, or emergency emails?

Some examples of what I'm talking about:

\$\endgroup\$

4 Answers 4

4
\$\begingroup\$

There are a number of growing companies that work with minimal studio time and people from across the globe. A lot of flash programmers from what I've seen have adopted this method as the artist usually lives in a different time zone than the programmer etc.

I believe the project Natural Selection 2 which is coming out this Halloween was made almost entirely by a team split across the US. Many other small and indie companies do this as well.

The key is that no matter how "chaotic" you allow your employees hours to be, there has to be accountability for work. In short, they have to be worth what they are being paid to do. If you're paying them to provide a pretty face in the office and good face-to-face time with others, then an hourly schedule is probably what you'll be using at a local office. If you need a collaborative environment, there are PLENTY of online capabilities allowing instant communication with chat backup for those "he said/she said" conversations, such as Basecamp.

If you allow flexible hours or little to no office time, you MUST be able to keep on top of tasks and have a result-oriented environment. So far, they've proven quite effective with the right people in small to small-medium environments. I haven't seen any medium or big companies take it up yet, but it tends to work very well for small close knit groups, AND those who it works for which is not everyone (see: slackers).

Part 2

While I laud this approach, your problem is going to be billing. You're going to either have to be developing your own stuff on your own timeline or not charge by the hour. The reason a lot of companies want to charge by the hour is that they completely underestimate the amount of time that a project requires and simply take very specific requirements, allowing them to charge for any problem that makes the project deadline slip.

While in my experience these groups provide higher quality work, the trade-off is in time. There is, however, the advantage that you can usually pay employees less for being able to have such flexible time and movement. Also, in a truly results-oriented environment, you shouldn't have to care if your employee is in the Caribbean during release week as long as they are providing you with the code and access to them that you need. Meaning it's not for the weak of heart managers or those who feel the need to "check up" on their employees at unscheduled times.

\$\endgroup\$
4
\$\begingroup\$

Not everyone is the same. Some people flourish under light management while others just waste their time (and that of those around them). If you have a team in place, get to know what motivates each of them and go from there.

\$\endgroup\$
2
\$\begingroup\$

Most studios have "core hours" and allow flexibility outside of that. VPNs exists but they are more there to get extra work done, and not to allow the employees to not come in. Too much of what is done in a game is collaborative and requires people to work together, so working from home for any extended period of time is pretty rare unless you have highly specialized skills.

Does overtime work?

Well in short bursts working longer hours does increase productivity. Over a longer time though it's actually slower than working consistent hours. Unfortunately that doesn't stop most teams from marching through hours of crunch, long past the point of productivity return, towards the end of a project.

\$\endgroup\$
1
\$\begingroup\$

I would suggest that many game development companies are exactly not the sort of environment that allows this sort of "exploration" for the simple fact that you need access to the development equipment, and this is not the sort of thing that the console manufacturers typically allow one to take home. In addition, the support resources that these console manufacturers offer are bound to the IP address of the studio itself.

VPN can work around this to some extent; there are examples of game developers pointing a webcam at a television and proxying controller input but it's an additional investment that many developers are loathe to undertake.

Game development is highly collaborative, and even if the technological barriers are removed there is no substitute to working in close proximity to someone working on the same product you're working on.

That said, I've highly enjoyed working from home when it's been available and I get a lot done once I'm set up and underway. However it's harder to address problems across the internet link; if I'm responsible for code crashing on somebody's machine, I can't just walk over and check it out. Same goes the other direction. So when I'm working from home, my most successful hours are when I'm working on something fairly disconnected from the rest of the team, a subsystem that is standalone or something of that ilk. If I were to need to iterate on something with another person, it'd be substantially easier in person.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .