2 ms·
Does this approach work for all software? I’m trying to think of whether I’d trust an autonomous vehicle if the authors followed this practice. There are metho
by agentultra 8y ago
Does this approach work for all software? I’m trying to think of whether I’d trust an autonomous vehicle if the authors followed this practice.
There are methods to testing out designs that point us away from the diagrams and bikesheds. I’m drawing on my own experiences with various levels of formal methods of software construction.
- mlthoughts2018 8y agoThe first bad version need not be production-facing or operating in a situation with the same costs or risks. In fact, ideally it isn’t, and the feedback of the bad versions that get iterated is what actually ends up saving you from releasing a production beta version or something that injures somebody because you thought you spec’d everything in the architectural documents and the test plan, but of course you didn’t. I’m not saying arch planning has no place, only that it’s not a substitute for iterating on prototypes, and arguing about arch plans is often a waste of time.
- agentultra 8y agoThank you for the clarification. I think I understand what you mean. Where it makes sense I work from prototypes up refining the specification as I go. Often a decent type system helps in this regard as it works as a loose, informal specification language. However for some problems I find programming languages incapable of expressing sufficiently high-level concepts and turn to model checking to assist me in shooting holes in my ideas. Either way; a working model seems more useful than arm-chair debates, hand-waving, and glorious boxes with arrows.