Team structure and organization
Our Client left the decision on the way the Polish team is managed up for Software Mind. We’ve started with our company standard approach – Scrum framework. After 1 month we’ve noticed that due to frequent pivots and priority changes this approach is not the best match for what we need to do. The team decided to switch to Kanban and experiment-based approach (Lean Startup). It means that for each feature we’ve defined a set of metrics that would show if what we created brings the desired outcome, quickly develop MVP component, verify results against set metrics and improve solution quality if the experiment turned out to be successful.
Soon after we’ve introduced this model other teams within the Client’s company also decided to switch to the same or similar approach.
When it comes to high-level management once a quarter, together with the Client’s representative (Product Owner), we define goals that team need to achieve and development team was responsible for creating and maintaining roadmap that was align with those goals. To ensure alignment between all teams working on the product we proposed to introduce Unified Roadmap approach (each team has its own roadmap that they maintain using a common set of tools and practices that can be easily merged together to get a high-level view on whole product roadmap) that was quickly adopted by other teams, increased their synergy and significantly reduced work duplication.
Technology skill alignment
The product which development we support consists of mix of many different technologies (some quite unique) and approaches (data streaming, batch processing). It required new team members to face steep learning curve. Software Mind team members were able to fully onboard within 1.5 months and that was considered quite fast by more senior developers participating in the project for a longer period of time. Software Mind team members also shown flexibility when it comes to technologies, they worked in. It is not uncommon in our project for Java developer to work on module wrote in Python or backend developer to develop Spark jobs. We share our Client’s belief that you need to select technology based on problem you’re trying to solve not by set of skills you currently possess.
It’s the result that matters and we’re aiming to achieve it in the best possible way. All team members also strongly believe in DevOps approach feeling responsible the whole infrastructure. Thanks to that, while heaving only one person on the team with purely DevOps skillset we’ve managed to introduce many infrastructure improvements (starting from better CI/CD process, ending with improved monitoring and alerting).
During that time the team went through all onboarding procedures dedicated to Client internal employees. It also easily blended us with the rest of Client employees by active participation in Company events, project ceremonies, casual chit-chats and evening outings. By the end of team’s onsite visit most of Client’s employees did not even noticed that Software Mind developers were external contractors. Both teams engage in serious (riots in US, Covid19) and not so serious (Elon Musk’s Cybertruck) conversations. Software Mind also fully supports our Client in their journey for diversity and fight against discrimination.
Lockdown in the US and Poland that was a result of the COVID-19 outbreak did not have any negative impact on productivity and communication. Both Polish and US team members engage daily in common activities and maintain close cooperation. They participate together in formal (standups, planning, all-hands meetings) and informal meetings (virtual coffee breaks, virtual lunches). Due to time zone difference, there are only 2-4 hours of overlap, but teams learned to make the best out of it plus the Polish team is quite flexible with joining evening (Polish time) meetings. It also allowed resolving some of the issues and incidents before our American colleagues woke up.
A confession from Software Mind's Software Development Director
This kind of project is what really gets our motors running. The latest technologies utilized to create a highly innovative product, genuine startup dynamic and culture, and close cooperation with a distant partner create constant challenges allowing us not only to develop the product but also our skills. Besides, not everyone can say that he/she is riding with unicorns through Silicon Valley. And we surely can 🙂