Welcome back to Not So Random Software! This week’s links are dedicated to the act of deliberately preparing for the future; reflection, designing strategies, have the right mix of quantitative and qualitative thinking and explicitly challenging ideas are all tools that in one way or another prepare you for the future. Hope you enjoy the ride!
A random article or paper
The Influence of Organizational Structure On Software Quality: An Empirical Case Study
In this paper by Microsoft research, they studied how to predict software quality using people/organizational dimensions like “number of people who did touch the code” or “level of ownership of a software component”. Traditionally this might be done via hard code metrics like code churn, complexity or coverage instead. What did they find? The way we organize people is a predictor of software quality compared to the hard code metrics.
A random video or podcast
Persistence, Preparation, and Managing Risk with Alex Honnold.
In this video, the professional climber Alex Honnold talks about the challenges of physical and mental preparation. I found especially interesting the idea of climbing down as a way to retrospectively looking at the moves you did and delineate the strategy for next time you go up.
A random book
Preparing for a challenge and setting up goals might feel intimidating at times; I found the book Good Strategy, Bad Strategy to give me a clear mental framework on how to approach this problem. According to the author you need (1) a diagnosis (2) a guiding policy and (3) a set of coherent actions.
A random tool
Model Studio; Interactive Studio for Explanatory Model Analysis.
Data on itself is useless to prepare if you don’t understanding. In the age of big data and machine learning tools like this one helps you explore how your models are looking at the data and what insights you can take out it; but remember, correlation does not imply causation!.
A random line of code
Did you know that Integer() in Ruby is happy when given an “integer looking float” but it’s not when given a string that looks exactly the same? Well, that surprised me too, but now you know!
1 2 3 4 |
irb(main):002:0> Integer(1.4) => 1 irb(main):001:0> Integer("1.4") ArgumentError (invalid value for Integer(): "1.4") |
A random quote
There exists in such a case a certain institution or law; let us say, for the sake of simplicity, a fence or gate erected across a road. The more modern type of reformer goes gaily up to it and says, “I don’t see the use of this; let us clear it away.” To which the more intelligent type of reformer will do well to answer: “If you don’t see the use of it, I certainly won’t let you clear it away. Go away and think. Then, when you can come back and tell me that you do see the use of it, I may allow you to destroy it.”G. K. Chesterton