Why Software Engineering Is Similar to Lawyering
Software engineer Mark Bernstein has an interesting piece on designing a “simple” additional feature for a software product.
If you’ve never thought about software design as an insanely complicated craft – a la creating a great contract – take a look at his piece. Almost all of it will still make sense even if the only thing you know about software is that it’s the stuff that runs on computers. You don’t even need to know what his product does.
The process will sound familiar to most attorneys, even if the details seem a foreign language. Start with a simple-sounding request. Figure out the myriad ways that other parties can interact with your object (whether a contract or a software feature). Write clauses (or code) to handle those interactions. Now look at how what you’ve just done alters work you did previously….