Increasing productivity by collaborating with a remote java development team
Enterprise Java development case study - introduction
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
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.
At first, we assembled a four-person technical 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 – a visual work management system to make work transparent and to facilitate the exchange of information among team members.
- Standup Meeting – efficient short daily sessions that focus on sharing work updates, discussing challenges and coming up with a way to overcome these challenges.
- Pomodoro Technique – our developers began following this personal time management approach so as to prioritize the tasks and have the most substantial work impact.
- Frequent code reviews – to increase code quality and to understand various parts of the system.
- Retrospective meetings – done after every development sprint, these meetings have a purpose of revealing and eradicating iteration flaws noticed in the sprint. In turn, we saw a massive efficiency boost after each session.
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 a team of over 30 team members. The team had dedicated BAs, QAs, full-stack
developers, frontend and backend developers, and DevOps experts. The Shinetech team was slowly becoming incorporated within
the client’s in-house IT team. We continued to 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 30 people. Other methods became inefficient while the rest took a long time to implement (just imagine having a Standup meeting with 30 people!)
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.
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
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
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