By Mark Warren, EMEA Marketing Director, Perforce Software
Software developers are suddenly the cool new kids on the block, the ‘rock stars’ of today’s modern businesses. With software underpinning the way that many organisations operate at a very fundamental level, software developers are taking a far more strategic role in the running of the business than ever before. Whether you’re a bank, a retailer or a car manufacturer, software is becoming core to the way many organisations do business and phrases such as ‘software is eating the world’, the ‘Internet of Things’ and ‘continuous delivery’ are bandied around as modern-day corporate battle cries. And it’s not just the tools used, but the way software developers are working that is evolving fast. Given this newly created influence on the bottom line, software developers are doing everything they can, deploying the most ‘agile’ technologies to help align technology with the business and get products and services to market more rapidly and efficiently.
As a finance, marketing or operations executive, or indeed a CEO – the jargon and trends can be pretty confusing. Does that matter? Well, a little knowledge can go a long way, especially when you’re being propositioned with an expensive software development project by the in-house team or an external resource.
Here we cover what you really need to know, and why software is important for your business without getting bogged down in the detail:
1. You may not realise it, but you’re running a software business
You might think you’re running a bank, building vacuum cleaners or making fashion clothing but all these business are based on software, so you really do need to know more about how software is developed. The idea isn’t exactly new, in fact Marc Andreessen wrote a widely distributed article a couple of years ago that laid bare the facts – ‘software is eating the world’ however it’s only now that the reality is appearing across all industries.
Banks have been big investors in computing since the earliest days, but fashion only more recently. In fact Levi’s new “501 CT” jeans and both Nike and Adidas offer customisation options for their shoes, which are both delivered via software. These are examples of how what might have been seen as traditional manufacturing is being transformed by software. How you do this, efficiently and with quality, is your competitive differentiator. Software could be your most valuable asset or intellectual property (IP) but it’s often overlooked. Understanding the software development process and making sure it’s optimised may be your most critical business investment.
2. Innovate faster – Continuous Delivery
No one ever said it’s a good idea to innovate slowly but the pressure for rapid change has never been higher. It used to be OK, and even recommended, to have 12 or 24-month software release cycles but now they’re 12 or 24 hours (or less!) because customers are continually demanding the very latest in the applications they use. Shortening the path from idea to customer and then rapidly reacting to feedback is known as “Continuous Delivery.” A key capability to make that possible is to always have software that could be released to users and make those releases in small increments rather than one ‘big bang’. It enables agility in the development process so that you can react quickly to changing customer or market needs.
Continuous Delivery centres on building a development pipeline where early feedback, automated build and test of a programme, and incremental deployments can dramatically speed up software release cycles.
3. A place for everything and everything in its place – A Single Source of Truth
Your modern software products depend on a lot of different contributors as well as the coders – designers, production engineers, product testers, marketers and many more. Each has their favourite tool set and ways of working. If they all work without collaboration and in their own “silos”, then errors will occur leading to poor quality. Trying to find all the right pieces that need to be released together is a risky business.
With modern tools, there’s no excuse for this: if your tools for configuration management (the store where the software and other digital assets are kept) can’t handle all these different elements, now’s the time to consider your options. Oh – and remember all this stuff is your valuable IP, so if it’s spread all over your network or even sitting in collaboration tools online like Dropbox or even email, how are you going to protect it or know if it’s being stolen?
4. Git is not just a rude word
For many software developers that have joined the industry in the last few years, their default way to manage the varying versions of software collaboratively ‘version management or configuration management’ is a tool called “Git”. It doesn’t stand for anything but was a personal joke by its creator Linus Torvalds. Software developers love it because it’s fast, allows for private working until you’re ready to share and it’s fast (I know, that’s a repeat but it is fast). Developers are often thought of as the “king makers” so they need to be happy and productive, so make sure your development tools and processes can handle their needs along with all the other contributors.
Git however is not so great in some areas. It doesn’t have an “immutable” history (in plain English – changes may be made without any record, making it difficult to fix or enhance the code later) and it’s not great for files other than program source code. For example, product designs, office documents or images are hard to manage with Git. Git is good but not a complete solution by itself. If you hear your software teams talking about Git, they’re probably doing a great job but check you have all the necessary tools to support all your other contributors and protect the code sitting in Git. Remember all these files are your company’s crown jewels, your IP.
Exploiting modern software development has never been more critical for business success or growth. Engaging with software developers, involving them in the tactical elements of the business and understanding their importance and their role is fundamental in the modern industry. Whether you’re tech savvy or not, don’t be afraid of the prospect – get close to your software developers and indeed everyone creating digital assets in your business. “It’s all just software” is perhaps the most exciting starting point for any company or project as that means the opportunities are infinite.