Audience: Federal Business Process Owners and CIOs (Chief Information Officers) 

As a Chief Technology Officer, I get a lot of questions from Federal Business Process owners about the latest ‘hot topics in software. Those executives need new and improved business processes, so they’re talking to software sales reps. And unfortunately, some software sales reps tend to talk fast and loose when they’re in a hurry to close a deal. 

Well, I don’t work for a software company or a software reseller. I work for Definitive Logic. I give fact-based, vendor-neutral advice. I’ll start by outlining the 3 fundamental considerations for provisioning software to power new and improved business processes. Along the way I’ll give you useful definitions for common software terms. Don’t worry, it’s quick and painless. Here we go:

Fundamental Question #1

How do you want to provision the software that powers your new and improved business processes? You have 4 basic options. They are: 

Subscribe to Software-as-a-Service (SaaS)  

SaaS – is short for Software-as-aService. Simply put, this is a contractual mechanism. It lets you subscribe to software that’s hosted in the cloud and pay on a per-consumption basis. This is typically your fastest time-to-value. It also usually includes support services, like an update or upgrade schedule to add new features, as well as security patches and fixes. 

Buy or Lease Commercial Off The Shelf Software (COTS) 

COTS – is short for Commercial Off The Shelf software. This is typically software you buy/lease/rent then install and operate in your own data center. In practical terms, think of the term COTS is a contractual mechanism for getting access to software. Here you are obtaining a single version. You remain responsible for installing subsequent upgrades, new features and security patches and fixes. The more you customize your version of COTS in your data center, the harder it is to stay current with the latest releases and fixes. 

Build your own  

This is always an option but requires you to have a team of developers, business analysts, testers, cyber security professionals, infrastructure operators, etc. This is much riskier than the previous options, and should be approached with caution. 

Borrow Free and Open Source Software (FOOS) from others  

FOOS- or Free and Open Source Software is widely available in a variety of online repositories (or ‘repos’ as technologists like to say). The software is free to access and use. Which means you need a team of technologists to install, maintain and upgrade it as long as you have it. So there is a total life-cycle cost despite the term ‘free’. In other words, FOOS is really a special case under the Build option. 

Fundamental Question #2

How do you want to manage the trade-off between performance and flexibility? By performance, I mean the need for robust, common processes at scale for the enterprise. And by flexibility, I mean rapid innovation at the edge of the enterprise for special needs There are 5 basic groupings to consider: 

ERP1 – is short for Enterprise Resource Planning. These days, there are many ERPs covering a broad range of business domains, finance and accounting, human capital, logistics, supply chain management and much more. ERP enable coverage of around 80% of your business needs. The best ERPs typically have thousands of customer organizations. This enables the vendors to fund a steady stream of new functionality, provide you with ready access to best-practice process flows, and the flexibility to configure it to fit your specific need. Market leading ERP solutions also offer a wide range of configuration options for data, user interfaces and reports. ERPs deliver a true backbone, core business capability. Marketing leading ERP solutions are available both under SaaS contracts, and as COTS packages you can implement in your own data center. SaaS contracts are the preferred method, letting you turn on the functionality overnight and usually enjoy software updates at regular intervals, enhancing security and functionality, and sharing best practices. If you choose to deploy COTS yourself on-premises, it will take longer (than SaaS) because first you have to provision the infrastructure environment, then train your staff, then install and integrate the software.  

Niche Systems – are usually targeted at a single function or single set of activities. They have premade workflows and best practices. They are typically cloud based. They’re a good way to plug a gap in an ERP solution. Which means that you’ll get the most value from niche solutions that are designed for data integration. 

Low-code / No-code – When ERP and Niche Software do not support your needs, consider low-code/no-code platforms. These platforms have been around for a couple of decades and now provide remarkably high ease-of-use often based on drag-and-drop user interfaces. These tend to be general purpose in design, making them quite flexible. Anyone with basic skills in logical flows and critical thinking can rapidly produce a custom application. This can be a great way to automate the 10% of business processes that do not fit within the ERP or a Niche System, or if you need unusual innovation and creativity. There are dangers.  Your team is fully responsible to create your business process, from scratch with is a heavy task.  Also, no-code platforms really do produce code. It’s just code that isn’t visible to the user. So, it’s easy to get code logic wrong and then it’s hard to debug it. The major cloud vendors all offer cloud-native services for no-code / low-code users. Democratizing application development this way means it’s available to anyone with a PC (Personal Computer) and a browser. That convenience can be irresistible to anyone doing knowledge work. 

RPA – stands for Robotic Process Automation. RPA is software that can directly interact with the screens (user interfaces) of many applications and perform rote work that humans would otherwise have to perform. 

Do-it-yourself – which means writing custom code using one of the Build options describe below in question 3. Do-it-yourself provides a high degree of customization. Government Owned Software falls into this category if a software suite supports a limited group of clients. Do-it-yourself has several important drawbacks. It creates a long tail of technical debt. You don’t benefit from the larger customer base and modern processes an ERP or niche solution can provide. Also, custom code rapidly ages and requires routine support and maintenance. To save money, time, and effort we highly recommend avoiding custom software.  

Fundamental Question #3

What approach do you want to take to manage the delivery of your software? There are a variety of methods. Here are the ‘usual suspects’: 

Agile Development – is a modern way to manage software delivery rapidly through a series of quick iterations. Agile makes extensive use of automation in building, testing, and deploying applications.  

CI/CD – is short for Continuous Integration / Continuous Delivery. It combines the practice of continuous integration (of individual code modules into a larger software package) and the practice of continuous delivery or deployment of those software packages into production. CI/CD makes extensive use of automation in building, testing, and deploying applications. 

DevOps – is a modern way to develop software quickly (by using Agile techniques) and put it into production just as quickly by including representatives from IT (Information Technology) infrastructure operations in the development team. DevOps makes extensive use of automation in building, testing, and deploying applications. 

DevSecOps – expands the DevOps cross-functional team by including Security professionals to further accelerate the speed at which new functionality can go into production. DevSecOps makes extensive use of automation in building, testing, and deploying applications. 

Scrummerfall – this is what happens when your team tries to be ‘sort of Agile’. They work in waterfall, with a series of so-called scrums that run multiple months in length. This is a well-known anti-pattern. Don’t let anyone talk you into it. 

Waterfall – this is a widespread, legacy technique. It’s now recognized as flawed. Plainly speaking, you start by pretending you know all of you current and future requirements. You assemble teams of developers and testers. You have them write lots of code or configure a software suite to support the requirements. Then test the solution. Then put it into production and train users. By which point it’s several years in the future. Your needs have changed. So you start all over, having gotten little value from the exercise. Don’t let anyone talk you into this. The practical reality is no one is good at identifying the sweet spot (not too big, not too small) for their current requirements. No one is good at predicting future requirements. No one is good at predicting our adversaries’ actions, and how we’ll need to respond. No one is good at predicting how future elections will drive legislative agendas. 

Market forces are a remarkable thing

Today’s IT industry offers you a wide range of options for powering your new and improved business processes. In fact, you can consider the 3 fundamental questions independently of each other. That’s my advice. Decide the provisioning approach that gives you the best value. And explore your ideal combination of software to balance the tradeoffs between performance at  scale for the enterprise with rapid innovation at the edge of the enterprise. You can have both, as I outline in part 2 of this article. 

Suggested content for you