thus the invention of a discipline called 'systems engineering'..
i would say in 100% of engineering development, the design is done as a system, and specific requirements are allocated to design elements (like MCAS software). Each of these elements is tested against the requirements.
aeronautical engineering is a very specific skill. so is aircraft controls. so is airworthiness. a software engineer is an expert in software, not these other disciplines.
In fact, achieving a functional and fully correct piece of software based on such a specification is not at all a trivial task, as experienced software engineers will well appreciate.
Because while the specification may describe a certain sequence of inputs that should result in a certain sequence of outputs, it probably does not prescribe the exact data structures, memory layout, logic flow, and computational steps required to guarantee the correct output is always produced from a given set of inputs.
And the people being paid to create the necessary data structures, algorithms, calculations and control logic in order to implement the design specification... those developers are specifically not in a position to make systems design engineering changes to the underlying specification itself.
I think the parent post is an example of this problem taking on flesh. It has been so long since we realized the folly of over-specification in most projects that we have lost memory of there being cases where having a body of people engineering the system and specifications distinctly from the people who implement them actually does matter a great deal.
As a software engineer and not a systems engineer, I thank you for your comment. It has great clarity.
So in this situation, the claim is that braindead contractors mechanically implemented something to spec by force of law? Sure, then whoever designed the logic is accountable.
In 99.9% other environments, the distinction is collapsed because the implementor typically has responsibility to design sub-component level logic correctly, to high-level requirements, but also to overall business need and in service to even higher level project goals, and the team that designed the logic is also implemented by the same team.