Secret Keys to Software Development Outsourcing Success
Negotiations are over, you have chosen a vendor and signed a contract. You met your team and found out they are smart and skillful guys. It looks like everything is perfect and there is no chance something will go wrong. But hiring even the coolest and the most professional team doesn’t save your from issues that can arise during development process.
Why so and how to avoid these problems? Read on.
Qubit Labs team compiled a step-by-step guide about client and outsourcing vendor cooperation and answered frequently asked questions. Smart communication guide will help us avoid misunderstandings and miscalculations before any issue occur if you consider software development outsourcing. If both client and outsourcing company follow simple business processes, all deadlines will be met hassle-free.
So, you signed contract with software development company. What’s next?
We make a big kick off meeting with the project management team and discuss your requirements in detail to make sure we aligned our expectations. We set up the expected delivery date and plan the first iteration.
1. Who will be responsible for my project and who can I address to if I need get answers to my questions?
We can assign a PM to a project if needed. This is a specialist who will introduce you to the development process, answer all your questions and help you to choose technologies, design, and solve any tech issues. It doesn’t matter if you have technical background or not, our PM will get across to you and do his/her best to make your ideas into reality.
2. What project management methodology will be used for my product development?
For project management we use SCRUM and try to follow Agile principles of software development. We divide the project into the milestones and iterations. Set the goals and expected outcome for each milestone and agree on the tasks than need to be completed within each iteration. It is also important to set up goals for Quality Assurance team that will be testing the result of each task’s delivery and make sure that every team member made a correct assessment of the time he/she needs to complete all the tasks.
SCRUM methodology has the main principle: at the end of each iteration the customer should see some ready and working feature/prototype, etc to be able to correct the development plan if needed.
3. How will we conduct communication?
After getting acquainted with your PM the next step is to choose a communication channel for discussing tasks and updates. Large variety of project management tools are at your disposal. This tool records all changes; all team members can monitor updates as well as time both estimated and actually spent on a particular task.
4. Why is it important to use only one communication channel?
Using one single channel makes communication faster and more optimized. If you store all letters, documents, mockups and updates in one task manager, you won’t miss any messages or comments, and developers will get feedback and updates quicker being able to make changes immediately. As soon as a team finishes work, client can give a feedback on sprints and tasks, speeding up the process and making it seamless. Thus, development process will go as planned without any time losses.
5. What if I need to add/remove some features?
No problem. You are a client, and you have to get the product you need. If an extra feature wasn’t mentioned at the beginning, an outsourcing company makes an additional estimation of the very feature. The time needed to design and develop it will be added to the initial price.
6. What if I want to change my requirements?
If a development plan has been already negotiated and approved, but you want to make slight changes before your team start working, you can write a PM and agree updates. The faster you do it, the better. The more details you will provide your outsourcing partner with, the more precise result you will get. Even if you are not sure about the functions of a new feature but you no longer need the old one, address your PM as soon as possible. Programmers won’t spend their time on its development and as a result you won’t pay for creating unnecessary features.
Instead the team will estimate the time needed to develop and deploy a new feature. If the difference between two estimations is minor, you won’t need to pay extra. However, if the estimated prices differ much, an outsourcing vendor have to inform a client about changes in price, agree the updated payment in the project timeline and bill you according to pay as you go scheme.
If the unnecessary feature has been already developed, tested and approved by a client, but it needs to be changed, a vendor will have to estimate, project and develop it all over again, since this is an additional function, and developers will need extra time for design, development and testing.
7. What if I suddenly stopped liking the entire design?
Sometimes it happens that you go off the design, but what is really important to so in such case is to stick to smart and honest communication scheme within single communication channel for all team members to be aware of your feedback
If you outsource web design to an offshore vendor and you want to make changes in the project or you are unhappy with something, you’d better inform your vendor as soon as possible. People cannot read each other’s mind and guess wants. That’s why when a client says “Everything is OK, keep developing it”, PM understands the phrase directly and switches to the next phase of the project.
On the stage of designing the product revisions could and should be made. Usually such changes do not influence the initial estimation and risk assessment since the majority of outsourcing companies use pay as you go system for hours spent on development.
In some cases client needs to fully redesign the product after approval. It is not a problem at all, but the majority of companies will ask you to pay extra hours to designer/developer.