frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Requirements change until they don't

https://buttondown.com/hillelwayne/archive/requirements-change-until-they-dont/
74•azhenley•10mo ago

Comments

firesteelrain•10mo ago
I feel like Wayne is taking the Agile Maxim “requirements always change” too literally. Agile doesn’t mean "every requirement always changes forever”.

In most live production environments today, requirements do keep changing — security, compliance, customer behavior, scaling — even when teams think they're done.

Agile isn’t making an empirical prediction ("all requirements will mutate endlessly"); it’s a philosophical posture toward uncertainty

Wayne misses this interpretative nuance.

fredo2025•10mo ago
I agree with Wayne that the needs of the user don’t seem to end, even if your project or contract completes. Either the need is to keep maintaining it, put a twist on it, radically change it, or abandon it for something else.

I don’t agree on testing. It’s been a long time since I bought into that, and even tests for uncertain behavior to have confidence is a form of tech debt, as the developer that follows you must make a decision whether to maintain the test or to delete it; its value doesn’t usually last. An exception would be verifying expected behavior of a library or service that must stay consistent, but that is not the job of most developers.

tbrownaw•10mo ago
> Agile isn’t making an empirical prediction ("all requirements will mutate endlessly"); it’s a philosophical posture toward uncertainty

At some point this philosophy has to result in something concrete.

How much ongoing effort should be put into handling the possibility that this particular requirement might change?

rTX5CMRXIfFG•10mo ago
You have to be able to distinguish between general and specific theories, so that you don’t expect the general to provide you the specific.
Swizec•10mo ago
> How much ongoing effort should be put into handling the possibility that this particular requirement might change?

How likely is it that the world freezes and stops changing around your software? This includes business processes, dependencies, end-user expectations, regulations, etc.

In general that’s the difference between a product and a project. Even Coca Cola keeps tweaking its recipe based on ingredient availability, changes in manufacturing, price optimizations, logistics developments, etc.

Hell, COBOL and FORTRAN still get regular updates every few years! Because the software that runs on them continues to stay under active maintenance and has evolving needs.

rightbyte•10mo ago
> Even Coca Cola keeps tweaking its recipe

Ye and they should stop. Has there been any big changes except the "New Coke" that never reached my home town?

virgilp•10mo ago
As a general rule, one should presume that they now less about running a business than the people that actually do that. There are exceptions but as with all rules, exceptions don't invalidate the rule.

"they should stop" is a fine rant to express your personal taste preferences, but objectively speaking, I would bet on Coca-Cola having good reasons when tweaking the recipes. If that happens, it's probably more necessary than a layman realizes.

rightbyte•10mo ago
Sure I am no expert. But it goes both way.

They might also argue they know better than me and AB test the soda into something silly if they get hubris.

Swizec•10mo ago
> Has there been any big changes

Yes and no. We’ll never know. There are small changes all the time. You and I wouldn’t even notice the difference.

But if you compared today’s flavor to the flavor of 100 years ago side-by-side, I bet it’s pretty noticeable. Today they use corn syrup instead of sugar, for example. Many of the flavoring ingredients from back then aren’t even legal for human consumption anymore either.

Exact ingredients also differ between markets so we’re not even all talking about the same coca cola.

rightbyte•10mo ago
A part time bar owner I worked with claimed Mexican Coca Cola was the best due the sugar being made out of either corn or sugar cane, I don't remember which one, compared the US one.

It would have been interesting to do a blind test if that.

arkh•10mo ago
The result of Agile (and DDD, TDD etc.) comes back to The Mythical Man Month: you're gonna throw one away. So plan the system for change.

And due to Conway's law: plan the organization for change.

From those ideas you derive Agile (make an organization easily changeable) and the tactical part of DDD (all the code architecture meant to be often and easily refactored).

cjfd•10mo ago
It seems the article is much wiser than this comment. It is a distinction without a difference whether 'requirements always change' or whether 'every requirement always changes forever'. If you don't know which requirement is going to change next week, it does not matter which of these two are true.
firesteelrain•10mo ago
That’s fair from a practical design perspective. But, if you treat “requirements always change” as a hard truth rather than a heuristic or philosophical posture, you can end up in a mode where stability is viewed with suspicion, and architecture never settles. Some requirements do stabilize and knowing when that happens can help determine tradeoffs.
AndrewKemendo•10mo ago
Preface: A Formally verified end to end application with associated state machine(s) is kind of my engineering holy grail - so I’m a likely mark for this article.

However the author never actually makes a good case for FV other than to satisfy hard-core OCD engineers like ourselves. Maybe the author feels like we all know their opinion - but it seems like the author is arguing against a poster of claude shannon.

If the system is - for all intents and purposes - deterministically solving the subset of problems for the customer, and you never build the state machine, then who cares?

My argument is “there isn’t one” — that’s provided we’re in a business context where new features are ALWAYS more beneficial to the business inputs than formal verification.

If a business requirement requires formal verification then the argument is also moot - because it is part of the business requirement - and so it’s not optional it’s a feature.

Come to think of it I’m not really sure I’ve ever seen software created on behalf of a business, that has formal verification, where FM is not mandatory requirement of the application or it’s not a research project.

The last time I saw formal state machines built against a Formally Verfied system it was from a bored 50 year old unicorn engineer doing it on a simple C application.

shoo•10mo ago
> we’re in a business context where new features are ALWAYS more beneficial to the business inputs than formal verification.

Another way of framing this is "what is the impact (to the business / to the customers / to the users) of shipping a defect?". In a lot of contexts the impact of shipping defects is relatively low -- say SaaS applications providing a non-critical service, where defects, once noticed, can usually be fixed by rolling back to the last good version server side. In some contexts the impact of shipping defects is very high, say if the defect gets baked into hardware and ships before it is detected, and fixing it would require a recall that would bankrupt the company, or if a defect could kill the customers/users or crash the space probe or so on.

xlii•10mo ago
> In some contexts the impact of shipping defects is very high (…)

I agree however I think that many overestimate how frequent those environments are. Almost everything can be updated (and that includes dumb appliances with hardware chips replaced by technician) and the only real question is what is your reliability vector.

At the end of the spectrum there’s Two Generals Problem and Space Bit Flip and so much complexity that’s mind blowing. I’ve seen on my own eyes industry wide screwups that were fixed with month full of phone calls and paper slips exchange, so it’s not like we (as humans) cannot live with unreliable systems.

I’ve been researching formal verification for a while and IMO they are not fit for general use through lack of ergonomics. I might have some ideas how to solve it but I rather try to put in a commercial box <insert dr evil meme>

hdjrudni•10mo ago
Things are often fixable, but if you keep breaking things for your user you're going to develop a reputation for being unstable and your customers will leave.
xlii•10mo ago
That's true, but "Real Metrics" matter.

Bugs are on the spectrum - some might increase resource usage, or some might crash for a percent of users. Some might always manifest for specific cohort of users and it might not be profitable to fix it for them. It's an ocean of possibilities between "perfect system" and "complete failure".

Sanity test are degrees of magnitude easier than FV and they can assure at least that.

LegionMammal978•10mo ago
And even a "perfect system" might not be perfect for all users. I've seen lots of "old-school, battle-tested, rock-solid software" with bizarre behavior that supporters insist is an intended feature and can never be changed or configured, on account of it being convenient for some workflow back in the '80s or whatever. No system is so "perfect" that it can be all things to all people, unless it's truly trivial in scope.
AndrewKemendo•10mo ago
Right but then it’s a requirement, the author frames the argument around FV when it’s NOT a written requirement

I mentioned exactly that:

> If a business requirement requires formal verification then the argument is also moot - because it is part of the business requirement - and so it’s not optional it’s a feature.

ipaddr•10mo ago
This may seem counterintuitive but new features often alienate customers. It's not because of formal verification it's because a percentage of customers don't want change.
taeric•10mo ago
The diversion through phase changes is awkward, here? I would use that metaphor to point out that many of the properties and requirements to maintain one phase are not relevant when in another phase. More, some properties become harder with different phases. Sure, holding water is generally easier than holding steam. Neither is easy at large scale, of course.

I think you could stick with construction metaphors for a lot of learning. Scaffolding key stones is particularly instructive. You will build a large structure that is intended to be torn down in order to build another structure. And there is basically no avoiding it.

I'm not clear how to move those ideas to formal methods. Typically you do that by keeping different layers that you formalize to different degrees? Along with processes to confirm compliance at the different layers.

Software seems to get tough as we often wind up trying to expand solution and construction models to be fully inclusive of each other. We don't necessarily do this for any other construction. Do we?

LiteLLM Python package compromised by supply-chain attack

https://github.com/BerriAI/litellm/issues/24512
590•theanonymousone•4h ago•241 comments

No Terms. No Conditions

https://notermsnoconditions.com
92•bayneri•1h ago•23 comments

Hypothesis, Antithesis, Synthesis

https://antithesis.com/blog/2026/hegel/
69•alpaylan•1h ago•34 comments

Run a 1T parameter model on a 32gb Mac by streaming tensors from NVMe

https://github.com/t8/hypura
54•tatef•1h ago•26 comments

WolfGuard: WireGuard with FIPS 140-3 cryptography

https://github.com/wolfssl/wolfguard
29•789c789c789c•1h ago•15 comments

Show HN: Gemini can now natively embed video, so I built sub-second video search

https://github.com/ssrajadh/sentrysearch
47•sohamrj•2h ago•16 comments

Show HN: Email.md – Markdown to responsive, email-safe HTML

https://www.emailmd.dev/
10•dancablam•58m ago•2 comments

Tony Hoare and His Imprint on Computer Science

https://cacm.acm.org/blogcacm/tony-hoare-and-his-imprint-on-computer-science/
19•matt_d•3d ago•2 comments

Nanobrew: The fastest macOS package manager compatible with brew

https://nanobrew.trilok.ai/
97•syrusakbary•5h ago•53 comments

Testing the Swift C compatibility with Raylib (+WASM)

https://carette.xyz/posts/swift_c_compatibility_with_raylib/
24•LucidLynx•2d ago•7 comments

Microsoft's "Fix" for Windows 11: Flowers After the Beating

https://www.sambent.com/microsofts-plan-to-fix-windows-11-is-gaslighting/
747•h0ek•7h ago•549 comments

LaGuardia pilots raised safety alarms months before deadly runway crash

https://www.theguardian.com/us-news/2026/mar/24/laguardia-airplane-pilots-safety-concerns-crash
160•m_fayer•2h ago•127 comments

Apple Business

https://www.apple.com/newsroom/2026/03/introducing-apple-business-a-new-all-in-one-platform-for-b...
112•soheilpro•1h ago•88 comments

Ripgrep is faster than grep, ag, git grep, ucg, pt, sift (2016)

https://burntsushi.net/ripgrep/
251•jxmorris12•10h ago•101 comments

Debunking Zswap and Zram Myths

https://chrisdown.name/2026/03/24/zswap-vs-zram-when-to-use-what.html
121•javierhonduco•6h ago•31 comments

Secure Domain Name System (DNS) Deployment 2026 Guide [pdf]

https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-81r3.pdf
67•XzetaU8•5h ago•6 comments

curl > /dev/sda: How I made a Linux distro that runs wget | dd

https://astrid.tech/2026/03/24/0/curl-to-dev-sda/
118•astralbijection•7h ago•47 comments

Opera: Rewind The Web to 1996 (Opera at 30)

https://www.web-rewind.com
160•thushanfernando•9h ago•95 comments

io_uring, libaio performance across Linux kernels and an unexpected IOMMU trap

https://blog.ydb.tech/how-io-uring-overtook-libaio-performance-across-linux-kernels-and-an-unexpe...
31•tanelpoder•4h ago•13 comments

Box of Secrets: Discreetly modding an apartment intercom to work with Apple Home

https://www.jackhogan.me/blog/box-of-secrets/
240•jackhogan11•1d ago•88 comments

Log File Viewer for the Terminal

https://lnav.org/
266•wiradikusuma•11h ago•42 comments

The Jellies That Evolved a Different Way to Keep Time

https://www.quantamagazine.org/the-jellies-that-evolved-a-different-way-to-keep-time-20260320/
18•jyunwai•4d ago•5 comments

So where are all the AI apps?

https://www.answer.ai/posts/2026-03-12-so-where-are-all-the-ai-apps.html
224•tanelpoder•3h ago•242 comments

LLM Neuroanatomy II: Modern LLM Hacking and Hints of a Universal Language?

https://dnhkng.github.io/posts/rys-ii/
67•realberkeaslan•6h ago•24 comments

MSA: Memory Sparse Attention

https://github.com/EverMind-AI/MSA
74•chaosprint•3d ago•5 comments

iPhone 17 Pro Demonstrated Running a 400B LLM

https://twitter.com/anemll/status/2035901335984611412
687•anemll•1d ago•311 comments

Autoresearch on an old research idea

https://ykumar.me/blog/eclip-autoresearch/
406•ykumards•22h ago•90 comments

NanoClaw Adopts OneCLI Agent Vault

https://nanoclaw.dev/blog/nanoclaw-agent-vault/
94•turntable_pride•4h ago•27 comments

BIO – The Bao I/O Co-Processor

https://www.crowdsupply.com/baochip/dabao/updates/bio-the-bao-i-o-co-processor
77•hasheddan•2d ago•18 comments

FCC updates covered list to include foreign-made consumer routers

https://www.fcc.gov/document/fcc-updates-covered-list-include-foreign-made-consumer-routers
436•moonka•19h ago•296 comments