- Proyectos de desarrollo de sistemas
Proyecto
de Sistema o Software
Es
el Proceso de gestión para la creación de un Sistema o
software, la cual encierra un conjunto de actividades, una de las cuales es la
estimación, estimar es echar un vistazo al futuro y aceptamos resignados cierto
grado de incertidumbre. Aunque la estimación, es mas un arte que
una Ciencia, es una actividad importante que no debe llevarse a cabo de
forma descuidada. Existen técnicas útiles para la estimación de
costes de tiempo. Y dado que la estimación es la base de todas las demás
actividades de planificación del proyecto y sirve como guía para una
buena Ingeniería Sistemas y Software.
Al estimar tomamos en cuenta no solo
del procedimiento técnico a utilizar en el proyecto, sino que se toma
en cuenta los recursos, costos y planificación. El Tamaño del proyecto
es otro factor importante que puede afectar la precisión de las estimaciones. A
medida que el tamaño aumenta, crece rápidamente la interdependencia entre
varios elementos del Software.
La disponibilidad
de información Histórica es otro elemento que determina
el riesgo de la estimación.
Objetivos de la Planificación del
Proyecto
El objetivo de la
Planificación del proyecto de Software es proporcionar un marco
de trabajo que permita al gestor hacer estimaciones razonables de
recursos costos y planificación temporal. Estas estimaciones se hacen dentro de
un marco de tiempo limitado al comienzo de un proyecto de software, y deberían
actualizarse regularmente medida que progresa el proyecto. Además las
estimaciones deberían definir los escenarios del mejor caso, y peor caso, de
modo que los resultados del proyecto pueden limitarse.
El Objetivo de la planificación se
logra mediante un proceso de descubrimiento de la información que lleve a
estimaciones razonables.
Actividades asociadas al proyecto
de software.
-Ambito del Software.
Es la primera actividad de llevada a
cabo durante la planificación del proyecto de Software.
En esta etapa se deben evaluar
la función y el rendimiento que se asignaron al Software durante la
Ingeniería del Sistema de Computadora para establecer un ámbito de
proyecto que no sea ambiguo, e incomprensible para directivos y técnicos
Describe la función, el rendimiento,
las restricciones, las interfaces y la fiabilidad, se evalúan
las funciones del ámbito y en algunos casos se refinan para dar mas
detalles antes del comienzo de la estimación. Las restricciones de rendimiento
abarcan los requisitos de tiempo de respuesta y procesamiento, identifican los
limites del software originados por el hardware externo, por la
memoria disponible y por otros sistemas existentes.
El Ambito se define como un
pre-requisito para la estimación y existen algunos elementos que se debe tomar
en cuenta como es:
·
La Obtención de la Información
necesaria para el software. Para esto el analista y el cliente se
reúnen sobre las expectativas del proyecto y se ponen de acuerdo en los puntos
de interés para su desarrollo.
RECURSOS:
La Segunda tarea de la planificación
del desarrollo de Software es la estimación de los recursos requeridos para
acometer el esfuerzo de desarrollo de Software, esto simula a una pirámide
donde las Herramientas (hardware y Software), son la base proporciona
la infraestructura de soporte al esfuerzo de desarrollo, en segundo nivel de la
pirámide se encuentran los Componentes reutilizables.
Y en la parte mas alta de la pirámide
se encuentra el recurso primario, las personas (el recurso humano).
Cada recurso queda especificado
mediante cuatro características:
·
Descripción del Recurso.
·
Informes de disponibilidad.
·
Fecha cronológica en la que se requiere
el recurso.
·
Tiempo durante el que será aplicado el
recurso
-Recursos Humanos
La Cantidad de personas requeridas para
el desarrollo de un proyecto de software solo puede ser determinado después de
hacer una estimación del esfuerzo de desarrollo (por ejemplo personas mes o
personas años), y seleccionar la posición dentro de la organización y
la especialidad que desempeñara cada profesional.
Recursos o componentes de
software reutilizables.
Cualquier estudio sobre recursos de
software estaría incompleto sin estudiar la reutilizacion, esto es la creación
y la reutilizacion de bloques de construcción de Software.
Tales bloques se deben establecer en
catálogos para una consulta más fácil, estandarizarse para una fácil aplicación
y validarse para la también fácil integración.
El Autor Bennatan sugiere cuatro
categorías de recursos de software que se deberían tener en cuenta a medida que
se avanza con la planificación:
·
Componentes ya desarrollados.
·
Componentes ya experimentados.
·
Componentes con experiencia Parcial.
·
Componentes nuevos.
-Recursos del Entorno
El entorno es donde se apoya el
proyecto de Software, llamado a menudo entorno de Ingeniería de Software,
incorpora Hardware y Software.
El Hardware proporciona una plataforma
con las herramientas (Software) requeridas para producir
los productos que son el resultado de la buena practica de la
Ingeniería del Software, un planificador de proyectos debe determinar
la ventana temporal requerida para el Hardware y el Software, y verificar que
estos recursos estén disponibles. Muchas veces el desarrollo de
las pruebas de validación de un proyecto de software para la
composición automatizada puede necesitar un compositor de fotografías en algún
punto durante el desarrollo. Cada elemento de hardware debe ser especificado
por el planificador del Proyecto de Software.
ESTIMACIÓN DEL PROYECTO DE
SOFTWARE.
En el principio el costo del
Software constituía un pequeño porcentaje del costo total de los sistemas
basados en Computadoras. Hoy en día el Software es el elemento mas caro de
la mayoría de los sistemas informáticos.
Un gran error en la estimación del
costo puede ser lo que marque la diferencia entre beneficios y perdidas, la
estimación del costo y del esfuerzo del software nunca será una ciencia exacta,
son demasiadas las variables: humanas, técnicas, de
entorno, políticas, que pueden afectar el costo final del software y el
esfuerzo aplicado para desarrollarlo.
Para realizar estimaciones seguras de
costos y esfuerzos tienen varias opciones posibles:
·
Deje la estimación para mas adelante
(obviamente podemos realizar una estimación al cien por cien fiable después de
haber terminado el proyecto.
·
Base las estimaciones en proyectos
similares ya terminados.
·
Utilice técnicas de descomposición
relativamente sencillas para generar las estimaciones de costos y esfuerzo del
proyecto.
·
Desarrolle un modelo empírico
para él calculo de costos y esfuerzos del Software.
Desdichadamente la primera opción,
aunque atractiva no es practica.
La Segunda opción puede funcionar
razonablemente bien si el proyecto actual es bastante similar a los esfuerzos
pasados y si otras influencias del proyecto son similares. Las opciones
restantes son métodos viables para la estimación del proyecto de
software. Desde el punto de vista ideal, se deben aplicar conjuntamente las
técnicas indicadas usando cada una de ellas como comprobación de las otras.
Antes de hacer una estimación, el
planificador del proyecto debe comprender el ámbito del software a construir y
generar una estimación de su tamaño.
-Estimación basada en el Proceso.
Es la técnica más común para estimar un
proyecto es basar la estimación en el proceso que se va a utilizar, es decir,
el proceso se descompone en un conjunto relativamente pequeño de actividades o
tareas, y en el esfuerzo requerido para llevar a cabo la estimación de cada
tarea.
Al igual que las técnicas basadas
en problemas, la estimación basada en el proceso comienza en una
delineación de las funciones del software obtenidas a partir del ámbito del
proyecto. Se mezclan las funciones del problema y las actividades del proceso.
Como ultimo paso se calculan los costos y el esfuerzo de cada función y la
actividad del proceso de software.
DIFERENTES MODELOS DE
ESTIMACION.
Existen diferentes modelos de
estimación como son:
- Los Modelos Empíricos:
Donde los datos que soportan
la mayoría de los modelos de estimación obtienen una muestra limitada
de proyectos. Por est razón, el modelo de estimación no es adecuado para todas
las clases de software y en todos los entornos de desarrollo. Por lo tanto los
resultados obtenidos de dichos modelos se deben utilizar con prudencia.
-El Modelo COCOMO.
Barry Boehm, en
su libro clásico sobre economía de la Ingeniería del
Software, introduce una jerarquía de modelos de estimación de Software con el
nombre de COCOMO, por su nombre en Ingles (Constructive, Cost, Model) modelo
constructivo de costos. La jerarquía de modelos de Boehm esta constituida por
los siguientes:
·
Modelo I. El Modelo COCOMO básico calcula el esfuerzo y el costo del desarrollo de
Software en función del tamaño del programa, expresado en las líneas
estimadas.
Modelo II. El Modelo COCOMO intermedio calcula el esfuerzo del desarrollo de
software en función del tamaño del programa y de un conjunto de conductores de
costos que incluyen la evaluación subjetiva del producto, del
hardware, del personal y de los atributos del proyecto.
·
Modelo III. El modelo COCOMO avanzado incorpora todas las características de la
versión intermedia y lleva a cabo una evaluación del impacto de los conductores
de costos en cada caso (análisis, diseño, etc.) del proceso de ingeniería
de Software.
- Herramientas Automáticas De
Estimación.
Las herramientas automáticas de
estimación permiten al planificador estimar costos y esfuerzos, así como llevar
a cabo análisis del tipo, que pasa si, con importantes variables del proyecto,
tales como la fecha de entrega o la selección del personal. Aunque
existen muchas herramientas automáticas de estimación, todas exhiben las mismas
características generales y todas requieren de una o más clases de datos.
A partir de estos datos, el modelo
implementado por la herramienta automática de estimación proporciona
estimaciones del esfuerzo requerido para llevar a cabo el proyecto, los costos,
la carga de personal, la duración, y en algunos casos la planificación temporal
de desarrollo y riesgos asociados.
En resumen el planificador del Proyecto
de Software tiene que estimar tres cosas antes de que comience el proyecto:
cuanto durara, cuanto esfuerzo requerirá y cuanta gente estará implicada.
Además el planificador debe predecir los recursos de hardware y software que va
a requerir y el riesgo implicado.
Para obtener estimaciones exactas para
un proyecto, generalmente se utilizan al menos dos de las tres técnicas
referidas anteriormente. Mediante la comparación y la conciliación de las
estimaciones obtenidas con las diferentes técnicas, el planificador puede
obtener una estimación más exacta. La estimación del proyecto de software nunca
será una ciencia exacta, pero la combinación de buenos datos históricos y
técnicas puede mejorar la precisión de la estimación.
Comentarios
Publicar un comentario