I read the article on the no-code/low code reported by Derek duPreez, entitled Unqork CEO - ‘Agile has failed' and couldn’t help but write a rebuttal. In summary, Unqork's CEO says that we are entering a fourth generation of software, which follows Waterfall Projects, Packaged Solutions, and Agile Development.
Unfortunately, whilst it is good publicity for Unqork, I find almost all of Gary’s premises nonsensical. I wasn’t alone in this feeling: my good friend Vijay wrote his own teardown. He was deeply disappointed - and with good cause. As he said:
The fundamental premise is illogical – and poorly articulated
Here is my take..
First, Agile didn’t replace Packaged Solutions or Waterfall Projects - there are great uses for all three of these methodologies. If you want to do an upgrade of an existing system, you almost always use a Waterfall methodology. Trust me, you don’t want half an upgrade. Likewise, if you want an Enterprise Finance & Controlling system, you want a packaged solution. Even the belles of the Fortune 100 use them: Amazon uses Oracle E-Business Suite, and Google is currently implementing SAP S/4HANA.
What Agile allows you to do can be incredible. I remember December 31st 2008, I got a call from a CIO at a UK-based utility company. They had a union issue, and needed a new system for shift management in place by the end of the financial year (March 2009). Could I help? I told him that yes, on three conditions. First, we would need to use a new SAP solution which allowed faster development, and second, he would have to use my SAP Agile methodology that we had built. Third, he would have to accept that by March 31st we would deliver the first milestone, a Minimum Viable Product (MVP) which allowed them to put the new HR rules in place.
The first meeting with the business was eye-opening. Yes they agreed to use Agile, but please could I share the detailed requirements document with them so they could sign it off. Oh, no. On April 1st, they switched to the new system, which revolutionized the way they did shift management. The equivalent waterfall project would have been 9 months, and of course the original specs ere wrong anyhow, something we realized quickly in the bi-weekly user exposition following a sprint.
The key with agile is that it allows you to deliver something, in a fixed timeline, and that has huge advantages. First, you deliver something (many IT projects finish and get thrown in the trash), and second, you get to adapt as the customer gains an increasingly better understanding of what they wanted in the first place. This is huge.
Likewise, I am writing a software product today and there was never any consideration other than to use Agile. The tooling available is now incredible (GitHub, Atlassian, Bitbucket, Trello etc.) which means you can get started fast, and easily collaborate between timezones. We define each monthly release ahead of time and throw all the features we want into the backlog.
Moving on, Gary then points out some of the pitfalls of Agile projects and posits them as reasons not to use Agile. Yes, some bad Agile products focus on UX and fail to spend enough time on the backend (hint, get yourself a new CTO). Curiously, Gary says
The reality of agile is that it works for very small deliverables and nothing else. It fails miserably. It fails because business doesn’t know what it needs until it’s in production.
Yikes, that is an extremely misleading statement that shows a pretty poor understanding.
You can run Agile projects however you like, but most organizations building custom development with Agile use some variant of Create, Visualize, Iterate. You do a sprint (2-4 weeks coding), show what you built, reprioritize the product backlog for the next sprint, and repeat. That is literally the whole point of doing agile - otherwise, it’s just Waterfall in disguise.
As an aside, I took a look at Unqork and I like the concept. Goldman Sachs obviously agree, as they both led the Series A funding in April for Unqork, and are a reference customer. There are definite applications where the business wants to build product fast, and adapt. No-code platforms can achieve exactly that. But just like Agile wrongly called the downfall of Waterfall, this will, without doubt, be an additional choice of platform, not a replacement.
And lastly, Gary describes Unqork as a fourth-generation software development platform. That sounds an awful lot like 4GL, which is what the 1982 SAP ABAP is, the language Unqork claims to be upsetting in Financial Services. From a computer science perspective, in fact, both Unqork and ABAP are considered to be 4GLs.
Final thought: since Unqork can’t be built in Unqork, and must be built in some lower-level programming language, I wonder what methodology they use for their software development. Hint, it almost certainly rhymes with Agile.
There are few things better in IT than a developer fist fight and John doesn't disappoint. To Vijay's point that:
What works for me will not work for a larger and professionally run web property like Diginomica for example . They need code – lots of code. And if you go to an even bigger media company like NYT or WP, I can only imagine the talent, tech and processes they need to run it. There is no way that 90% of Diginomica, let alone NYT can run with low code tooling today. Some day in future it may be possible – but I can’t even do any speculation on how long that is going to take.
He is 100% right - but more on that in another story