Let me start off by explaining what I refer to as the “90/10 Rule”. If you spend 90% of your time gathering requirements, getting customer specifications, and trying to identify and nail down every contingency, then you will be able to create your end product in the last 10% of the time, and only have to do it once.
No rework. No “Oh, I didn’t tell you about….”. No “Oh, I thought you knew what I meant by…”. Will there be some minor tweaks? Absolutely. However, you won’t have to start over from scratch, thus saving the sanity of all parties involved.
Now, this rule does not just apply to software development, but can be applied across all aspects of small business ownership, and creating consumer goods. Consider the following:
- Did you simply open your own business without any planning, or did you first seek out a market niche that needed to be filled?
- Do you create products and offerings in hopes of someone buying them, or do you ensure there’s a market first?
- Would you walk up to a software developer and tell them “I have a big bag of money, and want you to make an app that does something. I don’t know what, but make it do something. Then I want to sell it!”
I’m truly hoping you are all rolling your eyes at me right now and thinking “HELL NO!” as an answer to all three questions. Each of us took a passion, researched the market, determined there was a need, and only after careful consideration, jumped in. Whether you knew it or not, you spent a predominance of your time and resources on designing, researching, and planning (90), so that the time and money spent executing your plan (10) wasn’t for naught.
Now, what happens if the 90/10 rule is ignored? Well, I must admit about a month ago I ignored my own advice, and suffered as a result. I took what I thought was a simple job request to do “X, Y, and Z”. They gave me the information, and wanted it put into a format that was attractive, clean, and could then be given to a third party to word with. Because they were a new customer, and there was a possibility of future work, I accepted the job and gave them a low introductory price. BIG mistake.
Why? Because after I gave them three different samples, each making tweaks that they requested, they completely changed the focus and the format, as well as some of the content. In essence, I had to start over from scratch, because I didn’t go through my own process on what I viewed as a “quick” job. In fact there were eight more iterations after that. Lesson learned: I created my internal processes for a reason!
The lesson of all of this is to ensure that you slow down and plan. Ask as many detailed questions as you can to gain as much insight as possible. Gather all of those requirements and specifications. Only AFTER all of that planning is done, should you even think about starting to build. Your time and money are just like any other resource you’re working with, and last thing anyone wants to do is waste their resources.