frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

A Rational Design Process: How and Why to Fake It (1986) [pdf]

http://www.ics.uci.edu/~taylor/classes/121/IEEE86_Parnas_Clement.pdf
4•vacuity•3mo ago

Comments

vacuity•3mo ago
I recently came across a much earlier HN submission[0] to this paper. While the points the commenters made (with excellent citations) are correct, I feel that a charitable reading of the paper finds that it is not in opposition.

[0] https://news.ycombinator.com/item?id=11101358

In the paper, Parnas and Clements do reject an "ideal, rational, top-down" design process as being a goal for software development. However, their subsequent claim that project documentation should "fake" this process is more controversial. I interpret the paper's claims as such: when the authors say to "fake" the process, they are not saying to pretend to the world that the top-down design process occurred all along. In fact, they prescribe a document to describe alternative design decisions that were rejected, just so that the ideal view is contrasted with the reality of the design process. They note that, in mathematics education, proofs are "cleaned up" so as to focus on the specific strengths or qualities of the proof. Textbooks are perhaps the ultimate example of this. I have heard mention of this practice elsewhere, before encountering this paper, and I don't find an issue with that. To me, this comes down to being in alternative modes: as an author or as a learner. Designers can and should be both, each at their own times. The point of having polished requirements documents, architecture documents, and so on, is so that other designers can efficiently learn from the documented design. Otherwise, the learners would need to collect information from a myriad of sources, trying to piece together the knowledge, skill, and experience that went into the design.

In concurrence with the citations in [0], I agree that requirements/specifications change, and that a seemingly haphazard design process that isn't top-down still has its own sense. I think of peoples' actions as obeying numerous different systems of logic. Values (taken as axioms) and inference/derivation rules don't have to strictly be "formally logical". If an action seems nonsensical from an economic standpoint, it may not be from an emotional standpoint, and so on. There is no inherent reason to prefer some set of axioms, and agents may hold many different sets (and therefore different logics) for different times. What is important is consistency within a logical system. In fact, during design, people surely have partially-formed requirements documents, and whatnot, in mind. So I say that top-down design is not suitable for someone in the process of designing, but lends itself to someone learning about a design (with the caveat that the roads not taken are also documented). The two approaches are two sides of the same coin. Or: don't require someone to create the universe to create an apple pie, but let the physicists have a slice as they figure it out.

The Crumbling Workflow Moat: Aggregation Theory's Final Chapter

https://twitter.com/nicbstme/status/2019149771706102022
1•SubiculumCode•1m ago•0 comments

Pax Historia – User and AI powered gaming platform

https://www.ycombinator.com/launches/PMu-pax-historia-user-ai-powered-gaming-platform
1•Osiris30•2m ago•0 comments

Show HN: I built a RAG engine to search Singaporean laws

https://github.com/adityaprasad-sudo/Explore-Singapore
1•ambitious_potat•8m ago•0 comments

Scams, Fraud, and Fake Apps: How to Protect Your Money in a Mobile-First Economy

https://blog.afrowallet.co/en_GB/tiers-app/scams-fraud-and-fake-apps-in-africa
1•jonatask•8m ago•0 comments

Porting Doom to My WebAssembly VM

https://irreducible.io/blog/porting-doom-to-wasm/
1•irreducible•9m ago•0 comments

Cognitive Style and Visual Attention in Multimodal Museum Exhibitions

https://www.mdpi.com/2075-5309/15/16/2968
1•rbanffy•10m ago•0 comments

Full-Blown Cross-Assembler in a Bash Script

https://hackaday.com/2026/02/06/full-blown-cross-assembler-in-a-bash-script/
1•grajmanu•15m ago•0 comments

Logic Puzzles: Why the Liar Is the Helpful One

https://blog.szczepan.org/blog/knights-and-knaves/
1•wasabi991011•27m ago•0 comments

Optical Combs Help Radio Telescopes Work Together

https://hackaday.com/2026/02/03/optical-combs-help-radio-telescopes-work-together/
2•toomuchtodo•32m ago•1 comments

Show HN: Myanon – fast, deterministic MySQL dump anonymizer

https://github.com/ppomes/myanon
1•pierrepomes•38m ago•0 comments

The Tao of Programming

http://www.canonical.org/~kragen/tao-of-programming.html
1•alexjplant•39m ago•0 comments

Forcing Rust: How Big Tech Lobbied the Government into a Language Mandate

https://medium.com/@ognian.milanov/forcing-rust-how-big-tech-lobbied-the-government-into-a-langua...
2•akagusu•39m ago•0 comments

PanelBench: We evaluated Cursor's Visual Editor on 89 test cases. 43 fail

https://www.tryinspector.com/blog/code-first-design-tools
2•quentinrl•41m ago•2 comments

Can You Draw Every Flag in PowerPoint? (Part 2) [video]

https://www.youtube.com/watch?v=BztF7MODsKI
1•fgclue•46m ago•0 comments

Show HN: MCP-baepsae – MCP server for iOS Simulator automation

https://github.com/oozoofrog/mcp-baepsae
1•oozoofrog•50m ago•0 comments

Make Trust Irrelevant: A Gamer's Take on Agentic AI Safety

https://github.com/Deso-PK/make-trust-irrelevant
6•DesoPK•54m ago•2 comments

Show HN: Sem – Semantic diffs and patches for Git

https://ataraxy-labs.github.io/sem/
1•rs545837•55m ago•1 comments

Hello world does not compile

https://github.com/anthropics/claudes-c-compiler/issues/1
33•mfiguiere•1h ago•20 comments

Show HN: ZigZag – A Bubble Tea-Inspired TUI Framework for Zig

https://github.com/meszmate/zigzag
3•meszmate•1h ago•0 comments

Metaphor+Metonymy: "To love that well which thou must leave ere long"(Sonnet73)

https://www.huckgutman.com/blog-1/shakespeare-sonnet-73
1•gsf_emergency_6•1h ago•0 comments

Show HN: Django N+1 Queries Checker

https://github.com/richardhapb/django-check
1•richardhapb•1h ago•1 comments

Emacs-tramp-RPC: High-performance TRAMP back end using JSON-RPC instead of shell

https://github.com/ArthurHeymans/emacs-tramp-rpc
1•todsacerdoti•1h ago•0 comments

Protocol Validation with Affine MPST in Rust

https://hibanaworks.dev
1•o8vm•1h ago•1 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
4•gmays•1h ago•0 comments

Show HN: Zest – A hands-on simulator for Staff+ system design scenarios

https://staff-engineering-simulator-880284904082.us-west1.run.app/
1•chanip0114•1h ago•1 comments

Show HN: DeSync – Decentralized Economic Realm with Blockchain-Based Governance

https://github.com/MelzLabs/DeSync
1•0xUnavailable•1h ago•0 comments

Automatic Programming Returns

https://cyber-omelette.com/posts/the-abstraction-rises.html
1•benrules2•1h ago•1 comments

Why Are There Still So Many Jobs? The History and Future of Workplace Automation [pdf]

https://economics.mit.edu/sites/default/files/inline-files/Why%20Are%20there%20Still%20So%20Many%...
2•oidar•1h ago•0 comments

The Search Engine Map

https://www.searchenginemap.com
1•cratermoon•1h ago•0 comments

Show HN: Souls.directory – SOUL.md templates for AI agent personalities

https://souls.directory
1•thedaviddias•1h ago•0 comments