Buscar este blog

miércoles, 13 de noviembre de 2013

Métodos de estimación, medición y cuantificación del Software

Métodos de estimación, medición y cuantificación del Software
Una de las mayores razones por la cual muchos programas fracasan es por no medir el software o por no medirlo de manera correcta. Usualmente medimos la cantidad de software por debajo de la cantidad real que tendrá el mismo y por ende también estimamos un tiempo menor para realizarlo, que como consecuencia nos trae mayor costo.
Dice el libro Software Estimation, Measurement, and Metrics:
“La clave para dar credibilidad al dimensionamiento de software es utilizar una variedad de técnicas de clasificación de software, y no depender de una única fuente o método para la estimación.”
Esto es porque si tenemos una única fuente que nos valide el dimensionamiento de software, tenemos más riesgos a equivocarnos, pero con varias técnicas que nos den resultados aproximados podríamos tener más éxito en nuestro programa a la hora de estimar su tamaño.

Estimación

Para poder estimar el tamaño del software que vamos a desarrollar, hay que tomar en cuenta la cantidad de requerimientos que este necesita, los tipos de herramientas a utilizar, si sabemos utilizar o no estas herramientas, nuestra experiencia – si ya hemos realizado algún software de este tipo – y el tipo de interfaz que este requiere.
Una forma de medir el software es con las líneas de código, ya que es lo único que se puede contabilizar dentro del software, pero como no somos muy buenos estimando eso, se recomienda que se controle el tamaño del software mientras se vaya desarrollando e ir revisando y dando seguimiento al tamaño del software contra las estimaciones ya antes realizadas.

Medición

Entre los distintos métodos de medición de software, se encuentran el SLOC (Source Line of Code), Function Points, y Feature Points.
El método SLOC cuenta cada instrucción ejecutable y las declaraciones de datos, excluye los comentarios, líneas en blanco y líneas de continuación. Para poder estimar el tamaño de un software usando este método, hay que usar referencias de algún otro software que utilice métodos o funciones parecidos. En caso de que no tengamos un software parecido al que vamos a desarrollar, resulta casi imposible estimar el tamaño del software usando este método, partiendo solamente de los requerimientos.
El método Function Points consiste en cuantificar las entradas, salidas, lógica de archivos, consultas e interfaz que requiere el software, clasificando estas cantidades en simple, promedio y complejo. Al igual que el método SLOC, las experiencias pasadas son de mucha ayuda para poder clasificar de manera correcta la complejidad de cada cosa que necesitas o para poder saber que tantas entradas, salidas, etc. necesitas.
Como podrán notar estas técnicas son útiles cuando ya se tiene experiencia previa, es muy difícil que sin haber hecho un software parecido al que vayas a realizar, sepas el tamaño que tendrá, el nivel de dificultad y el tiempo que te tomara realizarlo.
En esto cabe la frase: “La práctica hace al maestro”, si no has realizado muchos softwares no podrás predecir con exactitud o aproximación cuanto medirá el software que estás realizando.
A la hora de medir tu software, después de haberlo terminado, estás técnicas son las mejores y te ayudaran a poder predecir mejor para la próxima vez que estés desarrollando un programa. Esta es una práctica muy importante para que el software sea de calidad o poder mejorar su proceso, la medida del software nos da un objetivo claro de lo que vamos hacer y nos sirve de guía para saber si nos estamos desviando o vamos por el camino correcto. Como decía DeMarco:
“¡No se puede gestionar lo que no se puede medir!”.
La medición del software se utiliza para saber la cantidad de cualquier aspecto del software o su proceso. Estas cantidades se utilizan para comparar productos o como había mencionado antes para controlar el producto que se está realizando. Con estos números podemos monitorear los requisitos, predecir los recursos de desarrollo, dar seguimiento al progreso del desarrollo y entender los costos del mantenimiento. Todo esto nos sirve para comparar el estado actual del programa con su estado pasado, nos dice si el programa va ascendiendo o descendiendo y a partir de ahí poder tomar medidas para que el software mejore.
Ademas es una manera de poder saber el costo de tu trabajo y así utilizar estas medidas para estrategias comerciales, así a través del tiempo invertido, dinero invertido, proceso de software, mano de obra, etc. podemos saber cuánto cuesta el software que estás realizando.
En conclusión no podrás medir el software de manera correcta si no tienes experiencia previa en esto o mejor dicho experiencia realizando distintos tipos de software. Si eres de los que no tienen experiencia se recomienda que busques ayuda de expertos para que te estimen cuanto podrá medir el software que estás realizando, luego con la experiencia podrás hacerlo tú mismo y mejoraras la manera en que desarrollas un software.

No hay comentarios:

Publicar un comentario