Computerworld

Why CEOs need to understand how software is built

Unless your CEO has a software development background it’s unlikely that they would be able to tell you whether the way their software was being built was effective or not

Does your CEO understand every element of your business? At first glance, this may seem like a strange question. As the senior figurehead of an organisation, the CEO role by nature requires an overarching view of all a company’s activity. For most CEOs, this will generally be accompanied by an increased depth of expertise in a particular area, combined with an understanding of how departments across the business must collaborate to achieve success.

From legal to logistics, marketing to manufacturing, most business-focused documents presented to a CEO would be met with a nod of comprehension. What if you asked them how their website or apps are being built? Unless your CEO has a software development background it’s unlikely that they would be able to tell you whether the way their software was being built was effective or not – they would be blocked by a language barrier.

A siloed department in an open world

Over the past decades organisations have shifted away from siloed individuals and departments towards a more open, collaborative relationship between individuals, teams and departments. This has been quickened by technology and software that makes it easy to share information and work together on projects in real time or asynchronously, from any location or device with an internet connection.

Generally the technology that facilitates this interaction is proprietary and bought as a product from another organisation with minor customisation to suit a particular organisation’s needs. In most cases, this software is also the primary means of communication between company and customer; physical and telephone interactions are replaced with website and mobile apps.

Given the importance of technology for collaboration, software development teams ironically are often the most siloed departments in a company. This is because both software developers and upper management have been sold "geek" and "suit" stereotypes that imply that they are unable to speak the same language. Whether the discussion is on a programming language, testing process or even software project management the rapid elevation in importance of software engineering to almost every business has often left senior figures behind, many without the most basic idea of software is built.

Lost in translation

The main problem with this language barrier is that it leads to inefficient communication. Software engineers can be unable to effectively communicate with upper management about what organisational changes could make them more effective and upper management can be unable to communicate how to make tradeoffs when writing software based on the priorities of the business.

As this problem is realised in different organisations there is an increasing appetite amongst senior leaders to learn to speak the language of software development. It stems from a combination of natural curiosity and a realisation that increasingly software can provide a competitive advantage. From a software engineer’s perspective, this is something to be embraced – it will make make it easier to help move discussions from "why isn't it done yet" to a wider understanding of topics such as "technical debt", iterative development and minimum viable products.

The software development course for the C-suite

So how best can the C-suite learn to understand software development? Of course, nobody is suggesting that senior business leaders need to or will be able to become expert software engineers overnight. Software engineering is a highly skilled profession and requires significant time investment to master; time which busy business leaders are unlikely to have to spare.

An understanding of the basic tenets of software development is necessary for the purposes of improved communication and a broader understanding of the discipline.  It will also provide the C-suite with deeper insights into how their business objectives map to what is achievable, and the inherent balances between the quality, features and deadlines of any software project.

Due to constraints on executives’ time, traditional methods of learning may not be the most effective way for them to understand software development. The way their business is creating software may not be world class. Software development as a discipline does not follow these traditional rules. From world-class professionals through to hobbyists, open source software projects and their development processes are increasingly being used by all software projects.

Given the benefits of this system, it’s easy to see why. As the name indicates: open source software development occurs almost entirely in the open and relies on discussion, iteration and inherent motivation rather than orders, multi-year projects and top-down pressure. Communication is primarily asynchronous. Problems are found, discussed, diagnosed and resolved in public. All information is tracked, stored and archived for looking back on later.

As a result, C-level executives who explore the world of open source software development may find it offers a whole new perspective on their internal software and business as a whole. If this is not possible another option is for executives to work more with developers who are already using open source software projects, such as projects on Github, and have them discuss and explain how they are being built. Doing so will improve the understanding of the role of software development in an organisation and help guide informed decisions on the balances between perfect code and delivering value to customers.

Sam Hunt is director of GitHub ASEAN and ANZ.