As programmers we are constantly worrying about the ‘hows’ of things.
- How am I going to make this function faster?
- How can I write this query without joining 16 tables?
More often than not though, when writing code we forget to ask the really important question, WHY? We take instructions from our clients and users and immediately get to figuring out ‘how’ we’re going to make it work. We plan out how we are going to set the IDs for our DIVs and whether or not we want to use jQuery to make it work. We get so excited to dig in and start writing code that we forget to ask that critical question to figure out why we need to write it in the first place. Perhaps the reason that your client is asking to change the colour of a block of text is actually because the page layout doesn’t make sense for the situation. Maybe they think a help button is needed next to your feedback form because your form labels aren’t making it clear what you’re asking for.
Sometimes the answer to ‘Why?’ will be an unjustified ‘Because that’s the way I want it to be.’ The thing is that is totally OK, at least you asked the question. There will be plenty of other times where the answer will reveal a deeper issue, and it’s sometimes even easier to fix those instead of making the change that was requested. Which as a programmer, should appeal to your genetic desire to get more done by doing less.
So go ahead, the next time you get a change request, ask why, the answer may surprise you.