¿Cómo medir la madurez del componente de software procesando numbers de versión?

Estoy tratando de implementar una métrica que describa qué tan maduro / estable es un componente de software al observar cuántas versiones se han hecho de él en un determinado período de time (o desde una date de inicio).

Más versiones indicarían un componente less maduro / estable. Pero esto no sería exacto: al mirar un marco de time más grande, un componente podría haber tenido muchos cambios al principio, pero muy pocos recientemente. Esto indica un componente estable. Además, la numeración de versiones probablemente deba tenerse en count. Un cambio de '1.4' a '2.0' debería ser más significativo que un cambio de '1.4.1' a '1.4.2'.

En pocas palabras: los cambios más antiguos deberían importar less, un mayor aumento en el número de versión debería importar más.

¿Existe una function de peso estándar de la industria que logre el resultado deseado de acuerdo con estos criterios? ¿O debería intentar crear el mío?

Eche un vistazo a las versiones semánticas :

Given a version number MAJOR.MINOR.PATCH, increment the: MAJOR version when you make incompatible API changes, MINOR version when you add functionality in a backwards-compatible manner, and PATCH version when you make backwards-compatible bug fixes. Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format. 

Además, utilizo un cuarto número REVISION que es la revisión SVN del package de compilation creado a partir del código fuente en esa revisión. Actualizo las versiones de ensamblaje de mis componentes con este número durante la compilation, por ejemplo:

2.0.3.xyz

Espero que esto ayude.

    Intereting Posts