4 ms·
It’s hard to consider the changes in files alone because files are so different. For instance, I may have to edit a project or UI component and generate “churn
by makecheck 8y ago
It’s hard to consider the changes in files alone because files are so different.
For instance, I may have to edit a project or UI component and generate “churn” just because it decides to reformat some XML for a minor edit. Or, in code, some styles are clearly more “vertical” than others, comment paragraphs may or may not have changed, etc.
Then there are tiny edits that have a huge amount of “churn” in the actual project, such as “#if 0”.
While lines of code is not an entirely useless measurement, it would definitely be good to have at least a couple other things measured. For instance: compiled binary sizes before/after edits, number of bugs logged per month, or something. Even then of course, these additional measures can obviously be affected by external factors (how good is your compiler, what kinds of bugs actually appear in reports, etc.).
My takeaway is that measuring productivity accurately is hard, and if you want good accuracy then you have to put a lot of effort into the measurement process. There are no easy 10:1 rules for these things.
- specialist 8y agoFrom the article, about the shelf-life of UI code: "Does the amount of churn depend on the type of software? For example, Bill Scott found that at Netflix, only about 10% of the UI code lasted more than a year, and the other 90% had to be thrown away. What are the rates of churn in backend code, databases, CLI tools, and so on?" I used to do a lot UI. This jives with my experience. At the time, I resolved to divine concise ways to prototype and implement UIs. 20 years ago. I didn't get very far. But I am now making another run up that hill, so we'll see.