Case Study:
Increasing Productivity by Collaborating With
a Remote Java
Development Team
Enterprise Java Development Case Study - Introduction
Before approaching Shinetech in 2014, the client had already been using the services of a traditional development team. At that time, the client became increasingly disappointed with their traditional outsourcing approach based on the Waterfall methodology. The client needed to spend the same amount of management as well as development efforts but saw no actual results. It was imperative to change to a modern, self-management remote team – something we at Shinetech specialize in. Also, having seen the practices our experts followed when working with IKANO (IKEA’s sister company), the client’s IS Director was very comfortable with setting up a trial period and further discussing our cooperation.
Project Approach
At first, we assembled a four-person strong team – three Java development experts and one QA. The client started their one-week free trial with this team. After initially observing what our experts could do, the client initiated the vendor assessment process, which lasted another six weeks. During this process, which consisted of tracking and measuring daily practices, Shinetech experts produced high-quality code and features. Several factors influenced the client’s decision to choose Shinetech as their go-to vendor – high-quality deliverables, adaptable practices, and technical expertise, among others. After this assessment process, Shinetech became the client’s software development partner.
The team then gradually grew to 10 people, so in order to retain high-
level productivity and to have the workflow run smoothly, we
introduced numerous Agile practices, such as:
- Kanban in Jira
- Standup Meeting
- Pomodoro Technique
- Frequent code reviews
- Retrospective meetings
The quality of our delivery also showed how well Shinetech experts understood the core values of the client’s products. It also showed how much attention we paid to code quality, design patterns, and automation. The client was delighted with the high delivery standards of our software and our methods. They agreed to further enlarge the team – from 10 people to 30-person strong team. The team had dedicated BAs, QAs, full-stack developers, frontend and backend developers, and DevOps experts, to name a few. The Shinetech team was slowly becoming incorporated within the client’s in-house IT team. Naturally, we set up frequent onsite trips for further tech training and discussing new requirements.
The Bigger the Team – the Bigger the Challenges
Even though we had all the Java technical expertise (you can see our full Java tech stack here), we encountered numerous management challenges we needed to address. With such team enlargement, some of the amazing Agile practices that apply to smaller teams were very hard to run within 30 people. Other methods became inefficient while the rest took a long time to implement (just imagine having a Standup meeting with 30 people!)
Moreover, the team members started to lose initiative. New members couldn’t learn the ins and outs of the client’s business well, knowledge sharing practices were deteriorating, and continuing education – which allows developers to stay on top of the latest industry practices – was becoming very hard to push. This situation resulted in far fewer internal promotions, less personal development and growth, and team members’ happiness. The whole situation brought significant fatigue to the entire team, and it was evident on the client’s side in deliver quality drops and reduced productivity. This kind of service was not what Shinetech wanted to provide. The situation needed to change urgently; otherwise, we would risk becoming just another outsourcing company. Therefore, we set out to solve the issue together with the client. We organized our plan of action in four steps.
- The first step was to split the big Java team to 5 small teams, and each team had 5 – 6 members.
- Second – make sure each small team was fully functional and more focused on an individual product.
- Third, introduce the Scaled Agile Framework (or SAFe). This framework was essential in the sense that it allowed large teams to remain agile: all small teams were entirely in sync with each other and working towards a common goal. To illustrate this team synchronization: when the tools design team needs material specifications, the eCommerce team helps by introducing different materials and building the interface for them.
- Fourth, set up a permanent team onsite that operates from Wisconsin offices, at the client’s HQ location – a BA, a tech lead, and a team lead. This step helped with daily communication and information exchange between Shinetech teams and the client.
The Results
After overcoming the organizational challenges that occurred when the Java team began to expand, the developers have been able to grow and obtain specific in-depth knowledge. Professional growth has resulted in building great releases, which, in turn, landed new promotions for the developers. By becoming promoted, the team received the necessary
morale boosts which have propelled them to learn more about the client’s business logic and to make an effort to further contribute to the project.
And, in order to see the productivity increase further, we first needed to create an environment where each team member’s effort and work were appreciated. That is why we kept the teams small and agile. This way, the team members were able to progress in their positions, get promoted, and take on more responsibilities.
- Main eCommerce website,
- Partners website,
- Store Supplies Catalog bid product.
- Online bid product.
- Online garage design and fence design tools.
Shinetech Software are happy that we have been able to provide a
stable, reliable, and skillful development team to complement the
client’s organization.
The Java development Team
Ajay is a senior software engineer in Shinetech, and due to his expertise, he quickly became an Onsite lead for one of Shinetech’s most significant long-term clients. After a year and a half, he became Project Manager, and since then, he has been working as BA, Engagement Manager, or Project Manager for various US clients. He has also been closely collaborating with clients from multiple industries, such as manufacturing, finance, eCommerce, home improvements, event management and healthcare management.
Binguo has been closely working with the client as an onsite BA since 2018. Through frequent meetings with the client’s teams, he has effectively communicated the client’s expectations and requirements. Binguo has also tremendously improved the cooperation methods used between Shinetech remote teams and the client’s in-house teams by applying different Agile practices. The two Shinetech teams that are under his leadership have been operating smoothly and have successfully synchronized with the client – which is a must for long-term cooperation.
Ginger is working on regression testing, which is automated by Tosca Automate UI. Tosca is a module-based automation tool that is primarily used for business logic verification. With this kind of automation testing, the team is able to find regression issues before they go live. Finding these issues and notifying the developer in charge of creating these products makes the products more stable and increases development efficiency.
Vincy approaches every day with an energetic attitude, which has helped him amass a vast array of skills and expertise. He has over ten years of software development experience and six years of management experience. He is proficient in popular backend and frontend frameworks, possesses a thorough understanding of software design methodologies, information systems architecture, and software design patterns.
Ajay is a senior software engineer in Shinetech, and due to his expertise, he quickly became an Onsite lead for one of Shinetech’s most significant long-term clients. After a year and a half, he became Project Manager, and since then, he has been working as BA, Engagement Manager, or Project Manager for various US clients. He has also been closely collaborating with clients from multiple industries, such as manufacturing, finance, eCommerce, home improvements, event management and healthcare management.
Binguo has been closely working with the client as an onsite BA since 2018. Through frequent meetings with the client’s teams, he has effectively communicated the client’s expectations and requirements. Binguo has also tremendously improved the cooperation methods used between Shinetech remote teams and the client’s in-house teams by applying different Agile practices. The two Shinetech teams that are under his leadership have been operating smoothly and have successfully synchronized with the client – which is a must for long-term cooperation.
Ginger is working on regression testing, which is automated by Tosca Automate UI. Tosca is a module-based automation tool that is primarily used for business logic verification. With this kind of automation testing, the team is able to find regression issues before they go live. Finding these issues and notifying the developer in charge of creating these products makes the products more stable and increases development efficiency.
Vincy approaches every day with an energetic attitude, which has helped him amass a vast array of skills and expertise. He has over ten years of software development experience and six years of management experience. He is proficient in popular backend and frontend frameworks, possesses a thorough understanding of software design methodologies, information systems architecture, and software design patterns.