Four short links: 19 December 2019
Organizational Complexity, YAGNI, Social Robotics, and Formal Reasoning
- The #1 Bug Predictor is Not Technical; It’s Organizational Complexity — Microsoft Research published a paper in which they developed a new statistical model for predicting whether or not a software module was at risk of having bugs, based on a statistical analysis of the module itself. […] Organizational structure has the highest precision, and the highest recall.
- A Failed SaaS Postmortem — I can’t believe how powerful YAGNI is, and how hard it is to internalize. Like, you know YAGNI intellectually, but you still get suckered into building things you don’t actually need. “Sufficient” is hard to judge and even harder to stick to.
- What We Can Learn from Social Robots That Didn’t Make It — In my analysis, the current moment on the social robotics timeline is akin to the era following the failure of the Apple Newton, long before today’s ubiquity of smartphone devices.
- Formal Reasoning About Programming — As other engineering disciplines have their computer-aided-design tools, computer science has proof assistants, IDEs for logical arguments. We will learn how to apply these tools to certify that programs behave as expected. More specifically, introductions to two intertangled subjects: the Coq proof assistant, a tool for machine-checked mathematical theorem proving, and formal logical reasoning about the correctness of programs.