By Mark Warren, European Marketing Director, Perforce Software
A lot of factors go into making a successful company in the financial services sector and some are more obvious than others. Most FS companies are very aware of the importance of software in shaping a company’s market performance: after all, pretty much all financial products are dependent on technology these days. Less known – but arguably just as important – is the codebase that underpins development of that software. It might not sound that exciting, but a company's codebase is often critical intellectual property that enables competitive differentiation. Some of the world’s biggest companies owe at least part of their success to the fact that they were able to grow their codebases alongside their companies, using good source code version management software.
However, not all companies can claim that level of efficiency. Frequently, over extended periods of time, projects become neglected because they just keep working. They may be based on aging technology or platforms (e.g. COBOL on mainframes) and the tools being used to manage them are also behind the times, perhaps even no longer supported. Y2K, Sarbanes-Oxley and other compliance initiatives have highlighted the need for good source code version management. Without it, original source code cannot be located, repositories become spread across multiple tools and platforms and systems are no longer reproducible. At the very least, people waste time forensically trying to work out where a bug has crept in, or trying to work out the revision history on a development project.
For the financial services sector, the implications can be huge. Since products often have very long shelf lives – with the need to support customers who may have signed up to a product many years ago – then any bank or FS company needs a clear audit trial, plus the ability to find legacy code if a product needs updating or experiences a problem. Legislation and compliance mean that FS companies need strict management of their codebases.
However, use of the right version management tools and strategy can eliminate such problems. Companies can ensure that their code can grow and scale, without becoming messy and unmanageable. Forward looking companies will be evaluating their current tools to ensure they not only handle the systems built over the last three or more decades, but have the architecture to support the next decade and beyond.
Here are three things to consider when choosing software version management system to effectively manage ongoing source code development:
Set the foundation today
Picking the right tool - one that supports all the different contributors and content types and has a strong roadmap - is essential. Done right, it will create a strong base to protect future success, providing a record for eventual patent filing and establishing prior use when needed. Ideally, the source code version management system selected will have a wide entrance ramp, offering not only favourable pricing for a company that may initially wish to just deploy to a small team or one department, but easy deployment to a virtual machine or the cloud.
With banks increasingly having development teams spread across multiple locations, it is important to ensure the system supports workers in remote locations and fits seamlessly into other tools, including IDEs and Office applications. These teams are increasingly including new content types, for example video tutorials on websites or mobile clients, and therefore new contributors that are not traditional software developers. The right system should be a team player, supporting cross-functional groups of employees, not just in the software development department, but accessible to other, even non-tech staff members. Maintenance should be minimal so that the company isn’t dependent on an army of experts for the system to function.
Be ready for future growth
The 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 effortless migration from a hosted solution to self-service cloud platforms (e.g. EC2, Azure) or even on-premise software. Any organisation’s development environment and infrastructure will change. So the system put in place today will work the same for developer No. 1000, as it did for developer No. 2.
Don’t be one of the many companies that opt for the easy route – whether it is the incumbent tool or one seen as the lastest fast, cheap or cool trend - without considering future development. It may be a tempting path today, but companies may pay dearly for it tomorrow. Pick a tool that allows the organisation to excel in today’s competitive environment; that supports recovery from mistakes; that positions the company to succeed and to scale.
Managed correctly, the scalability of a company’s codebase can become an important contribution to its performance today and its future growth.
About the Author: Mark Warren is European Marketing Director for Perforce Software, which enables teams to version everything. Perforce enterprise version management products help teams work in concert on important digital assets including software code, documents, multimedia, spreadsheets, images and more. They are unique in their ability to handle large and distributed collections of content, enabling higher productivity, lower costs and improved security and compliance. Perforce is now making it easy for everyone to take advantage of enterprise version management. The company is headquartered in Alameda, California, with international operations in the United Kingdom, Canada and Australia. For more information, visit www.perforce.com