APP development agency
From this article you will see how a startup, which has not used outsourcing service before, utilized Nova's ODC (Offshore Development Center) service to develop an app that help the client rapidly seize huge market share.
The startup team consists of three professionals including an experienced marketing expert, a senior business expert and a former Wall Street banker. From initial market research, the market expectation for the product was high and potential users were growing, thus the client decided that they should develop the mobile app in a short timeframe so to respond to the market demand. After assessing a few different outsourcing destinations, the client chose China as the first option and very soon they found Nova has rich experience developing custom software product for overseas clients.
However, it was the first time that the client talked with an outsourcing agency. They wanted to learn all the things from engagement model, project management method, payment term, and the most importantly, how can a remote team deliver exactly what they need? Furthermore, as there is no technical expert on the team, the client needs advice on product design, development timeline and budget.
Nova Software's technical manager, project manager, and business manager engaged in comprehensive communication with the clients. They took the initiative to explain Nova's project management process, quality assurance system, code standards, and other relevant matters to address any concerns the clients may have had.
During these discussions, the technical manager provided insights into the development workflow, highlighting the steps involved from initial requirements gathering to final deployment. They emphasized the importance of regular communication and collaboration between the Nova team and the clients throughout the project.
The project manager discussed Nova's robust quality assurance system, which includes rigorous testing procedures to ensure the software's functionality, reliability, and security. They also explained how Nova adheres to industry best practices and follows coding standards to maintain code quality and readability.
The business manager shared information about Nova's successful track record and the positive feedback received from previous clients. They showcased Nova's expertise in delivering software solutions and highlighted the company's commitment to meeting deadlines and exceeding client expectations.
By providing these detailed explanations and addressing the clients' concerns, Nova's technical manager, project manager, and business manager instilled confidence in the clients regarding Nova's capabilities, professionalism, and commitment to delivering a high-quality and efficient software solution for their specific needs.
During the initial stage, we arranged several phone call meetings between the client and our mobile expert. These meetings served as a platform for the client to articulate their requirements and objectives. By thoroughly understanding their needs, our team was able to provide valuable insights and suggestions.
In these discussions, the client shared their vision and expectations for the software application while our mobile expert actively listened and took notes. Based on this information, our expert provided a rough estimate of the timeline and cost involved in developing the application. This helped the client gain a clear understanding of what to expect in terms of project duration and budget allocation.
To further strengthen the client's confidence in Nova, we shared examples of our previous work. The client had the opportunity to review our portfolio and witness our expertise and capabilities in mobile app development. This review process played a crucial role in building trust and increasing the client's confidence in our ability to deliver a high-quality solution.
By organizing these phone call meetings, actively engaging with the client, providing transparent estimates, and showcasing our past successes, we ensured that the client had a solid understanding of the project scope, costs, and our proficiency. This approach fostered a growing confidence in Nova as their chosen development partner.
Based on the specific timeline and requirements provided by the client, Nova proposed the optimal team structure. The recommended team composition included the following key roles:
Project Manager: The project manager would be responsible for overseeing the entire development process, coordinating tasks, and ensuring effective communication between the client and the development team. They would also be accountable for managing the project timeline, budget, and overall project success.
Back-end Developer: The back-end developer would focus on designing and implementing the server-side logic of the software application. They would handle tasks such as database integration, server management, and API development to ensure smooth data flow and functionality.
iOS Developer: The iOS developer would specialize in developing the application for Apple's iOS platform. They would be proficient in programming languages such as Swift or Objective-C and have experience in creating user-friendly and efficient iOS applications.
Android Developer: The Android developer would be responsible for developing the application for the Android platform. They would have expertise in programming languages such as Java or Kotlin and possess a deep understanding of Android development frameworks and best practices.
Tester: The tester's role would be crucial in ensuring the quality and reliability of the software application. They would conduct thorough testing, including functional testing, performance testing, and bug identification, to deliver a robust and bug-free product.
By suggesting this team structure, Nova aimed to ensure that all the necessary skills and expertise were covered to meet the client's requirements effectively. This setup allowed for streamlined collaboration, efficient division of tasks, and comprehensive coverage of the development process.
Understanding the requirements accurately is indeed crucial for any outsourcing vendor. In the case of Nova, when the Offshore Development Center (ODC) project kicked off, the project manager and tester dedicated two weeks to work closely with the client, thoroughly going through the requirement details. This involved daily meetings that allowed for in-depth discussions and clarification of the client's vision.
Following each meeting, the project manager and tester diligently transformed the discussions into an Axure prototype. The prototype served as a visual representation of the software application, capturing the agreed-upon requirements, user interface (UI) elements, and functionality. This prototype was then shared with the client for their confirmation and feedback.
By adopting this practice, Nova ensured a consistent understanding of the project requirements between the development team and the client. It helped to minimize misinterpretations or deviations during the development process. The prototype served as a blueprint, clearly defining the project's scope and providing a solid foundation for the developers to proceed with implementation.
With a well-defined prototype in place, the development team could confidently begin the coding and implementation phase, knowing they had a comprehensive understanding of the client's expectations and the project's UI design. This approach helped to streamline the development process, reduce rework, and improve overall efficiency in delivering a solution that aligned with the client's vision.
During the development phase, Nova adopted the Scrum methodology to ensure an efficient and iterative approach to project management. The development process was organized into 2-week sprints, allowing for regular progress updates and client engagement.
At the beginning of each sprint, the client would select tasks from the product backlog, prioritizing the features or functionalities they wanted to be developed during that specific sprint. This collaborative approach empowered the client to have direct involvement in shaping the project's direction and priorities.
The development team at Nova would then work diligently to complete all the selected tasks within the sprint timeline. They would focus on delivering high-quality code and ensuring that the completed work was ready for the client to test.
To maintain transparency and facilitate timely feedback, the client conducted weekly testing sessions. This allowed them to evaluate the progress made, identify any issues related to progress, quality, or usability, and provide necessary feedback or changes.
By following this iterative development and testing cycle, Nova ensured that the client had a continuous opportunity to review and validate the software application throughout its development. Any potential issues or concerns were identified and addressed promptly, minimizing the risk of major setbacks or deviations from the client's expectations.
This collaborative and iterative approach, combining Scrum methodology with regular client testing and feedback, helped to foster effective communication, enhance product quality, and ensure that the final deliverables met the client's requirements and expectations.
Quality is indeed a critical factor for the success of any project. To ensure high-quality deliverables, Nova has implemented a comprehensive set of measures that are followed by all Offshore Development Center (ODC) teams. These measures include:
1. Sit Together: Once a team is assembled, all team members are encouraged to sit together as a close-knit group. This physical proximity facilitates effective communication, collaboration, and knowledge sharing among team members.
2. Project Standards: Each project team formulates its own project standards, which outline the specific guidelines and best practices to be followed throughout the project. All team members are expected to adhere to these standards to ensure consistency and maintain quality.
3. Performance Reviews: On a monthly basis, the project manager conducts performance reviews for each team member. This evaluation process allows the project manager to assess the individual's performance, identify areas for improvement, and provide constructive feedback to enhance their skills and productivity.
4. Workload Estimation: For each task, the project manager and developer collaborate to estimate the workload required for its completion. This joint estimation ensures realistic expectations and helps in effective resource allocation. The developer is responsible for ensuring that the task is completed within the estimated hours.
5. Code Review and Testing: The project manager takes the responsibility of reviewing the developers' code to ensure adherence to coding standards, best practices, and maintainability. Additionally, the project manager also tests the functionalities of the software to ensure that the overall quality of the deliverables meets the required standards.
6. Weekly Communication: The project manager maintains close communication with each team member on a weekly basis. This open line of communication allows the project manager to identify and address any challenges or obstacles faced by the team members promptly. It helps to ensure the stability of the team and enables proactive problem-solving.
By implementing these measures, Nova emphasizes a strong focus on quality throughout the project lifecycle. This approach promotes collaboration, accountability, and continuous improvement, leading to the delivery of high-quality software solutions to clients.
As a startup, the client's budget control was a key consideration, and Nova recognized the importance of flexibility in resource allocation. To accommodate this, Nova allowed for flexible resource input and adjusted the level of input as needed throughout the development process.
When the client required a large batch of new functions or features to be developed, the team had the flexibility to work full-time on accelerating the development process. This allowed for a focused and dedicated effort to meet the client's requirements within the desired timeline.
Conversely, when the client's focus shifted towards maintenance or fine-tuning of existing functionalities, the daily input of team members would decrease accordingly. This adaptive approach ensured that the client's budget was optimized and allocated efficiently based on project needs.
However, Nova made it a priority to maintain consistency and project knowledge by ensuring that the same team members were constantly working on the project. This approach prevented any loss of project knowledge or disruption caused by team member changes. By maintaining a stable and experienced team, Nova was able to provide continuity, efficient collaboration, and effective problem-solving throughout the project.
This flexible resource allocation strategy enabled Nova to align with the client's budgetary constraints while ensuring that the necessary expertise and knowledge were consistently applied to the project. It allowed for adaptability and responsiveness to the client's evolving needs and priorities, ultimately contributing to the successful delivery of the project.