Word Notes 4.19.22
Ep 96 | 4.19.22

Agile Software Development Method (noun)


Rick Howard: The word is: Agile software development model.

Rick Howard: Spelled: Agile, as in the ability to move quickly and freely, Software, as in computer programs designed to perform well-defined functions, Development, as in the people process and technology used in creating, designing, deploying, and supporting software, and Method, as in a particular procedure for accomplishing a task.

Rick Howard: Definition: A software development philosophy that emphasizes incremental delivery, team collaboration, continual planning, and continual learning 

Rick Howard: Example sentence: Agile is a mindset that drives an approach to software development 

Rick Howard: Origin and context: In 1956, Herbert Bennington invented the first version of the Waterfall Software Development method. Interestingly, Bennington didn't get credit for his work early on. Another guy, Dr. Winston Royce in 1970, got the credit when he published a criticism of the model that didn't even mention it by But the paper had nice diagrams that showed the process requirements, analysis, design, implementation, testing, and operations, all flowing from top to bottom, just like. In 1976 bell and Taylor referred to the Royce diagrams as the waterfall model and the name stuck to Dr. Royce in 1985, the U S department of defense adopted the waterfall model as a requirement for all contractors, despite Royce's criticism, and started a period of ponderous iceberg, like progress in producing software.

Rick Howard: The impact was that many programming projects took years to think. And the team spent as much time documenting the requirements as they did writing code. And the 1990 some rebel developers started experimenting with ways to improve the process. They began toying with the rational unified process in 1999. the Scrum in 1995 and extreme programming in 1996. But in February, 2001 17 men, and yes, they were all men, we can have a longer discussion later about the misogyny of the IT community in the early two thousands, they all traveled to Utah for a long weekend of skiing and discussions about building software.

Rick Howard: The result was the agile manifesto; a rejection of the Waterfall model and an embracement of the idea of producing real, working code as a milestone of progress. The manifesto laid out four key values: Individuals and interactions over process and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan. 

Rick Howard: The Agile method helped push big software development ideas like infrastructure-as-code, DevOps, and DevSecOps and the impact was at the Waterfall method produced new code once every three years or so, the Agile method made it possible for 10 new deployments a day. 

Rick Howard: Nerd reference: In 2009, Stanford University's eCorner interviewed Barbara Liskov, one of Computing Sciences founding mothers, who received the association of Computing Machinery's Turing award in 2008 for her contributions to solving the software crisis of the 1980s. She had this to say about her work and the work done by others to solve the problem.

Barbara Liskov: I was at MITRE and they do research for the government. And I was asked to look into this problem that the government was interested in namely what to do about the software crisis. So the software crisis was, people would build big programs and they wouldn't work. They'd spend millions of dollars, hundreds of man years and in the end, they'd have to scrap the whole thing. And actually in the sixties, the seventies, the eighties, you can read in the newspaper about these fiascos, companies such and such, you know, spend all this money and now they've had to throw the whole thing away.

Barbara Liskov: So the software price, it was a really big problem. And I was asked to start thinking about this. And so I started to look into this field it's called programming methodology. Of course, I read all the papers that existed, and there were some really good people working in that field. There was Edsgar Dykstra, Tony Hoare, Dave Parness.

Barbara Liskov: I mean, these were very good people and they were writing papers about how do you break up a program into pieces so that you can reason about it? The problem that they were worried about was, software programs are huge. They were huge then, you know, millions of lines of code. They're even bigger today.

Barbara Liskov: There's no way that you can make sense of something that big. You have to have a way of breaking it up and just small pieces that you can work on independently, reason about independently. And that somehow you put the whole thing together and it works. And nobody knew how to do that. 

Rick Howard: Word Notes was written by Sammy Diggs and Tim Nodar, executive produced by Peter Kilpe, and edited by John Petrik and me, Rick Howard. The mix, sound design, and original music have all been crafted by the ridiculously talented Elliott Peltzman. Thanks for listening.