For me, Xenocide has been more than a hobby, but a learning experience -- learning how to make good decisions, and how to work through the bad ones. Organization has always been one of our strong points -- our departments have been separate and organized from the beginning; but organization within departments is no longer enough. The most important part of organization is communication, which becomes more difficult as more people become involved. Our current organization makes it difficult to recruit new members and bring them up to speed, and to determine what changes need to be made in order to speed development.
Another obstacle posed by large teams is that they are difficult to keep on track to complete the goal at hand. In a project as large as Xenocide has become, this is an ever increasing problem. In an effort to stem the problem, we're implementing a new organizational structure by introducing Task Forces: Small teams dedicated to a single task at a time, to speed the completion of the tasks needed between releases.
The approach is based on a refined approach used at a game development studio made by one of our game professional members. In his own words:
Here's what I think we should do- it a refinement of the current process we are using at work.
The whole project is broken down into fairly large features and prioritised. (this is done already sort of, Geoscape is a feature, but that's too big, and we would need to break that down a bit more, so baseview would be one feature for instance.) the whole game might be 20-30 features, tops.
Then we the take one or two highest priority features and break them down further into tasks. A task would be something that might be a a couple of days for a full time team of two or three people (at least the way we do it). The idea is that everybody has sight of this task list even if they are not involved. so they can see how their work fits with everyone elses.
Tasks are prioritised into a "sprint" which can be between a week and a month. The goal of the sprint must be a "visual deliverable". something on screen that is definable. and a definite step forwards for the game, even if a small one.
Each task is given to a team of two or more people. preferably a mixture of programmers, designers and artists. They are each responsible for sucessfully completing their task. They monitor themselves to a degree, but should communicate often. and also communicate with everyone else doing the other tasks. In an office this is a daily 20 minute meeting. But a PM every day or two would do.
Task Forces came to us from the software development industry as the best way to use small teams working on specific tasks. In Open Source projects, development proceeds because people enjoy doing it. To that end we've been operating on the principle of recommended deadlines, even if the deadlines don't fall for a long time. When something is truly time-conscious, it is flagged as priority and the time constraint is put in the task requirements.
Task Forces are flexible, and can overlap -- which is why it is so important to communicate with all the other members working on dependent tasks. In fact, most tasks will require a community connection so, it is crucial that each team uphold the current communication standards.
Finally, I wanted to share our vision with you all.
The important thing is that it is the team doing the task, not just a single person. and artists and programmers work together as a unit.
This is our goal.
Xenocide Senior Team