This is the first in a series of articles on low-code. This article explains:
- What is meant by the term Low-Code?
- Why early attempts to automate software development weren’t fully successful.
- How Low-Code adds efficiencies to the development of customized software systems.
740 words, reading time approximately 4 minutes.
The #1 Software IPO of 2017 was a “Low-Code” Company
This is the first article in a series about low-code. See also the second article in the series, How Does Low-Code Work?
In a sentence, low-code is the idea that there are portions of an application that need custom logic and there are other portions that can use standard, non-programmed components. The result is that apps are delivered much more quickly than traditional approaches.
It’s instructional to see where we’ve come from and understand why now is different. Let’s start more or less at the beginning.
The Emergence of Software Engineering
Decades ago, when computers started becoming more and more useful to enterprises, we spent time trying to find ways to save a step here or there, or reuse something, etc. So an industry arose around “software engineering” that basically distilled the principles available to every other engineering discipline into the craft of creating software. A key concept in engineering is reuse.
In the 1980s and 1990s, one of the luminaries was Roger Pressman who authored the book “Software Engineering: A Practitioner’s Approach” which became a best seller in the software community and a key text in graduate-level computer science programs.1
Dr. Pressman observed that software engineering was like musket making before Eli Whitney’s cotton gin. Before then, screws for holding together muskets were not off-the-shelf but rather created each by hand. Other academics concluded that the creation of software could improve with one scheme being you can build software better in only one of three ways: faster (avoid steps), “smarter” (better tools) or reuse.2
Early Attempts to Add Automation
Software engineering spawned an industry that created the first computer-aided software engineering (CASE) tools, so-called fourth generation language (4GL) tools, and so forth.
For the most part, this brief renaissance didn’t last and mainly because of the constraints and requirements in order to make them work. Some were “code generators” that got you started but were hard to maintain. Others wanted you to model your entire enterprise to be the basis of the supporting software model. Meanwhile, enterprises continued to “code by hand” to get exactly what they wanted, bought commercial off-the-shelf (COTS) software, then spent months or years tailoring it, or just did without because IT was completely backed up.
So, what’s different now? Well, as it’s been said, history is a great teacher. We now have a category that has the bits you want and none of the bits you don’t. Fact is that much of what an application is about is not that much different from other applications – like the user interface. How many times have you programmed filling that grid table from a relational data store? Over and over. So, there are software bits that you should just never do – again. But you have to be willing to make a few compromises. Then there are other things that are unique to your application and cannot be dragged and dropped, but still can be built with pretty simple logic. Something a scripting language could do (like Excel macros). This is the category “low-code”.
The Emergence of Low-Code
It’s not “no code”, it’s low-code.
Again, the idea is to use canned features when you don’t need something distinct, add some high-level coding when you need something unique to your application but still pretty simple and know when to not use a low-code platform at all. I certainly would not recommend it if your application is high-volume, “high velocity” (e.g., high response time) or “high fidelity” (e.g., pixel perfect UI). I’m sure most of your apps are great candidates for low-code.
So, who are the players in this space? That a great topic to address in a different post. But I will say here that it’s become hugely popular and that we are seeing more and more new vendors in this space; as well as current large SaaS and cloud companies dipping their toes in the water. I will do a shout out for one company though. The number one software IPO of 2017 was Appian (www.appian.com) and is a leading low-code vendor for enterprises.
Ready to Get Started with Low-Code?
It’s time to re-think your application strategy. There is plenty of software to develop that is core to your business. For all the other apps you are building — or should be building if you only had time — that are context to your business, consider low-code. We can help with both.
If you have any questions or comments, please contact Telegraph Hill Software.
See also my video on low-code.
1 The emphasis on STEM subjects varies across the globe. Roger Pressman’s book was taught at the high school level in Singapore.
2 One of the pioneers was the Software Engineering Institute (www.sei.cmu.edu) particularly known for its creation of a model for measuring development practices, the Capability Maturity Model (https://en.wikipedia.org/wiki/Capability_Maturity_Model).
About the Author
Consulting CTOTahl has cultivated a diverse career in technology ranging from CTO of a Fortune 500 company (Providian Financial) to founder, CTO and hands-on developer for IoT healthcare startup Lifestate.io.
As a Managing Director of a consulting practice at Cisco, Tahl delivered results across nine counties and multiple industries including financial services, healthcare, energy, federal clients and others. His deep expertise includes Enterprise Architecture (VP at Visa), IT governance and resourcing, organizational change management and technical strategies, having delivered, for example, information security strategies to three Fortune 500 companies.
His expertise and passion includes advising on emerging technologies including IoT, low-code, and, affective computing.