Exploring team structure and tooling
If you're planning on adopting KMP in your team, the following points may be obvious to you by now, but it's still worth pointing them out:
- Your shared code needs mostly Kotlin and Gradle-related expertise.
- Android teams will mostly feel natural about working with the shared code, with a relatively small amount of learning needed for KMP specifics.
- iOS teams will have a harder time, even though Kotlin and Swift are not too different. This is especially true when it comes to a new build tool, integrated development environment (IDE), and ways of working.
Team structure
Because of the aforementioned points, you should probably evaluate your team structure and plan carefully so that your shared code doesn't end up being a huge bottleneck that only a few people of your Android team will touch; it will inevitably drive your shared code toward Android and you want it to be unbiased toward platforms.
One example...