This question is related to another one, "Ideal office space layout - open or offices?", but I think it's worth a question of its own.
There are many voices advocating that developers have to be in private offices in order to reach maximum productivity, being Joel Spolsky probably the most prominent of all them.
A problem of this approach is that it's not very flexible for a growing company. Some approaches you can take and their related problems are:
Do you know about other approaches to this problem? Which ones have you used or seen? Which one do you think is the best?
Thanks for your opinion.
I don't see a fundamental difference in flexibility between open offices and private offices -- with both you either need to have unused space in reserve for future growth, or change offices, or stack people more tightly, or a combination thereof.
Open offices may seem more flexible, but they really are not. The fundamental problem remains the same (at least if you agree that people seated closely together are less productive). Open offices are cheaper though, some research shows you can get ~30% more people into the same space when there is no partitioning. If you over-do it the problems are also well documented, noise levels, bad interior climate etc.
If you have personal offices and growth problems, why not just put 2 people in someones office? "Jim, we need you to share office with a new hire -- but it's only for a month, we have already signed for a new and larger office."
You could say "scalability" of the office space != the "performance" of the office space. :-)
Regarding what to do -- a combination of "changing offices often" and "renting more than needed right now", as best possible.
One more option is to get more space than you need and sublet it. A good real estate tenant's broker will be able to help you with this. You can do it formally, e.g., rent 10,000 square feet with a typical 10 year lease, and then sublet 5,000 of them right away on a 2-year sublease. Or you can do it more informally by renting "desk space" (make sure your lease allows for it; most landlords will be happy to allow this), so for example you get 10,000 square feet, build it all out, and then sublet a few offices or desks to local smaller startups.
Some landlords with a lot of office space will also be able to give you options to expand. It's not uncommon for people to sign a lease for the 12th floor that gives them an option to expand into the 11th floor in 2 years when that tenant's lease is up. This is far more common in markets that are flooded with office space, meaning, everywhere in the US right now.
We have a open office policy. i.e. We work in a much bigger room with plants placed between tables we don't want the developers to feel cramped but an open office with lot of plants looks good as well as healty :-)
We do have private offices (with monitor's, docking station and keyboards fitted) which can be used by anyone if they feel they are getting disturbed. As we work with Laptop its just easy to walk-in and work.
The consensus was open office is fun to work with.
I just watched a live video feed of a group of software developers who are building an iPhone app (wikimeety) in 7 days. No private offices. Lots of communication and what appears to be quality code( Command Guru ). They don't seem to have a lot of space either. Unless you plan on entertaining clients, I think it is waste to put too much energy, effort, and money into office space. Granted, they only plan on being there for a week.
This is a firm utilizing agile principles and not only do they not have private offices, they don't even program alone: Menlo Innovations
One approach I've seen working is renting larger than your current needs. You will have unused space and pay more initially, but you're not going to cram 2 people in one office to solve the space-problem. Until you move to a larger office use the unused space for "fun" things, like a special wii-room.
This approach will still cause problems if you intend to grow very, very fast, since you can't keep switching offices every 2 months. In that case you would need to find a "flexible" lease (if that's even possible) where you could rent extra floorspace later when you need it. Those leases are very, very rare over here though, so I can imagine it's rare everywhere.