Why Agile Works

The ability to err early and often is essential to getting real work done. We are taught this in school when teachers tell us to write a rough draft of our final paper, store it away for a day or so, then revisit it several times refining and correcting as we go.  Unfortunately most of us always waited until the last minute to write our first (and final) draft, and produced something frightening as a result.  Writing software is not so dissimilar.

2 thoughts on “Why Agile Works

  1. I’m going to admit, I have never understood how iterative refinement was somehow unique to Agile development. Many of the ideas I see in Agile development methodologies were taught to me under the name of, “basic programming 101.”

    Additionally, let’s say I want to go that extra mile (or more) and really create mission critical code. I want proofs of correctness, in the formal sense. How does an Agile programmer make this a reality? Does it change the method?

  2. I’ve never seen an Agile practitioner, or Agile book or website claim to have invented iterative development. I think, though, that traditional iterative frameworks like RUP were designed with larger corporate businesses in mind. It seems that in general the pace of business has increased dramatically in the last thirty years, as the rate of communication has increased. Agile is a response to the need for teams to be smaller, more specialized, and highly adaptable. I have a large RUP poster that used to hang in my cube, and it was amazing how *many* artifacts and practices composed the entire process. Agile focuses on quality of communication as one of the highest productivity gains that a team can achieve, whereas other iterative processes focused on quality of artifacts. Also, Agile tends to focus on practices that have become more formally accepted in development such as automated testing and continuous integration.

Leave a Reply

Your email address will not be published. Required fields are marked *