First version of Git was written in 2 weeks. Did Linus used Agile, Scrum, Waterfall or any other model?
No, Linus had a problem while maintaining source code of Linux kernel on BitKeeper. So he solved the problem by coding Git and moved on to solve next problem.
Sometimes I feel we mask lot of inefficiencies behind these fancy frameworks and then justify them because we are just obeying the principals. Every week lot of companies come out that promise to 10x the developer speed, but it's a behavioral problem not technical.
When I was at Stanford with the AI project [in the late 1960s] one of the things we used to do every Thanksgiving is have a computer programming contest with people on research projects in the Bay area. The prize I think was a turkey.
[John] McCarthy used to make up the problems. The one year that Knuth entered this, he won both the fastest time getting the program running and he also won the fastest execution of the algorithm. He did it on the worst system with remote batch called the Wilbur system. And he basically beat the shit out of everyone.
And they asked him, "How could you possibly do this?" And he answered,
"When I learned to program, you were lucky if you got five minutes with the machine a day. If you wanted to get the program going, it just had to be written right. So people just learned to program like it was carving stone. You sort of have to sidle up to it. That's how I learned to program."
I use to wonder how every coder in 80's was a 100x developer, they cracked super hard problems over weekends for fun.
Most of today's internet is build over such weekend projects.
One secret ingredient of these legends was slow computers. Computers were not a common accessory back in 80's, developers had to wait for weeks to punch in their code on common university computers.
And if you mess up code with a bug, wait for a week for your turn.
Eventually lot of thinking happened before coding (not after you print variable to find bug).
Brain was the pre-compiler for these people, no wonder they wrote perfect code.
Here's another story involving Knuth
In the 70's I had a co-worker, perhaps the best programmer in the department, that had gone to school with Knuth. He told me that one day while in college Knuth was using one of the available key-punch machines to punch his program on cards. My friend was ready to punch his program so he stood nearby to wait for Knuth to finish. Knuth, working on a big program, offered to Keypunch my friends program before finishing his own because my friend's program was shorter and Knuth could keypunch quite fast.
While watching over Knuth's shoulder, my friend noticed Knuth speeding up and slowing down at irregular intervals. Later he asked him about that and Knuth replied that he was fixing the bugs in my friend's Fortran as he punched it out.
Toady, we have fast systems and compute is as cheap as air. As a result thinking is an after-thought in coding. You keep on writing code like it's a typing competition, PM's measure quality of projects based on LOC's. Each bug results in branching with
if statements and in the end, you have a ugly looking strings of logic that will justify what Thanos did to half of the world (considering vanished people were programmers).
Cheap and fast computers made most of us poor developers.