I finally understand what
agile means in programming, and of course, I've been doing it from the beginning of my programming career. Get something working, try it out, learn from it, perhaps go in a different direction, but always checking what I'm doing by using it and listening to users.
Mitch Kapor, who I learned a lot from at Personal Software in the early 80s, worked this way. I ran
Living Videotext on these principles. Everything
UserLand did was developed this way. Now that I understand what it means, I might try to factor all the writing that's out there about it into a few words that explain the difference. I once encountered
anti-agile development in a company where the software was developed using
DoD procedures. Their philosophy was design the whole thing up front and give pieces of the project to different groups of programmers, who never saw the full spec, so no one knew what they were working on. The company went out of business very quickly, only to form the core of another company, which also went out of business.