Planning is one of the most important things to do before beginning a custom software project. Software development moves swiftly and things change. Even with thorough planning, some alterations or information shift the design, yet this doesn’t negate the value of a proposed construct. Clarifying your idea can avoid many problems and reduce cost overruns as well as identify and take advantage of specific opportunities.
One way of handling this is to just begin developing, incorporating the change factor in frequent review meetings and continuously updating the application. This commonly misinterpreted and mislabeled process called the Agile method, emphasizes doing over thinking. Because development is the most expensive part, you have no idea what you are actually getting when the money runs out. How can you plan like that? What do you expect for your investment? There are wonderful benefits to the are wonderful benefits to the Agile method. The clear understanding that things move fast and change often helps decision making, if used properly.
Let me illustrate some mistakes through a personal story. A few weeks ago I found a baby snake among the outdoor toys of our two office dogs. It looked like a baby rattlesnake, a venomous variety with more deadly venom the smaller the snake. I told my wife, we panicked, and she went to the local hardware store while I texted a photo of the snake to a friend in professional pest control and removal.
We purchased Snake Repellant, whose primary ingredient is Naphthalene, the same chemical used in mothballs. That mothball smell is a harmful poisonous gas and if you smell it, you’re being poisoned. I spread it all over the property including under the house. The smell and gas was so overpowering we had to move out for a week. Then I had the repellant removed, and covered the entire basement with baking soda to attempt to absorb the smell of any pellets we missed.
This was a costly and timely mistake. Especially because the snake was identified as a Corn Snake (pictured above) by Dusty, a non-venomous snake known to help control rat populations. We were lucky we were able to move back in at all, there are stories on the internet of people having to hire building professionals to remove wooden walls and floors from their home!
If we had remained calm and first done research, we could have avoided this situation. It doesn’t mean we needed to plan everything before starting, but a dose of care and forethought would have helped us avoid problems and uncover hidden opportunities. This principle is the same in custom software development, clarifying your strategy before any code is written—the most important part of any project.