1.Can anyone suggest me book,article,video to read about the step by step process before we approach an Android developer, which can help me to choose the developers which are more suitable for my work?
2. In what format one should write Requirement document with feature set to give to developers if someone is not technically sound?
3. Is it recommended to give complete requirement to the developers or just the functionalities required so that we can secure our idea.
4. If someone is new to the software industry whether one should go for a mid-scale company or hire a freelancer under them? Because post development anyway we have to hire our own team to support and for bug fixes, also again it may take time for the developers to understand the code which was develop by the company. So, from beginning can we go for freelancers , are they reliable or company is better,if the budget is also a factor
1. I don't know of any, but I'm sure that there are many out there on Google.
2. I've worked with a lot of clients over the years. This one is a tough one. Most of the time client's have an idea of what they want in their head but fail to articulate the details to the developers. I can't count the number of times that I've put in a great deal of work only to have the client tell me that's not what they asked for, but in fact was, but they weren't specific enough.
You know what you're trying to accomplish, and the developers know software. You should be detailed with how you want things to look, and the business process and let the developer decide how to implement it.
Oh, don't constantly change your mind, either. Spend a little extra time really thinking it through and be as detailed as you can be. This will help the developer create the product you see in your head.
3. NDAs come into play here. You can't give the developers half of the information and expect them to come up with a complete product. Find a developer you can trust and you'll be fine with NDAs.
4. Whomever you feel most comfortable with. You're going to have a relationship with these people for a while to come. I don't know what your app is, but I know from my own clients that they leave all of the development to my team and they take care of the support side of things. The relationship will evolve over time, let it.
Budget is probably your biggest issue, make sure it's realistic. Since you're here on CoFoundersLab, you might also find someone who would be willing to take part in cash and part in equity, depending on your budgets and ideas.
I echo Marc's response. As an Android developer, my most successful projects were those with very specific requirements. In every case where there was not enough information provided, I would ask for more information and in lieu of that present a set of assumptions and a number of approaches that we could go about making it happen with a list of pros and cons for each approach. The project manager needs to be very explicit about their vision, but the developer needs to be very explicit about their design as well. You may not follow every detail of it, but most developers can break it down and explain the pros and cons of their approaches. If you decide to change course or even just change the UI up, it is not always as simple as "move this around, move that around". It can impact major underpinnings of the design, and if work arounds are put in place, just more mess to clean up later.
If you want a cheap developer, the chance that you'll be fixing a ton of code in the future goes up drastically. I have taken on projects for friends at well below market price to simply "help them out" but even myself end up producing a sub-par quality product, because you cut corners, cut testing, just get it out as fast as possible to save your client money, only work on it here and there and eventually get tired of it. It just doesn't work in most cases, might get you by for now, but you'll regret it later. In some cases, that means the security is not tight on the product or the code is stored on someone's computer instead of a properly backed up in an accessible location.
I would not recommend overseas developers unless you are working through a contract firm, especially if you have something fresh and/or a simple (read easy theft) concept. I would recommend a contract firm though, so you can concentrate on getting the vision built and not have to worry about the subtleties of the business side. Additionally, the contract firm will keep only trusted developers around, and their trust means your trust. Some of them will even work purely for equity if they like your idea. If you go one on one with a developer, that's fine too, but you just need to be really careful and vet them thoroughly. Walk away at any sign of discomfort.
I would disagree with Morris on the only feeding the developer a bit at a time. If they can't see your vision, they're not going to be able to help you create it.
Based on my own personal experience as a freelancer, I absolutely need to understand the entire path that my clients are trying to go down. As Chris was saying, it's not always as simple as "move this around".
Very recently, one of my clients gave me their next milestone after I had completed the previous one. It turns out that this next step required me to refactor over 300 files to make it work. Had I known about the next milestone in advance, I would have been able to plan for it and the work would have been completed in about half the time. While its true that it was billable hours, and I did get paid for my time, it was frustrating since now it means that everything needed go through QA again, and we were rapidly approaching a conference where they were to be demoing the product to a large group of people in their industry.
I managed to make it work, but just barely. Had they given me the full road map when they finalized it, and included me in the discussions, things would have gone much more smoothly.
This is why I also said to take the extra time to think things through as you're creating your specifications. The extra time spent up front can and will save you a lot of time (read that as billable hours of development costs) as the product is built.
Yes, Don't know if there is any specific book or the article. B
The most of case, requirements gathering phase is very important to define the roadmap of the product. It included SR document, flowchart, use cases, functional document, Technology recommendations etc.
I have worked on many great clients over the last few years. Based on my experience, I can say that clear and concise information about the product, SRS document or the flow chart are very useful to understand the product inside out.
It may help developers to understand your vision, product and the audience.
Also, if you feel little bit scary to share the information about your desire project, An NDA could play the crucial role here.
I would suggest to find the most trusted contractor who you can trust and sign the NDA before you may disclose any information.
I reported that if the requirements are clear and concise, most of the project go smoothly overall and the delivery of the final product is also successful.
As a developer, I feel once you have the whole picture of your idea and what you want to achieve, you need to define the project into milestones of work to be achieved in small chunks and then you share this with the developer to work on the specific chunks. Giving the developer all the requirements as bulk sometimes makes him/her lose focus on the end product
Thank you so much Marc and Chris , means alot
1) I can, but I won't. From my experience, technical interviews are a waste of time. Hire hungry (I mean humble), responsible people. Everything they don't know, they will learn.
2) If you are a startup, do you really want to spend time on "Requirement documents"? Use "user experience/stories" language. If you need only one developer, that's enough. If you need a team, one of them will be team-lead or an architect eventually, he/she will translate requirements from user stories.
3) NDA contract, as mentioned.
4) > Because post development anyway we have to hire our own team to support and for bug fixes
It's just one of the options. If you want to do that, then hiring could be reasonable. However, developers are not a cheap profession.
Freelancers, out-source companies are not so different from the usual employees. Just find somebody, who will have enough time for your project. And see 1)