One of the hardest things to work out when producing a brief, or telling someone your requirements, is being able to differentiate between what you want, what you need and not picking out a solution by mistake thinking it’s what you need.
If I were to put this into terms easier to understand, let us imagine an alien has landed on earth and his space ship is broken. He needs transport to travel around looking for parts to help fix his ship, but he doesn’t speak the language very well and doesn’t know what is available. (This is often surprisingly similar to how people feel when they first think about building a website!)
The first thing the alien sees go past is a horse and cart and so he thinks that he needs a horse and cart. This is not strictly true, he needs a vehicle and a horse and cart may meet his needs but if he wants to carry heavy parts a long distance then a van or a car & trailer may be better suited to the job. However because he doesn’t know there are alternatives to the horse and cart, and he has seen the horse and cart, then when trying to explain to someone what he needs he is likely to go and draw a picture of a horse and cart and say that is what he wants. This is a very common problem for all sorts of projects and can be the cause of many misunderstandings when suppliers are sought to build websites.
The trick to stopping this from happening is to break your list of requirements into a set of functions; and then checking you can answer yes or no to the question ‘does it do this?’ or ‘does it have this?’ for each function. Also try to ensure the function/question cannot be misinterpreted and is not ambiguous in anyway.
In our above scenario if the alien were to forget he saw the horse and cart and try thinking about the functions he needs his transport to fulfill, then the list of his requirements for transport could be:
- economical to run
- easy to load single handedly
- able to carry large and heavy parts such as a spaceship exhaust (detailing where possible likely sizes, weights and shapes)
- comfortable to sit in for someone of an alien shape and size
- capable of transporting baby aliens safely
- able to get fuel in remote places
- possible to resell once he has finished and flies away home
- low initial cost in Alien Currency
In this example it is important to say ‘comfortable to sit in for someone of an alien shape & size’ as it may be that in the opinion of a human that one vehicle is comfortable but for an alien with extra arms or legs they cannot squeeze them into the space! In the same way if you can set boundaries or a scale rather than only using a word like ‘heavy’ ‘large’ or ‘lots’ which can be interpreted in different ways then it is good to do so.
Another good way to check you haven’t accidentally put down a solution rather than a requirement is to see if your list can be read without someone asking ‘why do you want this?’. So for the requirement ‘easy to load single handedly’ it is clear that they need someone to load it single handedly. However if the requirement had been written as ‘needs a low access’ then it wouldn’t be clear why this was needed and it could be assumed that for some reason they needed a vehicle low to the ground when other solutions may meet the real core need (e.g. a lift, or a ramp)
Once the alien has created his list, if he were to take it to someone to help him out then they would be much better placed to do so as they will have more information about the sorts of things the vehicle needs to do. It may also be possible for the alien to prioritise the items in the list to help him and his advisors make a decision e.g. it may be that it is more important to have something that is easy to load than it is to be comfortable or the ability to carry large parts may be more important thus suggesting that a van with poor suspension would be better than a comfortable estate car of the same price. Prioritising the list will help ensure that the best overall solution is found.
The digital world can be a very confusing place with new exciting technology appearing all the time. It is very easy for even the most experienced of digital users to get carried away with the buzz of this new technology and think that they really need this new tool or application to make their business run better. Sometimes this is the case, and sometimes even if you have a system in place it’s possible to take the most appropriate bits of a new technology and integrate or merge it with your existing systems to get their benefits. However the key to doing this successfully, whether you are enhancing an existing application or building something new from scratch, is to pinpoint exactly what it is that you want something to do and then use this information like a checklist for any new technology or solution provider you are looking at. This helps ensure that the work you are doing helps you achieve your goals in the best possible way, and will help keep you on the right track in a an often seemingly alien world.