A few key takeaways and fun quotes from the insightful talk by Greg Wilson titled “What We Actually Know About Software Development, and Why We Believe It’s True”:
- A programmer should be willing to burn the entire code base down and rebuild if the project reaches such a stage.
- Code reviews. Just do them.
- We know nothing about estimating the completion time of software projects.
- Conway’s Law: The code structure closely resembles the structure of the organization.
- As programmers, we can understand only small patches. (It’s because coding is a very complex task.)
- Engineering is the love-child of Science and Economics.
- Ask for citations, back everything with data.
- Increasing the problem complexity non linearly increases the solution complexity.
- Platform independent code provides platform independent performance.
- Coders produce the same number of lines of code disregarding the language they code in. As a consequence, we should be coding in a language higher up in the abstraction pyramid.
- We as a society have very low standards of proof.
- Most OOP metrics perform no better than a simple LOC measurement.
- Most of the time of developing a project lies in requirements and design phase.
- A possible reason while agile works is that we work on smaller parts of the project and hence this might lead to reduced time in requirements phase. Research Needed
- All progress in science isn’t forward, sometimes science has to take a step back, accept that it faltered and restart.
I would urge all of you to watch the talk: