The proverb "Measure twice, cut once" will be familiar most who have a background in engineering, especially if they trained on one of the trades. The phrase originated with carpentry in the middle ages. Once you have cut a length of wood, you cant make it longer again.

Since then it has been adopted widely, serving as a general principle for decision-making beyond engineering. It reminds us to double-check before acting to avoid costly mistakes.

How does this apply to web development?

Feasibility

Some would say it starts with requirements, but it really starts with feasibility. Take time to understand the customer's business allows for informed recommendations on what will and won’t work within their budget. Encourage them to think about their requirements, but take care not to distort their requirements.

Requirements

Then we get to the real requirements. It doesn't matter how beautifully designed or well engineered the site is if it doesn't do what the customer needs. Understand their vision for the web site and how it fits in with their business.

Vision, enthusiasm and budget are often at odds and need to compromise, so balancing feasibility and requirements is a delicate process.

When you think you have it all tied down, review the details with the customer. Emphasise what is included and also what is not. Clearly separate any blue sky ideas discussed and rejected in the process from what is actually being developed.

Play devils advocate and look for loopholes and edge cases that could cause issues to test the requirements with thought experiments before going any further.

Iteration

Despite best efforts, most projects also involve iteration. As our web site begins to take shape, what was and was not feasible can change, customer's ideas evolve and new insights emerge.

Sometimes we end up cutting many times, not just once. That is one of the beauties of software. by keeping a history we can always go back and adjust or branch off in a different direction. Perhaps the proverb needs to evolve with us to reflect this:

Cut many times, but measure twice before each cut.

Topics and Tags
Discussion

If you would like to discuss any of these thoughts, please start or continue a thread on the Concrete CMS Forums.