Recently, I was reading some articles on software development. I know. When I started a conversation at home with this sentence, my daughter looked at me in disbelief. The real story is I was stuck in an airport late at night and the only reading material had been abandoned by a previous passenger. I thumbed through most of it, but one section caught my attention.
Apparently in the software development world, there is a group of methods for practice referred to as Agile, in which solutions evolve through collaboration between cross-functional teams. It promotes adaptive planning and continuous improvement. Agile as a practice requires just a few steps:
- Find out where you are.
- Take a small step toward your goal.
- Adjust your understanding based on what you just learned.
- How to do it: When faced with two or more alternatives that deliver roughly the same value, take the path that makes future change easier.
And that’s it. According to Andy Hunt, those four steps and one practice encompass everything there is to know about effective software development. Of course, this involves a fair amount of thinking and some additional cautions. Don’t confuse the model with reality. Thinking that your project should “go this way” like it did in your head or on paper might trap you. The only thing a project is supposed to do is succeed.
Also, don’t spell out too much detail too soon. Hunt calls that premature optimization and essentially suggests that detail too early can act like instant glue — limiting innovation and reducing options. So give yourself (and your colleagues) some room to find out where you are, experiment, and adjust your understanding. Then pick the path that makes future change easier. See you there.
P.S. You can follow me on Twitter @cathannkress.