Começo a versão no segmento mais baixo (sem hotfix). Não limito esse segmento a 10. A menos que você esteja acompanhando as compilações, basta decidir quando deseja aplicar um incremento. Se você tiver uma fase de controle de qualidade, pode ser onde você aplica um incremento ao segmento mais baixo e, em seguida, o próximo segmento quando passa no controle de qualidade e é liberado. Deixe o segmento mais alto para alterações de comportamento / interface do usuário principais.
Se você é como eu, fará dele um híbrido dos métodos, a fim de acompanhar o ritmo da progressão do seu software.
Eu acho que o padrão mais aceito abc ou abcd, especialmente se você tiver controle de qualidade / conformidade no mix. Eu tive tanta confusão em torno da data sendo uma parte regular das versões que eu desisti para o mainstream.
Eu não rastreio compilações, então eu gosto de usar o padrão abc, a menos que um hotfix esteja envolvido. Quando preciso aplicar um hotfix, aplico o parâmetro d como uma data com hora. Adotei o parâmetro time como d, porque sempre há o potencial de vários em um dia em que as coisas realmente explodem na produção. Só aplico o segmento d (AAAAMMDDHHNN) quando estou divergindo para uma correção de produção.
Pessoalmente, não me oponho a um esquema de software do va.b revc, em que c é AAAAMMDDHHMM ou AAAAMMDD.
Tudo o que disse. Se você puder pegar uma ferramenta para configurá-la e executá-la, evitará a dor de cabeça, tendo que organizar a faceta de opinião do controle de versão e você pode simplesmente dizer "use a ferramenta" ... porque todos no processo de desenvolvimento geralmente são tão compatíveis .