Para explicar isso corretamente, precisamos de uma breve lição de história. Nos primeiros dias da engenharia de software, uma analogia frequentemente usada era a construção de uma casa. Um arquiteto e engenheiro estrutural discute os planos com um cliente e cria um design. Os construtores seguem esse projeto para construir a casa real. Escrever código era visto como o equivalente à construção da casa real. Portanto, havia uma necessidade percebida de design antecipado antes que a compilação pudesse ocorrer. Várias ferramentas de design gráfico foram criadas, sendo a UML uma delas.
A ideia originalmente da UML era que alguém projetasse completamente um sistema com a UML e passasse para os codificadores para traduzir esse design em código. Na realidade, isso simplesmente não funciona e levou anos de programadores a serem vistos como "implementadores", em vez de "designers", projetos atrasados, os projetos precisando mudar constantemente depois que deveriam estar completos etc.
O motivo é simples. Codificação é design . Com a analogia da casa, o código são os desenhos do arquiteto. O compilador é o construtor que pega esses designs e cria um programa a partir deles. Essa percepção levou a técnicas ágeis, TDD etc: ferramentas para ajudar a melhorar a qualidade desse design de código.
Assim como um arquiteto pode produzir esboços preliminares para ajudar ela e sua equipe a visualizar o design geral, um desenvolvedor pode usar UML ou outras ferramentas para ajudar a visualizar o design necessário. Assim como esses esboços não são seguidos às cegas, a UML não deve ser seguida às cegas. O design do código deve evoluir a partir de iterações ágeis e usando TDD. Da mesma forma, assim como um arquiteto pode construir um modelo da casa para ajudar ela e sua equipe a visualizar os desenhos, a UML pode ser usada para ajudar a visualizar a estrutura do código.
Como o tio Bob diz, você não pode validar a UML, mas apenas o código. Portanto, o código é a documentação de design principal e a UML, se usada, é apenas uma documentação secundária.