⋮    ⋮  

You Don’t Know Jack! How Software Gets Developed Part II

Adrian Ip
Posted 12 months ago


Last week, we started looking at what complexity means. If you missed Part I, I encourage you to read it to understand the context of what follows. You can find it here.

This week, I’ll delve a little into what complexity means in relation to crowdfunded development, as well as with regards to software itself.

General Complexity Relevance to Crowdfunded Development

It’s no secret that I’m a big fan of Star Citizen. CIG have upscaled from a few people working on a dream project in their spare time to a several hundred employee/contractor, globally distributed software development studio in less than 3 years. What kind of complexity do you think comes with that? Forget about the coding of the game itself for now, but just the complexity of running the business. Some considerations:

  1. Different legal and tax jurisdictions for offices (California, Texas, UK, Germany, just for the in house studios) which have to be dealt with for:
    1. HR (employee contracts).
    2. HR employment law.
    3. Corporation tax/any associated tax breaks.
    4. Company filings.
    5. Foreign exchange risk/hedging/fees.
    6. Finance and budgeting.
  2. Different legal and tax jurisdictions for raised funds in countries where CIG doesn’t have a legal entity etc.
  3. Infrastructure to allow for collaborative development between locations:
    1. Leased lines/internet circuits.
    2. Routers, switches, firewalls, VPN’s.
    3. Code repositories.
    4. Access permissions.
    5. Servers
  4. Procurement of hardware.

So, there’s a lot of complexity already in just the day to day running of the business. These things need staff that are specialists in their given areas. Lots of people had to be hired and trained in the given areas above and likely in others that I’ve forgotten. Offices and hosting need to be leased, accountants/lawyers need to be hired as well as sysadmins, network admins, support people, accounts need to be filed, exemptions need to be completed, circuits need to be installed etc.

Three New Pebble Products Are Back On Kickstarter – Each With A Unique Function

All these new people that are getting hired need to be trained in their chosen area of employment by the original few employees who likely bodged their way through whatever they could to just get the basics up and running. This is the initial growth phase of the company and likely when the company went from 8 employees to 20-30. Chances are that the future department heads were hired in this phase and entrusted with the future of their specific areas as the company and funding drive progressed.

As these people get hired and start laying the foundations for how the company can scale up further, this is likely a 3-6 month period as people get hired (interviewing and contract offers take time!), they come in and learn how things are currently structured and start to map out their vision for how stuff will be structured once they’ve put their “more professional” mark on the area they work in. Budgeting (more on this in Part IV!) plays an important part here and given the (at this stage) relative unpredictability of the company income, plans will need to be made for everything from a base minimum to a fancy setup as well as how and under what conditions stepping up from the initial minimum to the more expensive setups will be judged.

Next: Software Complexity
Share on Facebook Share on Twitter Share on Reddit