¿Qué tal estimados? ¿Cómo les ha ido en la gestión de sus proyectos y logros de los objetivos? les presentamos nuestra segunda publicación de la Guía para la gestión de proyectos informáticos. Dedicaremos esta segunda edición al tema de la medición y estimación de proyectos de software.
Todo proyecto de desarrollo de software comienza con una etapa de estimación y planificación, donde determinamos el esfuerzo, personal, recursos materiales, tiempo y en última instancia dinero tomará construir el sistema o producto.
Esta etapa de estimación es causa frecuente de muchos errores y fracasos en proyectos de software, pues sino se utilizan los métodos adecuados para realizar estimaciones precisas, podemos elaborar una planificación de tiempo y presupuesto no realistas, incumpliendo las expectativas establecidas con los interesados.
Para abordar este interesante tema, te presentamos artículos, lecturas recomendadas, cursos y otros recursos para que puedas orientar la elaboración de una estimación adecuada y aumentar tus posibilidades de éxito en la gestión de proyectos.
¿Qué son las métricas de software?
De la misma forma que en ingeniería de construcción necesitaríamos definir la altura y ancho de una estructura y sus componentes expresados en metros o centímetros, en desarrollo de software podemos valernos de unidades de medida para conocer el tamaño del software a desarrollar.
El utilizar métricas de software es prácticamente indispensable para estimar adecuadamente los presupuestos y llevarlos a buen término, entre los usos y ventajas de las métricas de software tenemos mayor facilidad de entendimiento común del alcance de la aplicación, posibilidad de comparar con una métrica el tamaño funcional de un nuevo sistema con uno existente, entre otros aspectos.
Te recomendamos el artículo para ver una lista completa de cuáles son sus beneficios.
> Métricas de software: Uso y ventajas
¿Cómo elaborar estimaciones de software?
Para elaborar estimaciones de software que podamos cumplir, podemos seguir una metodología como la que exponemos en el artículo:> 5 pasos para elaborar estimaciones de software
Siguiendo la metodología expuesta en el artículo, primero necesitamos revisar los requerimientos y el alcance del proyecto. Los cuales debemos haber determinado previamente usando técnicas de levantamiento de requisitos de software.
Luego necesitamos realizar un desglose de trabajo, aplicar métodos de medición de proyectos, elaborar un primer estimado y evaluar este en función de las particularidades y riesgos del proyecto.
Métodos tradicionales de medición de proyectos de software
Existe una amplia gama de técnicas para la medición de proyectos de software, las más tradicionales y conocidas es la estimación de un solo punto y la estimación de tres puntos.En la estimación de un solo punto es la más conocida y divulgada, en ella asignamos la tarea de realizar el estimado del trabajo a realizar a un solo experto, esta persona revisa los requerimientos funcionales y los requerimientos no funcionales, elabora un desglose de las tareas necesarias para acometerlos y asigna a cada uno un estimado de días.
Por otro lado, en la estimación de tres puntos entregamos el requerimiento de software a tres expertos, cada uno de los cuales realiza su desglose y estimación. Con esta técnica obtendremos una estimación optimista, media y pesimista, según el número de días que asigne cada uno.
Existen variantes a estas técnicas, por ejemplo con la técnica Delphi entregamos en requerimiento de software a una serie de expertos que no se comunican entre sí, mientras que en otras técnicas podemos entablar una conversación y refinar las estimaciones.
¿Cuál es la desventaja de los métodos tradicionales de estimación de software?
Las técnicas expuestas en la sección anterior, tienen la desventaja que son dependientes de aspectos técnicos del desarrollo de software y además están marcadas por el sesgo particular de cada experto al que se le asigne una estimación.
En los proyectos de software son notorios los estimados que después no pueden cumplirse, llevando a la insatisfacción de las expectativas.
Para hacer frente a ello, se han desarrollado otros métodos como el del análisis de puntos de función, el cual tiene la ventaja que la valoración es realizada sobre las funcionalidades que serán entregadas al usuario, por lo cual esta es independiente de la tecnología y está expresada en los mismos términos de las áreas funcionales que comisionan los proyectos.
Estimación de proyectos con el método de puntos de función
Los puntos de función permiten estandarizar las mediciones del tamaño del software, obteniendo estimaciones de mayor exactitud, frente a las que obtendríamos al basarnos solamente en nuestra experiencia y aproximación inexacta.Bajo puntos de función, partiendo de la ingeniería de requisitos, clasificamos los componentes de software a desarrollar en: Entradas externas, consultas externas, salidas externas, archivo lógico interno y archivo lógico externo. Seguidamente determinamos un nivel de complejidad para cada uno, para luego asignarle una cantidad determinada de "puntos de función".
En la siguiente serie de artículos te contamos todo sobre el método de puntos de función:
> Estimación de proyectos de software por puntos de función: Introducción
Una vez determinada la medición del software expresada en puntos de función, podemos pasar a estimar el presupuesto del proyecto. Para ello necesitaremos una medida de productividad de nuestro equipo de trabajo, es decir cuántos puntos de función puede desarrollar el equipo de trabajo en un determinado tiempo.
En el siguiente artículo te mostramos un ejemplo para determinar el presupuesto de un proyecto de software usando los puntos de función:
> Ejemplo de presupuesto de un proyecto de software
Estimación de proyectos con COSMIC
Al igual que en el método IFPUG, en COSMIC realizamos un desglose de los procesos y subprocesos funcionales, pero luego determinamos cuales son las interacciones entre ellos. Clasificamos estás interacciones en: Entrada de datos, salida de datos, escritura de datos y lectura de datos. Los dos primeros corresponden a entradas y salidas del sistema, mientras que los siguientes corresponden a lecturas y escrituras en archivos del sistema.
Independientemente de la complejidad, asignamos un punto de función COSMIC a cada una de estas interacciones. Por lo tanto, a mayor número de interacciones de entrada, salida, lectura y escritura, mayor será la medición del software.
En el siguiente artículo explicamos en detalle el método COSMIC:
> Medición y estimación: Método COSMIC
También te presentamos un ejemplo de como estimar costos en proyectos de software usando COSMIC:
> Ejemplos de estimación de costos de un proyecto de software
Si buscas ahondar en el tema de la medición y estimación de proyectos de software, definitivamente te recomendamos el libro de Julián Gómez:
Julián Gómez, Experto en Métodos de Medición de Desarrollo de Software y Blogger en el “Laboratorio de las TI” (www.laboratorioti.com), nos presenta su libro.
En el libro se describen una amplia gama de métodos que podemos usar para estimar el esfuerzo y duración de proyectos de software, métodos clásicos (COCOMO, Estimaciones de 3 puntos), métodos de puntos función, estimación temprana (NESMA), puntos de casos de uso, puntos de características (Features), entre otros.
Muchas de estas técnicas se describen por primera vez en español cómo COSMIC, MK-II, FiSMA, SiFP, SNAP y más. Excelente compendio para revisar todo lo que necesitemos para hacer estimaciones de software.
Para profundizar más en el tema de Scrum y las metodologías ágiles te recomendamos los siguientes artículos.
> Contratación de servicios de software: El modelo brasileño de puntos función
> Estimación de proyectos de software con puntos de función: Determinar tipo de conteo y componentes funcionales
> Estimación de proyectos de software: Cálculo de los puntos de función no ajustados
> Modelo de plan de trabajo
¿Desempeñas algún rol en un proyecto ágil o Scrum? ¿Cuáles son las características interpersonales que consideras más importantes para desempeñar estos roles?
¿Quieres obtener completamente gratis y directamente en tu correo electrónico plantillas, artículos y otros recursos de desarrollo de software?, entonces presiona "suscríbete" a continuación.
También puedes seguirnos vía Twitter, Facebook o Linkedin:
Lectura recomendada en estimación de proyectos
Si buscas ahondar en el tema de la medición y estimación de proyectos de software, definitivamente te recomendamos el libro de Julián Gómez:
¿Por qué?, ¿Para qué? y ¿Cómo?
Julián Gómez, Experto en Métodos de Medición de Desarrollo de Software y Blogger en el “Laboratorio de las TI” (www.laboratorioti.com), nos presenta su libro.
En el libro se describen una amplia gama de métodos que podemos usar para estimar el esfuerzo y duración de proyectos de software, métodos clásicos (COCOMO, Estimaciones de 3 puntos), métodos de puntos función, estimación temprana (NESMA), puntos de casos de uso, puntos de características (Features), entre otros.
Muchas de estas técnicas se describen por primera vez en español cómo COSMIC, MK-II, FiSMA, SiFP, SNAP y más. Excelente compendio para revisar todo lo que necesitemos para hacer estimaciones de software.
Cursos en medición de software y estimaciones
¿Problemas para realizar estimados de software exactos? ¿Te gustaría certificarte como experto en estimaciones de software?
Ponemos a tu disposición los siguientes cursos presentados por nuestro aliado Fatto, Empresa de consultoría en ingeniería de requisitos y análisis de puntos de función.
Técnicas para medir y estimar el tamaño del software a partir de la complejidad de sus funcionalidades.
Modalidad e-learning
16 horas de duración.
Cómo realizar mediciones de tamaño funcional de requerimientos, usando técnicas adaptadas específicamente a las necesidades de la ingeniería de software.
Modalidad e-learning
16 horas de duración, acceso por 30 días en cualquier horario.
Mediciones del tamaño del software a partir del tipo de requerimiento y su nivel de complejidad, por medio de la técnica de Análisis de puntos de función.
Cursos presentados por:
Más artículos sobre métricas de software y estimación de proyectos
Para profundizar más en el tema de Scrum y las metodologías ágiles te recomendamos los siguientes artículos.
> Contratación de servicios de software: El modelo brasileño de puntos función
> Estimación de proyectos de software con puntos de función: Determinar tipo de conteo y componentes funcionales
> Estimación de proyectos de software: Cálculo de los puntos de función no ajustados
> Modelo de plan de trabajo
¿Y qué opinas tú?
¿Desempeñas algún rol en un proyecto ágil o Scrum? ¿Cuáles son las características interpersonales que consideras más importantes para desempeñar estos roles?
¿Buscas más información de metodologías de desarrollo de software?
¿Quieres obtener completamente gratis y directamente en tu correo electrónico plantillas, artículos y otros recursos de desarrollo de software?, entonces presiona "suscríbete" a continuación.
También puedes seguirnos vía Twitter, Facebook o Linkedin:
No hay comentarios :
Publicar un comentario