Whether you are outsourcing a developer or hiring for your own company, there are certain rules to follow that will make the cooperation more efficient and smooth for all participants.
Making a proper requirements specification is a good thing for both clients and developers – because it serves as a direct matching of expectations between the client and developer. It’s also a balancing act and a big task.
Imagine a man, we’ll call him John. He calls up the local car dealer, saying “I need a car with 4 doors, air conditioning, and a diesel engine – and I want the car to be red”. Some flippant car salesman might simply say – “that’s a 20,000-dollar car”.
The result would be that John gets a car where all his stated requirements are met, but there is very little chance that the car is a perfect match. He probably had a different image of the car in his head when he commissioned the task.
John forgot to say that the car should be fuel efficient, and that he would like brown leather seats and a touch screen system in the car. John got what he asked for, but not what he thought he had asked for (meaning what he had imagined). Errors often arise because of a lack of specification.
Having a homepage or a web development project created, for instance for an app and web integration, is often a costly process, and unfortunately there is just one person/company to pay for this process – namely the customer.
There is only one way to control and calculate how much a project is going to cost – and that is in a case where you have proper directions and a project plan for what you, as a customer, want to accomplish – what your project should be able to do, and what you would like to happen from here on out when you use the system.
The more project details – the better.
Creating a requirements specification
Remember – you are not writing a requirements specification for yourself, but rather for someone else.
Imagine that the person you are writing to is a person with no experience who needs to accomplish your task without having any experience as to how everything works.
Fundamentally, a requirements specification for development is a document that is meant to save you money, prevent mistakes and improve consensus about what you expect as the final result.
One of the common mistakes in communicating with web developers, is to assume that something is just a simple task that would take around 30 minutes to fix. Sometimes that “easy task” can be a complex task for the developer to code and a minimum 15 hours would be required to complete. This will of course result in a discussion about sudden rate increase on the project.
A requirements specification consists of at least four elements:
What do you want, what is your need, what is your goal:
A very detailed needs statement of what your project needs to do
Who is the project intended for?
When do you want it launched?
What should it solve?
Outlines of your solution
Sketches, explanations, examples from reference projects:
Make sketches – an outline of the elements that go into a homepage. All you need is a black/white line drawing.
Perhaps a paper-and-pencil drawing
Draw your own “wire frames”
Which data must be received, sent, saved, entered, e-mailed:
Explain which data you would like to send to people when they interact with your project
Should an e-mail be sent out when creating a user?
Should there be a call-back to people’s mobile phones, if they do something in an app?
Which data do you expect returned or entered?
Functional description of elements
What needs to happen when you use the individual elements:
Describe every single wire frame with words in a document
Tip: Sit down without a computer, tablet, or smartphone, and without looking at other pages, write down bullet points with keywords for what you want to happen on each page or subpage on your website.
You need to imagine that you are talking to a person who has never before created a website.
Cats and developers are alike
Web developers are sometimes compared to cats, who enjoy being alone. Of course, not all developers are introverts who prefer sitting in front of their laptop instead of social interactions, but in many cases developers tend to be a bit reserved and prefer to work in peace. Create a detailed requirements specification and agree on all details for the project plan, and then leave them alone to do their magic.
However, similar to cats, developers appreciate a comfortable life, so treat them good and in return you’ll get motivated employees who are dedicated on creating an amazing project.