Too often, as software companies grow, a long-term strategy for managing the codebase takes the backburner until it becomes too difficult to manage. These fast-growing companies look appealing to VCs and potential investors, but behind the scenes they’re a mess: original source code can’t be tracked down; data repositories are spread across multiple production systems (and can’t be located); the codebase was written without any best practices or management in place. When left unmanaged, these issues can result in a multitude of problems, whether it’s a lost investment or a messy codebase.
This doesn’t have to be your experience. You can ensure your code can grow and scale together with your company. Here are three things to consider when choosing your software version management system to effectively manage your ongoing source code development:
Adapt to the current climate
Ever since the dot-com bust, software companies have faced more cautious venture capitalists and angel investors, who do not want their ventures allocating resources (both personnel and financial) on support systems.
The evolving start-up climate, however, brings competing pressures, since start-ups today have more heavy lifting early on. Whether that be deploying to the cloud or managing massive amounts of data, these are the things you need to consider. Today, the type or profile of your business – not the number of employees or revenue – dictates what source code version management system is best for you.
Set the foundation today
Picking the right tool from the get-go is critical for your start-up. Done right, it will create a strong base to protect your future success, providing a record for eventual patent filing and establishing prior use when needed. Ideally, the source code version management system you select will have a wide entrance ramp, offering not only favorable pricing for your small team, but easy deployment to a virtual machine or the cloud.
Equally important is ensuring your system supports remote workers and fits seamlessly into other tools, including IDEs and Office applications. You want a system that is a team player, supporting cross-functional groups of employees, from artists to writers to even finance managers. Maintenance should be minimal so your company isn’t dependent on an army of experts to function.
Be ready for future growth
That exciting period when you’re growing fast can be dampened if your code can’t keep pace. Your source code version management system should be able to scale to support any type of data, any increase in team members and any expansion of locations. That way, transitions will be painless, enabling you to effortlessly move from a hosted solution to self-service cloud platforms (e.g. EC2, Azure) or even on-premise software.
The point is that your development environment and infrastructure will change. Guaranteed. And, your system needs to be flexible. You have to make sure the system you put in place on opening day will work the same for developer No. 100 as it did for developer Number two.
A smooth transition from small start-up to growing company can be easily managed if you take the time to consider your development requirements early on. Don’t be one of the many companies that opt for the easy route – whatever is fast, cheap or cool – without considering your future development. It may be a tempting path today, but you will pay dearly for it tomorrow.
Pick a tool that allows you to excel in today’s startup environment; that helps you recover from mistakes; that positions you to succeed and to scale. Your designers, engineers, artists, developers, project managers, investors and future self will all thank you for it.
Christopher Seiwald is president and CTO of Perforce Software.