We started with a small development team of 3 senior solution architects that began drawing up the basics, fired up Visual Studio and started coding. As it turned out, we found an initial customer who wanted help with just a few backend things for commercetools. This gave us an opportunity to learn about payment provider integrations and order integrations in commercetools.
In parallel, we started working with the next customer who wanted a full solution (frontend and backend). During the autumn they decided they needed to launch a CMS site for a collaboration with a brand they had. First, they thought of just doing a WordPress quickie. But in the future, they wanted to have an option to add e-commerce functionality to that site, so after some discussions we decided that we should do this with Excite architecture, but only the CMS part, and try out basic Contentful capabilities.
Both these somewhat small side quests, although they were stressful, gave us good opportunities to learn and improve. In the middle of November 2020, the development team had doubled and the technical challenges were starting to mount up. We had delivered backend to one client that had gone live and a CMS site for another. Now the sales team came with yet another client. This retailer needed a complete solution. We were no way near a complete product and still had lots of problems to solve…
To be as efficient as possible, a decision was made to merge the product development and the project teams for the 2 clients into one big team of developers. We dedicated one solution architect to each customer and one for the product. We also decided to put all other developers in one common resource pool. The reasoning behind this setup was that we could save lots of time if the same developer did the product development of for example Login to My Pages and then implemented that for customer 1 and 2 in parallel.
We gathered all Project Managers and the Solution Architects and Client Directors into one common forum to discuss and work out resource and feature issues together. Using an agile mindset we put no one in charge but insisted that the forum needed to talk it through. So, everyone is responsible for everyone’s success. So far it has worked out pretty well. It is not easy, but we have experienced many of the expected synergies, and been able to keep product development on track as well as happy customers. All this in a completely distributed team working from home and only coordinating via Slack and Teams meetings.