Two-Year Teamwork with a US ISV on a Product Development
Project introduction:
Shinetech responsibility -- to reduce client's development cost without sacrificing the efficiency and quality.
Cooperation -- a six–member team has been working with the client's local team for nearly 2 years
Technology -- Microsoft .NET 3.5
Development -- Agile adopted to adapt to the changing requirement
Client's situation:
The client is a consulting company which has been delivering professional IT solutions for certain vertical markets for over 9 years. One of its products was being built by a local development team and a core architecture has been established, the local team was then occupied with developing the module.
To speed up the product development and reduce the cost as well, the client looked to Shinetech for collaborative development of the whole product.
Challenges:
The key to the collaboration is whether Shinetech developers could meet the requirements outside the client's normal onsite development environment.
- Changing requirement
The client's requirement is less clear than originally perceived; the main challenge is that the development plan and the detailed functional requirement should be determined by the company directorate and its clients, according to fresh business requirements, this brought a lot of uncertainty to the project, and demanded a flexible collaboration approach and a highly interactive team to guarantee a quick response to the changing requirements.
- Unique agile method
There is a local development team on the client's side which was working under an Agile development methodology. Shinetech developers needed to adapt themselves to the methodology in order to fit into the client's development rhythm and build a seamless collaboration with the onsite team.
- Different time zone
Two development teams in different time zones and different countries are working on the same product with complex business logic, this might have tested the teams overall teamwork and hence influence the development progress & quality. For example, gaining a clear understanding of requirements, defining a clear development plan and smooth integration of deliverable modules. All these require excellent communication and collaboration in both teams as if they are working in the same office.
How the onsite and offshore team work together
The Shinetech developers
Each member of Shinetech development team is:
- positive in their approach to problem solving and communicating with the client pro-actively.
- available for frequent communication, mainly by email.
- thinking further about the developing module such as whether it could be integrated and be maintained easily…
- able to effectively resolve each task/requirement.
Close communication -- to build a highly interactive team with the onsite developers
At Shinetech, we believe that a good communication between clients and the Shinetech team gives a foundation for a successful cooperation. As for the co-development of the product, Shinetech develops a fine network of communication, that is: every developer is always available to answer any questions, whether they are from the offshore team or the local team. This enables effective sharing of resources, a clear understanding of business requirements and development plans and schedules.
Quick response to the changing requirement
Each developer has its own task list which is maintainable by the client. The client updates the task list with the latest requirement and adjusts the priorities. Developers manage their list, communicate the requirement of each task with the client, create a development plan and implement it.
Prototype -- to agree the best possible solution
The best way for the both sides to communicate the requirement is to use a prototype. Since the requirement is often changing, the client is able to visualize the final solution and make changes earlier in the development life-cycle. Often the Shinetech developer will initially devise more than one alternative solution, enabling the client to choose the most appropriate solution for their specific need.
Continuous integration- Visible & Working software models
Shinetech developers submit code every day to the client's server and integrate changes into a finalized software environment. Every time when a complete module is completed the module will typically be integrated with the core software. Testing will identify issues which are recorded, giving the client a clear picture of project progress and the overall software quality at any given time.
For more information, please fill in the form below. Any enquiries from you are welcome, we will respond to you as soon as possible.
Note:All information is strictly kept confidential. Shinetech will NOT use the information in this form for any purpose other than the direct communication with the corresponding clients.