Case Study:
Increasing Productivity by Collaborating With a Remote Java
Development Team

a616x-xryid.png
Java
Angular development
Angluar
react.jpg
React
The Challenge
Assemble a team of Java development experts to complement the client’s IT teams, specifically for Java development efforts; keep productivity and efficiency at sustainable and satisfactory levels
The Solution
Gradually bring more Java development experts and have smaller teams under one goal; maintain Agile methodologies and practices
The Results
Greatly increased productivity and efficiency; the teams have so far developed over 60 Java-based releases; full transparency in communication; high developer retention; the developers do not change mid-release

Enterprise Java Development Case Study - Introduction

Our client, a retail home center leader, was looking to expand their existing IT department and bring in more Java development experts. They would develop new applications and enhance their online products. With more than three hundred home improvement stores in fourteen states, the client already had an established IT department that supported their infrastructure. Still, new projects demanded an increase in the workforce. However, due to the local labor market landscape, frequent job-hopping was the norm, especially among the mid- to senior-level IT professionals.
 
Because of this situation, the client saw severe and persistent productivity drops, rising training costs, and high replacement costs. These challenges were impacting the client’s profits and were severely reducing their returns. Unable to influence the sentiment of the labor market, the client engaged in discussions with a remote software development company – they wanted to find a way to expand their IT team and overcome the issue of employee retention.
 

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
project_approach1-pjdni1b1320z1ruayenux0n7kf5fk9ftbilqv3k8ug

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.

Binguo Yang made many visits to the clients headquarters throughout our long working relationship.
  • 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.
After introducing these changes, we noticed the immediate boost in morale among the team members. Through the new environment, they regained confidence over time and at their own pace. Also, each developer was able to get more in-depth business knowledge by focusing on one product – we were able to streamline the learning process for all members. Consequently, each development release was increasingly more focused on the values the product brought to the client. Being able to receive proper technical knowledge and gain a deep understanding of the client’s business was a prerequisite for professional growth, and our developers were now ready to get promoted from intermediate to senior developer positions.

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.

Such a well-coordinated team delivered over 60 releases to date, some of which are:
  • Main eCommerce website,
  • Partners website,
  • Store Supplies Catalog bid product.
  • Online bid product.
  • Online garage design and fence design tools.
This partnership is still active, and we expand it annually. We at
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

These people are the reason why the project was completed in only six months. And, to illustrate just how much our clients valued Shinetech’s expertise – out of the original ten people working on this project, four are still working part-time on it, assisting with rolling out new updates and maintaining the system we built together.
Ajay Kanigiri
Onsite lead: Ajay Kanigiri

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 Yang
Onsite lead: Binguo Yang

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 Ma
Test lead: Ginger Ma

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 Liu
Team lead: Vincy Liu

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 Kanigiri
Onsite lead: Ajay Kanigiri

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 Yang
Onsite lead: Binguo Yang

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 Ma
Test lead: Ginger Ma

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 Liu
Team lead: Vincy Liu

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.

+26 experts

To address all the client’s development requirements, Shinetech assembled a large team comprised of many smaller groups.

Find other Enterprise case study

Resource Management System

At Shinetech, our experts are just as valued as our clients, and that’s why we do our best to bring them closer together and establish a strong collaboration. That is why we’d like you to meet our dedicated team of experts that closely collaborated with our clients, 1eEurope, to produce the best software solutions necessary in just six months. How did they do it? Read on!

Need help with Java development? Contact us!

Please fill require field.
Please fill require field.
Please fill a valid Email.
Please fill require field.
Please fill require field.