The developers post on outsourcing:
We have all heard horror stories of outsourcing going bad, and a lot of people loosing a lot of money in the process. All these stories would make you wanna take a step back before thinking of outsourcing your project or even disclosing your uber cool idea to someone you don’t know. You must have read tons of people telling you how they got ripped off – but this article is from the “other side”.
Yep, this article comes from the us as developers. This is no mantra that would give you a sure shot way to be successful but is mainly things we guys come across every single day from clients all over the world. It would be a lie if we or any other company would say that we have 100% client satisfaction rate. It’s not possible in IT or in any other field.
We certainly have had our experience and numerous case studies on what went wrong in some projects, and why some projects got completed with the best possible quality and in the shortest period of time when others failed the transition from an idea to a website.
So based on all of that info, I write this article today and hope that it might help you understand how this business works.
UNDERSTANDING THE REQUIREMENTS:
In this section we are assuming that your knowledge of web development and how internet works is crude. This is an important aspect of what you require in your project and maybe pinning it down. Please note that we know that it’s just not possible for you to be 100% sure of what you require and idea’s would come running during all stages of the project. The importance of this phase is that you can at least inform people about your needs and they can get back to you with a quote/ time frame for your project.
Lets take the following as a small example:
John is looking for a website for his art gallery, here is how he approaches two developers to quote on his project.
Email to Developer A:
Hey I need a website for my gallery, please send a quote.
Email to Developer B:
Hey I need a website for my art gallery. It should be clean looking, something like www.abc.com…there are tons of paintings that I have and they keep increasing. Would it be possible to add them myself later? Please send me a quote and a time frame.
All right, so what do we learn from the above examples. There is nothing complicated written – but the message comes across in regards to your requirements. A professional developer would be able to understand your requirements better and would get back to you with the best solution available in design and/or coding.
This is far more important in bigger development projects in which the client might need an entire social networking platform – or a tailored application where development would go on for months.
CHOOSING THE RIGHT COMPANY/ INDIVIDUAL:
This is an important step, and though I feel the urge to write why you should Miracle Studios ……… i’ll let it go.
Looking for a company or looking for an Individual depends on the following important factors:
A. Quality required
Quality: There is no surprise that any person can miss out on even logical things. Everyone makes mistakes If you don’t mind that and are willing to work with the individual then quality at the end of it should come out ok. However in coding jobs, Quality comes from processes. What is being coded, how it’s being coded, who is coding, who is testing it. Clearly, where mid to large scale projects are concerned a team is what would work best for you.
Risk: Most of the horror stories we hear from clients is that they took a decision to work with freelancers. In some we hear that there was NO communication with the freelancer after initial payment was made – and the guy simply vanished. In others work was never completed. To reduce your risk your preference should be established companies.
MAKING SURE THE DEVELOPER UNDERSTANDS YOU AND VICEVERSA
Making a developer understand your requirements is extremely important. This is not just a one time communication but a continuous stream of discussions. Remember that especially in designing you are talking to another human being and not a genie that would get inside your mind and come up with exactly what you want. You have to explain and even give reasons as to what you require. Clarity in communication solves A LOT of things. If you are in the market with just an idea and not a details layout, tell the developer and ask him for advice. Remember, you know best for your business and clients, and your requirements are coming due to your vast experience. It wont be wise to assume that the other person would understand the core of your business in a 10 min call.
Once your communication has reached a point where both you and developer are comfortable with the requirements, its time to do more drilling into the requirements and pinning them down in a phase called B.A. (Business Analysis).
Business analysis: This sounds like a lot of paperwork, but this effort is required to help the client as well as the developer. To give you an example of what BA phase includes here is a a small example of how a simple REGISTRATION MODULE can be drilled down to further sub parts. Normally anyone would think, ah yeah… registration module.. should not take more than 2 hours, and this is where the problems start happening.
a. Registration form using 5-10 registration fields with validations (3 hours)
b. Include Facebook Login (1 hour)
c. Include twitter login (1 hour)
d. Successful Registration E-mailer (1 hour)
e. Forgot Password system (1 hour)
f. Forgot Password mailer (1 hour)
g. QA (Quality testing for module) 1 hour
As you can see what normally people assume that can be done easily was actually quite an effort. If this effort is not broken down into hours and shared to give total clarity, it would surely be a stepping stone to disaster in the project. This not only gives total clarity to the client on what they are supposed to get/ what they are paying for, but also saves the developer from doing extra work not being quoted for.
Advertisement You might wanna check out this page HOW WE WORK to get a glimpse of how we do things here at Miracle Studios.
UNDERSTANDING THE PROJECT LIFE-CYCLE
Another important area that is important for a client to know and understand is the project life cycle. Though developers understand that the clients they are dealing with are not from the same IT background, but understanding or at-least trying to understand what is coming there way and how their job would be done is the responsibility of a client.
Some of them are:
1. Understanding the phases the project will be divided into
2. How many milestones would each phase carry
3. What deliverable would each milestone have
4. Knowing what can be changed when during the course of the project
Knowing that a design mock up is not the final product in itself. A lot of iterations would be done on it based on communication. There have been multiple times where clients do not understand the idea behind a design (which is normal) and reject it flat. Jokes apart we have had designs rejected due to color combinations, and rejected with 0 acceptance even on the structure. However, when the same structure is shown in a different color combination they fall in love with it. Only if a client knows that this phase is only to show them the creative side and that the colors can be easily modified, would make things move much faster on the project.
EVERYTHING CAN’T BE PERFECT THE FIRST TIME.
We all want things done perfectly for us don’t we? That extra spacing is required to make it look just right. Well if you are on a tight deadline, and are a perfectionist, then you will have to set your preferences right.
In mid to large scale custom projects, as a client, you should ignore certain minor aspects which are not interfering too much with the functionality or design aesthetics of the project. When developing a project your focus should be your end user. Think about it this way… Would you not register on Gmail if in one your browser the button is a tad to the left and not aligned correctly? So, would your users be so picky?
Being a perfectionist is not a problem if you are willing to take as much time as you want to complete the problem and not blame the developer for taking way too much time and going overboard in terms of time frame.
This is precisely the reason why there is a “BETA” sign on websites / portals when they are launched.
As a client you should segregate high priority and low priority elements. This way you would feel happy about the progress made on the project and would be in control of your deliverable.
With that said, your preferences should also be aligned to the sort of product you are taking to the market and what competition you have. For example, if you are a start-up and want to set up a website on a concept that has never been tried before, you are better off making compromises on your “Mr./Ms. Perfectionist” trait and worry more about getting to the market as early as possible. Changes can follow.
On the other hand, if you are an established company and want to revamp your website or have a web presence then you can take your own sweet time towards perfection while your marketing team flexes its muscles.
Hope this article gave you some tips on how to go about your project when you are outsourcing development.
The Miracle Team