First Time Working With Outsourcing: How We Built Communication With a Client Team
Our client, an Indonesian fitness company, decided to create a mobile app to satisfy the demands of their customers. We created a technical specification, built an MVP, and deployed it within strict deadlines. In this case study, we describe how we optimized the customer experience with a mobile app and integrated that app into an existing web system for both clients and administrators.
Our client wanted to create a customer-facing mobile application as fast as possible with a remote development team, as they didn’t have an in-house team.
They decided to outsource development to a company that already had experience creating fitness apps. After vetting lots of development companies, they chose Mobindustry. Shortly after that, they also hired a separate backend team and designer, with whom we collaborated.
Our task was to create a React Native mobile application within a tight deadline. Our client’s lack of experience working with an outsourcing team and the geographical distance complicated our communication.
In this case study, we’ll talk about establishing communication with a client who has never worked with an outsourcing team before.
Our main goal was to develop a mobile app that fully correspond to our client’s business needs. This was impossible without clear communication.
To ensure clear communication, we:
- Created a technical specification
- Elaborated our communication with the client’s team
- Structured the development and communication processes
- Chose efficient communication tools
1. Initially, our client had no requirements.
Our client had never worked on a mobile application and didn’t have any concrete software requirements specification. The first communication challenge was extracting requirements from our client and making sure they corresponded to business needs.
2. The design was changing frequently.
Because of frequent changes to the design, it was a challenge to plan our work and structure development. Our client was experimenting with the design to cater to market needs, so our plans changed frequently.
3. Our client had many product owners.
This created a communication challenge, as each product owner was responsible for one part of the development process. At the beginning of the project, there were only two product owners. However, in a couple of months, there were four:
- Backend developer
- Architecture developer
- Business analyst
- UX designer
Lack of communication inside our client’s team was a challenge, as sometimes we got contradictory instructions.
4. We had too many channels of communication.
To structure our communication, we started lots of chats on different issues. However, as the project got going, the number of chats became unmanageable. We had separate chats for:
- The contract
- Business analysis
- Backend development
- Quality assurance
- General discussion
1. To overcome the lack of requirements, we created a technical specification that included everything from the design and wireframes to a list of features and detailed descriptions of them.
We estimated the whole project to make sure we could meet the deadline; however, the design requirements continued to change.
2. To manage changes to the project, our project manager did a few things:
- Asked our client to warn our developers about changes in advance
- Created a separate document listing all the tasks, estimates, and statuses, and updated it regularly
- Started to send reports every day with information about what we planned to do and what we had already done
We adjusted our work process to make it extremely flexible so we could react to changes fast.
To optimize the way we worked on designs and make sure we keep up with all changes, we switched design tools. Initially, our client worked in Invision, but we suggested Figma. This is a great design tool that allows both developers and designers to work on designs.
3. To avoid miscommunication and make sure everyone in our team and our client’s team knew about changes, we shared all information with all members of our client’s team and approved our actions with them.
This helped us build a communication flow that ensured everyone was on the same page. Our regular calls with developers from the client’s side also helped a lot. We involved all four product owners in our weekly meetings and created plans, so we could change statuses of all tasks and add comments.
We optimized our communication and adjusted our work to frequent changes, which are normal for almost every first mobile project.
Now we have a set of convenient tools and a well-structured workflow that allows us to accept changes, implement them, and deploy them quickly.
This is how much time our business analyst and project manager spent on communication during the whole project:
|Our team member||Number of working hours|
|Business analyst||25 hours|
|Project manager||200 hours|
These are the tools we found the most convenient for remote communication and project management:
- Invision for simultaneous work and collaboration between designers and developers
- Slack for structuring communication with the help of chats and channels
- Google Docs for updates and comments
Currently, we have stable communication and a flexible development process that allows us to deliver functionality and change it according to our client’s business needs.
We learned how to organize our workflow in the most productive way, and our client learned how to communicate with a remote development team and express any issues that arise during development.
If you don’t have any experience working with an outsourcing team, we can guide you through the process so you’re always in control of your project. Don’t hesitate to contact us for more information on our experience.