What evidence can you share that demonstrates the impact of the engagement?
Their ERP knowledge is hugely important for us. There are many situations where something might go wrong, sometimes disrupting customer orders, where the CoreValue team is able to quickly jump in, identify, and fix issues. We’ve been unable to find local resources with those skillsets in New York.
The price point of their team compared to hiring out engineers in New York has allowed us to have three engineers remotely versus one in the city. We gain efficiency by having people working early in the morning, and the additional coverage of hours they work.
How did CoreValue Services perform from a project management standpoint?
At first, we had a traditional approach, with our PM at CoreValue giving the appropriate tasks to the appropriate engineers and making sure things got done. In the last two years, we have implemented JIRA and more strict process, so this is all done via tools. Now our NYC team handles the project management with oversight from the CoreValue project team. We have never had any issues with their project management, as it is very strong.
We use Google Hangouts or GChat for communication. Our QA team uses Skype for better screen share. Each night, we also email a highlight reel of what happened that day and anything that we want the team to touch on before the morning.
What did you find most impressive about them?
The majority of the features that we built have been built by CoreValue. They have been great at gaining a complete understanding of all of our infrastructure and being able to really get into complex problems and find solutions. The team is very hard working and they bring a lot of good perspective to the problems we are solving.
They have improved greatly over the last few years around the quality of the code being produced, the depth of knowledge in our domain, and openness to challenge us and to challenge each other to ensure we are putting forward the best solutions.
Their QA team is very effective, picking up new technologies and finding things that even I wouldn’t have found. They test with good detail and consistently ask the right questions and are thoroughly entrenched in the details and edge cases.
Are there any areas they could improve?
When I first started working with them, everyone was very quiet. Something we struggled with is making the team more comfortable so that they feel like a part of the company. The team originally developed with individual styles and did not write unit tests as part of their process. Once we had a team established in New York, we traveled and worked with the team to break through the communication barriers.
The 13 resources we started out with would just come in and do the work without asking questions, which doesn’t help us drive the business forward. The team was quiet and all communications was filtered through our project manager. Team members were not thinking about test coverage and code quality, only to get what we were asking for competed. In a modern development process, you really have to have that. Our code quality at the onset was not the best, but it’s greatly improved now. We had to set the standard and work towards it. Those issues go along with the industry from my experience. People want something and they want it quickly
That’s always a struggle when you outsource. However, now we have real conversations, and everyone each other personally and professionally so we feel like more of a team and are able to come up with different ideas and have two-sided conversations about features and approaches. They’re open to suggesting new technology and helping to drive our business, rather than feeling like they’re just doing project work for us.
Do you have any advice for potential clients?
I’ve recommended CoreValue a number of times to clients in New York. I would suggest working with CoreValue as well as any offshore team, treat them as a partner instead of throwing requirements over a wall and expecting something back. I would also recommend making the trip to Ukraine at the outset of any engagement. Meeting with the team members, establishing rapport, and setting clear expectations through discussion and pair programming will go a long way. For our team, it changed the dynamic, and led to open channels of communication for all members of the team.