- Escolher módulos menos complexos para iniciar a implementação, isto é: com menos dependências entre outros módulos.
- Criar o grafo de navegação interno para tais módulos.
- Converter o gerenciamento manual de transações entre framentos: substituir as transações de fragmento manuais pelo Jetpack Navigation Component. Isso significa incluir mudança de chamadas FragmentManager para NavController e a atualização de interfaces de retorno de chamada para usar o SafeArgs - quando for necessário.
- Validar se a navegação no módulo selecionado funciona conforme o esperado após a implementação do Jetpack Navigation Component.
- Migrar os módulos restantes, de forma incremental.
- Integração da navegação entre módulos: após migrar todos os módulos, integrar a navegação entre os módulos usando o Jetpack Navigation Component (isso pode ser realizado no módulo app via global actions ou deeplinks).
Seria interessante deixar os módulos independentes após o uso do Navigation Component, de modo que um não conheça o outro. Apenas o módulo app conhece os outros módulos do sistema (isso não se aplica à modulos como core/commons).