The last two decades have seen a tremendous growth in the remote development and outsourcing industry. The key drivers behind the growth of remote development are cost and scalability. According to A T Kearney’s 2016 Global Services Location Index (GSLI), “India is rated as number one remote development destination out of the total 55 countries analysed.”
However, most product companies fear remote development as it becomes difficult to align their product vision with their remote development partner’s processes and practices. Companies face multiple challenges such as transparency, seamless communication, time-zone differences and so on.
We ensure that the broad and ambitious vision comes as a market reality through our remote development best practices. Three pillars of our best practices are: Trust, Communication and Agile methodologies.
Building Trust – Smooth Initiation and Kick-off
Trust is extremely critical in any relationship. As the teams are remote and distributed across geographies in any remote development project, it is only the trust factor that helps clients focus on their business and leave the development work to their partner. Trust also helps for smooth initiation of the project and kicking it off in time as planned.
Outlined below are some of the best practices that we follow to build trust and ensure smooth kick-off:
- Discovery Workshops – We conduct various discovery workshops to analyze the possible solutions.
- Communication processes and support infrastructure - We ensure that the communication plan, processes, purpose, and frequency is identified for the entire project duration. Our team is well aware of various communication tools such as Skype, Google Hangout and GoToMeeting. We also have a robust supporting infrastructure including latest speakers, audio/video conferencing system sets and more.
- Continuous integration environment setup – We ensure rapid on-boarding of applications by continuous integration and deployments. We setup the CI environment so to ensure that each change to your codebase is automatically tested and pushed to staging or production keeping it in the releasable state always.
- Sprint Planning – The grooming of a user story typically starts one sprint prior. This gives sufficient time to analyze it and identify any dependencies before committing a story in the sprint backlog. The estimation of a user story is typically done in either story points or T-shirt sizing i.e. S, M, L, XL etc.
Complete Transparency: Foster two-way communication & collaboration:
- Differences in the time zone making it difficult to establish a two way communication
- Cultural, economic and political issues injecting instability
- Understanding requirements incorrectly leading to big fails and losses
- Working style and attrition of talent impacting the overall build quality and timeline
- Unorganized project management and limited knowledge of tools
We address the above mentioned challenges in the following ways:
- Progress notifications – Clients receive regular notifications for any significant progress in the project Eg. Release is pushed by the developers, a new bug is tracked and resolved, user-story is marked for testing and so on. Clients always have complete visibility on the day-to-day and weekly progress.
- Regular co-locations - We define the travel plans for the project duration. We encourage clients’ stakeholders as well as our product development team to plan a co-location of 2-3 weeks at regular intervals. This ensures better collaboration and deeper understanding of the project.
- Access to our development teams – Our clients have a direct access to our development team. The team is fully allocated unless explicitly agreed. The development team is well-equipped with all the technologies, tools and skills ensuring high productivity from the day the project kicks off.
- Sprint Demo – A formal demo is given to all the stakeholders at the end of every Sprint. We recommend our customers use a separate staging environment for the demo. This avoids ambiguity due to any local settings being used for QA at a later stage. We highly recommend that all the stakeholders are present during sprint demo leading to seamless feedback and collaboration.
Product Development practices to further ensure success in remote development
Most product companies are concerned about launching their MVP timely when they outsource product development to a remote partner. We adhere to the below outlined engineering best practices so as to ensure shorter release cycles enabling companies to GTM fast.
Test Driven Development:
With test driven development, we test the product thoroughly at the end of each of the multiple phases ensuring high-quality product delivery. Test Driven Development relies on the repetition of a very short development cycle: requirements are turned into very specific test cases, then the product is improved to pass the new tests, only.
Automation of delivery pipeline
With our DevOps as a service and DevOps consulting, we automate all the redundant tasks enabling faster time to market and reduced cost in the long term. Apart from setting up the automation, assessing the existing infrastructure, preventing risky deployments and optimizing the performance; We use various DevOps tools such as Jenkins or Bamboo for continuous integration during the development process, which automatically deploys the latest code onto the server. With this, our clients have environment with latest running code.
Product companies are evolving in nature and a perfect architecture does not exist. It keeps evolving from time to time. Refactoring makes it easy to maintain and extend the architecture at any given point of time.
Apart from the above mentioned remote development best practices, we also believe in instilling a culture of learning and development among our team members.
We understand the key drivers of the remote development world and approach every decision in a structured way with a focus on the results. We strive to put our best foot forward and take up each project with the same zeal.