Hi I’m Willem, partner in QWAN, sometimes co-founder, long time XP practitioner. I am interested in Allium, as I often work on legacy systems. I took additional courses in formal methods at university (late 90s), and learnt that I was neither smart nor precise enough to use them at the time, and went with TDD instead (which has working in small steps in common with e.g. Edsger Dijkstra’s work).
I used to have more ideas than I could build, so over the past year and a bit I’ve prototyped several visual collaboration tools. I am done prototyping now, so slowly moving a port of a conference session review system to production. That has two Allium specs at the moment, as I am going slower. One for multi-tenancy, and one for flexible forms. I didn’t do the latter before, because before you know it it ends up being a programming language (think ABAP
. I came of age with DBASE ).
I found Allium through Henry’s posts on LinkedIn.
How it helps on projects:
With Allium I prototyped a Federated Business Intelligence app (the blogpost there was written by Claude Code, apart from the Afterword) in under a day. I have built something like that before, would have taken months with a small team. Six domains, 200+ tests in a few hours (and then 250 more coming back with Allium after going too much ‘yes,yes yes’ on my phone). Paraphrasing Henry, I was mostly an iterative one-shotter in this. It would have taken longer with synthetic tests only. This was vibe formal methods - I did not look at the specs.
So Allium helps me go even faster. Not that I want to, I am now going at the speed of my comprehension. Being in a flow state is great, not knowing the day after what it is that I did, less so.
I think the Allium skills used to be two skills, now there are six. I am still getting to grips with that, mostly using the ‘router’ skill lazily.
For the conference session review system, I am going slower now. conversations with Claude Code and Allium helped me to get a language for flexible forms. Initially vibe formal methods as well. I integrated more of it with a kind of wizard in the application, making a small extension to the spec, and reading it. It does read like a small programming language, but as Henry calls it, the triple check seems to work well here.
A gap, and I doubt this is for Allium, is that it doesn’t help me to keep track of longer workflows in an application. I’m taking some inspiration from Swim the System by Ward Cunningham and others to tie test flows together visually. Correctness of validations etc. I can do with Allium and unit-ish tests, but longer flows I need to see (not to mention my users are not going to discuss abstractions in this case, so screenshots FTW).
Sorry, can’t make it shorter apparently :-). Thanks.