How many times you tried to hammer a nail with a scissor? screwdriver? or maybe a shoe!!
I have done this a lot, ironically, sometimes it works! I might have faced some difficulties; the nail got bent, I harmed my self, or it took longer than expected. If it was one of my “Unlucky Days”, and usually it is, I’ll have them all and I end up with a bent nail and undone work!
Usually, tasks in all fields come in the following form:
So to get the work done, you need to process inputs with a tool. this tool might be your mind, a computer program, a hammer or simply your bare hands.
This makes picking the right tool the most important step towards achieving results.In some fields, picking the right tool is very intuitive. Unfortunately, in IT world, this is not the case.
Whenever you’re looking for a tool or a solution, you’ll find hundreds and maybe thousands of apparently relevant solutions, with different attributes and capacities. Sometimes, it is even worse, when required outputs are not 100% clear!
It is not getting any better, right?! That is true. But you know what, this might be one of the things that makes IT work interesting and challenging.
In contrast to what most of people think, human factor plays a very major role in IT world, we are still not driven by machines, yet! Results highly depend on our judgments and decisions.
We do continuously hear a lot about failed implementations of solutions that worked perfectly in other situations! If you were listening to me, it is not the tool problem!
So how to pick the right tool? solution? below I am listing some points that help me, and might help you finding your golden hammer:
Understand requirements: The first step you should do, is to acquire more knowledge about the domain you’re operating and implementing in.
When you do that, think of the problem in an abstract way, leave your experience at home! Do not try to look up any solutions from your arsenal. Do not make comparisons with previous implementations, as this will unconsciously leads toward tailoring the problem to fit your picked previous solutions!
Define solution attributes (features): The next step is to have a list of clear requirements, what should your solution do, what features it should have. Still at this point you should be thinking of the solution (tool) in an abstract way.
Search for the appropriate tool: Sometimes, people jump directly to this step, which is completely wrong! That is usually the case, when you pick a fancy tool thinking that it will solve all the problems. Unluckily you discover late in your implementation that you made the wrong decision!
Starting looking for a tool without fully understanding requirements makes us like children who know they are supposed to be on the way to school but they can’t seem to get out of the candy store! Or what Melissa Cook referred to as “Toy Mentality” in her “Building Enterprise Information Architecture”.
Or, “it is like going to work with a “Tank”! you might reach at last, but you’ll destroy a lot on your way”, which is a metaphor I heard from my manager replying a developer, who was suggesting moving to another fancy technology.
Be Careful. IT world is full of buzz words! and honestly speaking, technical people tend toward implementing the latest cutting-edge technology rather than handling the real problem. So try to hold your horses!
Expand your horizon: One more thing I recommend, is to do more researches and investigations, even if you were able o lookup a solution from your experience. After all our world is changing quickly and there might have been a lot of changes you were not aware of.
Understand your role: Most of the time, people think of us- IT people- as geeks who have the solution to every problem, and we seem to believe in that!
We forget that our main role is “Service Provider”. We should provide business people with solutions they need to boost their performance, solve their problems and take advantage of business opportunities. So we are not driving the business in anyway and we should never forget this.
So our highest priority should be to support and work in the backstage. After all companies are not paying us to play around with the latest technology!
Justify your selection properly: As you come up with a suggested solution or tool, make sure to have solid arguments for your choice.
Remember, “Latest Solution”, “Cutting-edge technology” and “Rich set of Features” are not proper justifications! Your justifications should not be absolute, but relative to the problem you’re trying to solve. Your justifications should relate the solution to the business issue or problem under consideration.
Aforementioned points seem very intuitive, and so everything after being explained! Personally, I have applied those concepts at work and so far they seem to work perfectly!