Está en la página 1de 32

UNIVERSIDAD ALEJANDRO DE HUMBOLDT INGENIERA DE SOFTWARE

Ingeniera de Software. El proceso y el Producto. Gestin de Proyectos de Software

Integrante: Mario Vsquez C.I. 13929011 Profesor: Ing. William Matute

Valencia, Enero de 2010 1

Tabla de Contenido

Tabla de Contenido........................................................................................2 Introduccin...................................................................................................3 Ingeniera de software....................................................................................4 Definicin...................................................................................................4 Ingeniera...............................................................................................4 Software.................................................................................................5 Otras definiciones de Ingeniera del Software.......................................6 Importancia de la Ingeniera de Software..................................................7 Objetivos de la ingeniera de software...................................................8 Objetivos de los proyectos de sistemas..................................................9 El Producto y el Proceso..............................................................................13 El Proceso................................................................................................13 El Producto...............................................................................................15 Importancia del Software.....................................................................16 Caractersticas del Software.................................................................17 Gestin de Proyectos de Software...............................................................22 Definicin.................................................................................................22 Conclusin...................................................................................................31 Referencias Bibliogrficas...........................................................................32

Introduccin

La informtica esta presente en casi todos los aspectos de la vida diaria, si hacemos un recuento de nuestras actividades diarias nos daremos cuenta de esta realidad. Una parte importante de todo este avance tecnolgico lo conforma el desarrollo de software que nos permite sacar el mximo provecho de los nuevos desarrollos de hardware de la actualidad. Pero este auge de desarrollo de programas de computacin se convirti en una ciencia y existen una serie de mtodos y estructuras a seguir que se definen dentro de esa parte de la informtica denominada Ingeniera de Software el cual ser el punto central de este trabajo de investigacin as como los rasgos generales para la gestin de proyectos de desarrollo de software. En primer lugar se definir Ingeniera de Software, pasando por su importancia y caractersticas, se trataran los puntos de proceso y producto y su relacin y en ultimo lugar se abarcar el tema de la gestin de proyectos de desarrollo de software y sus partes ms importantes.

Ingeniera de software

Definicin

Para definir ingeniera de software se desglosar el trmino para definirlo por separado.

Ingeniera

El trmino "ingeniera" es una referencia directa a la ingeniera civil, una referencia al estudio de la construccin. En programacin se aplica el mismo principio que en la construccin de un edificio: poner simplemente ladrillos y cemento no es suficiente. La construccin de un edificio consta de diversos pasos antes de comenzar con la fase de construccin, tales como el diseo arquitectnico, la albailera, la fontanera, el diseo elctrico, y durante este perodo se calculan los presupuestos y los plazos. La ingeniera es el estudio y la aplicacin de las distintas ramas de la tecnologa. El profesional en este mbito recibe el nombre de ingeniero. La actividad del ingeniero supone la concrecin de una idea en la realidad. Esto quiere decir que, a travs de tcnicas, diseos y modelos, y 4

con el conocimiento proveniente de las ciencias, la ingeniera puede resolver problemas y satisfacer necesidades humanas. La ingeniera tambin supone la aplicacin de la inventiva y del ingenio para desarrollar una cierta actividad. Esto, por supuesto, no implica que no se utilice el mtodo cientfico para llevar a cabo los planes.

Software

Es el conjunto de los programas de cmputo, procedimientos, reglas, documentacin y datos asociados que forman parte de las operaciones de un sistema de computacin. [Std. 729, IEEE] El software no son solo programas, sino todos los documentos asociados y la configuracin de datos que se necesitan para hacer que estos programas operen de manera correcta. Un sistema de software consiste en diversos programas independientes, archivos de configuracin que se utilizan para ejecutar estos programas, un sistema de documentacin que describe la estructura del sistema, la documentacin para el usuario que explica como utilizar el sistema y sitios web que permitan a los usuarios descargar la informacin de productos recientes. [Sommerville, 2004].

El trmino ingeniera de software abarca al grupo de mtodos, tcnicas y herramientas que se utilizan en la produccin del software, ms all de la actividad principal de programacin. Por lo tanto, la ingeniera de software requiere la gestin de proyectos para que se pueda desarrollar una aplicacin en el plazo previsto y con el presupuesto establecido que sea satisfactoria para el cliente (el concepto de calidad).

Otras definiciones de Ingeniera del Software

Ingeniera del Software es el estudio de los principios y metodologas para desarrollo y mantenimiento de sistemas de software. [Zelkovitz, 1978] Ingeniera del Software es la aplicacin practica del conocimiento cientfico en el diseo y construccin de programas de computadora y la documentacin asociada requerida para desarrollar y operar (funcionar) y mantenerlos. As como tambin desarrollo de software o produccin de software. [Bohem, 1976] La Ingeniera del Software es el establecimiento y uso de principios slidos de la ingeniera para obtener econmicamente un software confiable y que funcione de modo eficiente en maquinas reales. [Bauer, 1972]

Ingeniera de Software es la aplicacin de un enfoque sistemtico, disciplinado y cuantificable al desarrollo operacin (funcionamiento) y mantenimiento del software: es decir, la aplicacin de ingeniera al software. [IEEE, 1993] La Ingeniera de Software es una disciplina de la ingeniera que comprende todos los aspectos de la produccin de software desde las etapas iniciales de la especificacin del sistema hasta el mantenimiento de este despus que se utiliza. [Sommerville, 2004] La Ingeniera de Software es una disciplina que integra el proceso, los mtodos, y las herramientas para el desarrollo de software de computadora. [Pressman, 2005]

Importancia de la Ingeniera de Software

La importancia de la ingeniera del software radica en tratar de eliminar el caos que se forma en el desarrollo de un software sin seguir una serie de pautas y de consideraciones previas a la codificacin del mismo. Entre otros aspectos la ingeniera de software contribuye a e eliminar los siguientes problemas o practicas erradas en la realizacin de software: Imprecisin en la planificacin del proyecto y estimacin de los costos.

Baja calidad del software. Dificultad de mantenimiento de programas con un diseo poco estructurado, etc. Por otra parte se exige que el software sea eficaz y barato tanto en el desarrollo como en la compra. Tambin se requiere una serie de caractersticas como fiabilidad, facilidad de mantenimiento y de uso, eficiencia, etc.

Objetivos de la ingeniera de software

En la construccin y desarrollo de proyectos se aplican mtodos y tcnicas para resolver los problemas, la informtica aporta herramientas y procedimientos sobre los que se apoya la ingeniera de software. Mejorar la calidad de los productos de software Aumentar la productividad y trabajo de los ingenieros del software. Facilitar el control del proceso de desarrollo de software. Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente. Definir una disciplina que garantice la produccin y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado. 8

Objetivos de los proyectos de sistemas

Para que los objetivos se cumplan las empresas emprenden proyectos por las siguientes razones: Las cinco C Capacidad Las actividades de la organizacin estn influenciadas por la capacidad de sta para procesar transacciones con rapidez y eficiencia. Los sistemas de informacin mejoran esta capacidad en tres formas. Aumentan la velocidad de procesamiento: Los sistemas basados en computadora pueden ser de ayuda para eliminar la necesidad de clculos tediosos y comparaciones repetitivas. Un sistema automatizado puede ser de gran utilidad si lo que se necesita es un procesamiento acelerado. Aumento en el volumen: La incapacidad para mantener el ritmo de procesamiento no significa el abandono de los procedimientos existentes. Quiz stos resulten inadecuados para satisfacer las demandas actuales. En estas situaciones el analista de sistemas considera el impacto que tiene la introduccin de procesamiento computarizado, si el sistema existente es manual. Es poco probable 9

que nicamente el aumento de la velocidad sea la respuesta. El tiempo de procesamiento por transaccin aumenta si se considera la cantidad de actividades comerciales de la empresa junto con su patrn de crecimiento. Recuperacin ms rpida de la informacin: Las organizaciones almacenan grandes cantidades de datos, por eso, debe tenerse en cuenta donde almacenarlos y como recuperarlos cuando se los necesita.

Cuando un sistema se desarrolla en forma apropiada, se puede recuperar en forma rpida la informacin. Costo Vigilancia de los costos: Para determinar si la compaa evoluciona en la forma esperada, de acuerdo con lo presupuestado, se debe llevar a cabo el seguimiento de los costos de mano de obra, bienes y gastos generales. La creciente competitividad del mercado crea la necesidad de mejores mtodos para seguir los costos y relacionarlos con la productividad individual y organizacional.

10

Reduccin de costos: Los diseos de sistemas ayudan a disminuir los costos, ya que toman ventaja de las capacidades de clculo automtico y de recuperacin de datos que estn incluidos en procedimientos de programas en computadora. Muchas tareas son realizadas por programas de cmputo, lo cual deja un nmero muy reducido de stas para su ejecucin manual, disminuyendo al personal.

Control Mayor seguridad de informacin: Algunas veces el hecho de que los datos puedan ser guardados en una forma adecuada para su lectura por medio de una mquina, es una seguridad difcil de alcanzar en un medio ambiente donde no existen computadoras. Para aumentar la seguridad, generalmente se desarrollan sistemas de informacin automatizados. El acceso a la informacin puede estar controlado por un complejo sistemas de contraseas, limitado a ciertas reas o personal, si est bien protegido, es difcil de acceder. Menor margen de error: (mejora de la exactitud y la consistencia): Esto se puede lograr por medio del uso de procedimientos de control por lotes, tratando de que siempre se siga el mismo procedimiento. Cada paso se lleva a cabo de la misma manera, consistencia y con exactitud: por otra parte se efectan todos los pasos para cada lote de 11

transacciones. A diferencia del ser humano, el sistema no se distrae con llamadas telefnicas, ni olvidos e interrupciones que sufre el ser humano. Si no se omiten etapas, es probable que no se produzcan errores. Comunicacin La falta de comunicacin es una fuente comn de dificultades que afectan tanto a cliente como a empleados. Sin embargo, los sistemas de informacin bien desarrollados amplan la comunicacin y facilitan la integracin de funciones individuales. Interconexin: ( aumento en la comunicacin): Muchas empresas aumentan sus vas de comunicacin por medio del desarrollo de redes para este fin, dichas vas abarcan todo el pas y les permiten acelerar el flujo de informacin dentro de sus oficinas y otras instalaciones que no se encuentran en la misma localidad. Una de las caractersticas ms importantes de los sistemas de informacin para oficinas es la transmisin electrnica de informacin, como por ejemplo, los mensajes y los documentos. Integracin de reas en las empresas: Con frecuencia las actividades de las empresas abarcan varias reas de la organizacin, la

12

informacin que surge en un rea se necesita en otra rea, por ejemplo. Los sistemas de informacin ayudan a comunicar los detalles del diseo a los diferentes grupos, mantienen las especificaciones esenciales en un sitio de fcil acceso y calculan factores tales como el estrs y el nivel de costos a partir de detalles proporcionados por otros grupos.

El Producto y el Proceso

El Proceso

Un proceso de software se puede caracterizar como se muestra en la Figura 2.2. Se establece un marco comn del proceso definiendo un pequeo nmero de actividades del marco de trabajo que son aplicables a todos los proyectos del software, con independencia de su tamao o complejidad. Un nmero de conjuntos de tareas cada uno es una coleccin de tareas de trabajo de ingeniera del software, hitos de proyectos, productos de trabajo, y puntos de garanta de calidad- que permiten que las actividades del marco de trabajo se adapten a las caractersticas del proyecto del software y a los requisitos del equipo del proyecto. Finalmente, las actividades de proteccin -tales como garanta de calidad 13

del software, gestin de configuracin del software y medicin*-abarcan el modelo de procesos. Las actividades de proteccin son independientes de cualquier actividad del marco de trabajo y aparecen durante todo el proceso. Las prcticas de ingeniera del software de una compaa y establece cinco niveles de madurez del proceso, que se definen de la forma siguiente: Nivel 1: Inicial. El proceso del software se caracteriza segn el caso, y ocasionalmente incluso de forma catica. Se definen pocos procesos, y el xito depende del esfuerzo individual. Nivel 2: Repetible. Se establecen los procesos de gestin del proyecto para hacer seguimiento del coste, de la planificacin y de la funcionalidad. Para repetir xitos anteriores en proyectos con aplicaciones similares se aplica la disciplina necesaria para el proceso. Nivel 3: Definido. El proceso del software de las actividades de gestin y de ingeniera se documenta, se estandariza y se integra dentro de un proceso de software de toda una organizacin. Todos los proyectos utilizan una versin documentada y aprobada del proceso de la organizacin para el desarrollo y mantenimiento del software. En este nivel se incluyen todas las caractersticas definidas para el nivel 2. Nivel 4: Gestionado. Se recopilan medidas detalladas del proceso del software y de la calidad del producto. Mediante la utilizacin de medidas 14

detalladas, se comprenden y se controlan cuantitativamente tanto los productos como el proceso del software. En este nivel se incluyen todas las caractersticas definidas para el nivel 3. Nivel 5: Optimizacin. Mediante una retroalimentacin cuantitativa del proceso, ideas y tecnologas innovadoras se posibilita una mejora del proceso. En este nivel se incluyen todas las caractersticas definidas para el nivel 4.

El Producto

El producto final de la ingeniera del software: EL SOFTWARE. Es el conjunto de informacin capaz de producir en las maquinas el comportamiento deseado, de forma eficaz y eficiente, que los usuarios puedan utilizar el sistema de forma eficiente. Al que los desarrolladores puedan dar mantenimiento de forma eficaz y eficiente. Desde el punto de vista de un ingeniero de software, los productos obtenidos son programas, documentos y datos que se producen como consecuencia de las actividades de ingeniera del software definidas por el proceso.

15

Segn la definicin del IEEE, "software es la suma total de los programas de ordenador, procedimientos, reglas, la documentacin asociada y los datos que pertenecen a un sistema de cmputo" y "un producto de software es un producto diseado para un usuario". En este contexto, la Ingeniera de Software (SE del ingls "Software Engineering") es un enfoque sistemtico del desarrollo, operacin, mantenimiento y retiro del software.

Importancia del Software

Nuestra sociedad depende en gran medida de la informtica. Parece impensable que los sistemas informticos dejasen de trabajar, ya que son soporte de muchos sistemas. Ejemplos de sistemas bsicos son: El sistema para el control de semforos ciudad, medios de transporte areo, los bancos, los sistemas de produccin (fabricas), hospitales UVI, etc..

Ventajas de un producto de software para una empresa: Organizacin de la informacin. Mejoramiento de la productividad.

16

Reduccin de tiempos y costos. Administracin de la calidad. Prevencin de problemas. Gestin documental. Gestin del conocimiento. Administracin del cambio. Reingeniera de negocios. Orientacin al cliente. Planeacin. Comercio electrnico. Automatizacin y mejoramiento de procesos y procedimientos. Introduccin o consolidacin en la era de la informacin. Adquieren mayor competitividad ante sus pares.

Caractersticas del Software

Es inmaterial e invisible El comprador lo puede evaluar cuando ya ha sido construido. El Software se desarrolla, no se fabrica. Es complejo. Los sistemas actuales estn formados por miles de funciones con interfaces complejas entre ellas. Es excesivamente maleable. 17

El Software se desarrolla, no se fabrica. En cualquier sistema de produccin podemos observar dos fases la de desarrollo y la de fabricacin. El desarrollo es lento y costoso. La fabricacin en serie y con costes estables. Con el Software ocurre lo mismo pero muchas aplicaciones se desarrollan a medida, sin usar componentes existentes. La fabricacin no se considera tal.

El software es excesivamente maleable Todo el mundo exige que se realicen cambios sobre el Software como respuesta a pequeos cambios del entorno. Adems no es fcil comprender su comportamiento, segn Pressman: La curva de fallos del Hardware. La curva ideal de fallos del Software. La curva real de fallos del Software.

18

Curva de Fallos de Hardware

Defectos fabricacin Indice de fallos

Estropeado

Obsolescencia

Tiempo

Curva ideal de fallos del Software.

Defectos fabricacin Indice de fallos

Obsolescencia

Mismo nivel hasta obsoleto

Tiempo

19

Curva Real de fallos de Software

Defectos fabricacin Cambio Indice de fallos Cambio Cambio

rva Cu l Obsolescencia rea


Curva ideal Tiempo

Si el proceso es dbil, el producto final va a sufrir indudablemente. Aunque una dependencia obsesiva en el proceso tambin es peligrosa. En un breve ensayo, Margaret Davis [DAV95] comenta la dualidad producto y proceso: Cada diez aos o cinco aproximadamente, la comunidad del software vuelve a definir el problema cambiando el foco de los aspectos de producto a los aspectos de proceso. Por consiguiente, se han abarcado lenguajes de programacin estructurados (producto) seguidos por mtodos 20

de anlisis estructurados (proceso) seguidos a su vez por encapsulacin de datos (producto) y despus por el nfasis actual en el Modelo Madurez de Capacidad de Desarrollo del software del Instituto de ingeniera de software (proceso). Mientras que la tendencia natural de un pndulo es parar en medio de dos extremos, el enfoque de la comunidad del software cambia constantemente porque se aplica una fuerza nueva cuando falla el ltimo movimiento. Estos movimientos son perjudiciales por s mismos y en s mismos porque confunden al desarrollador del software medio cambiando radicalmente lo que significa realizar el trabajo, que por s mismo lo realiza bien. Los cambios tampoco resuelven el problema, porque estn condenados al fracaso siempre que el producto y el proceso se traten como si formasen una dicotoma en lugar de una dualidad.

21

Gestin de Proyectos de Software

Definicin

Gestin

Gestin son todas las actividades y tareas ejecutadas por una o ms personas con el propsito de planificar y controlar las actividades de otros para alcanzar un objetivo o completar una actividad que no puede ser realizada por otros actuando independientemente. Definicin de las actividades de gestin. Planificacin: Predeterminacin de un curso de accin para alcanzar los objetivos organizacionales. Organizacin: Arreglo de las relaciones entre las unidades de trabajo para el cumplimiento de objetivos y el otorgamiento de responsabilidad y autoridad para obtener esos objetivos. Staffing: Seleccin y entrenamiento de personas para puestos en la organizacin. Direccin: Creacin de una atmsfera que apoye y motive a la gente para alcanzar los resultados finales deseados. Control: Establecimiento, medicin y evaluacin del desempeo de las actividades a travs de los objetivos planeados.

22

Proyecto Un proyecto es una planificacin que consiste en un conjunto de actividades que se encuentran interrelacionadas y coordinadas; la razn de un proyecto es alcanzar objetivos especficos dentro de los lmites que imponen un presupuesto y un lapso de tiempo previamente definidos. La gestin de proyectos es la aplicacin de conocimientos, habilidades, herramientas y tcnicas a las actividades de un proyecto para satisfacer los requisitos del proyecto. Un proyecto es un emprendimiento que tiene lugar durante un tiempo limitado, y que apunta a lograr un resultado nico. Surge en base a una necesidad, acorde con la visin de la organizacin, aunque sta puede desviarse en funcin del inters. El proyecto finaliza cuando se obtiene el resultado deseado, desaparece la necesidad inicial, o se agotan los recursos disponibles.

Primero se definir Gestin de Proyectos: La gestin de proyectos es la disciplina de organizar y administrar recursos de manera tal que se pueda culminar todo el trabajo requerido en el proyecto dentro del alcance, el tiempo, y coste definidos. Un proyecto es un esfuerzo temporal, nico y progresivo, emprendido para crear un producto o un servicio tambin nico. 23

La mayora de los proyectos tienen unas caractersticas y atributos comunes: Objetivo (poner los pies en la tierra; la naturaleza del proyecto debe ser real, sustentable y medible) Calendario de Actividades (debe tener un programa de actividades o plan de trabajo) Complejo (no es nada sencillo y est compuesto por mltiples elementos) Demanda recursos (Requiere habilidades, conocimientos, capital y esfuerzo humano de diversas reas de una organizacin o comunidad) Estructura organizacional (tiene roles y responsabilidades, ej. gerente de proyecto, lder de proyecto, sponsor, clientes, etc) Sistema de Control e Informacin (por lo menos un sistema manual o automatizado de registrar la documentacin e informacin relacionada al proyecto)

Los proyectos de desarrollo de software se diferencian de los otros proyectos de ingeniera tradicional en la naturaleza lgica del producto software. Recordemos que el software se desarrolla, no se fabrica en un sentido clsico. En todos los proyectos de ingeniera la buena calidad se 24

adquiere mediante un buen diseo, pero en el caso del software, la etapa de construccin incide pobremente en su calidad, no as en la construccin de hardware o de una obra civil. Otra diferencia es que el software no se estropea, el paso del tiempo o males del entorno no inciden en el aumento de la tasa de fallas. As, no se puede gestionar un proyecto de desarrollo de software como si se tratara de un proyecto de fabricacin. La gestin del proyecto de software es el primer nivel del proceso de ingeniera de software, porque cubre todo el proceso de desarrollo. Para conseguir un proyecto de software fructfero se debe comprender el mbito del trabajo a realizar, los riesgos en los que se puede incurrir, los recursos requeridos, las tareas a llevar a cabo, el esfuerzo (costo) a consumir y el plan a seguir. Este apunte cubre los tpicos ms relevantes de la gestin de proyectos aplicada al rea especfica de la ingeniera de software, de modo de proveer las bases conceptuales necesarias para ejercer competentemente el cargo de jefe de proyectos de desarrollo de software u otro cargo similar. La gestin eficaz de un proyecto de software se centra en las cuatro Ps: personal, producto, proceso y proyecto. El orden no es arbitrario. El gestor que se olvida de que el trabajo de ingeniera del software es un esfuerzo humano intenso nunca tendr xito en la gestin de proyectos. Un gestor que no fomenta una minuciosa comunicacin con el cliente al

25

principio de la evolucin del proyecto se arriesga a construir una elegante solucin para un problema equivocado. El administrador que presta poca atencin al proceso corre el riesgo de arrojar mtodos tcnicos y herramientas eficaces al vaco. El gestor que emprende un proyecto sin un plan slido arriesga el xito del producto. Personal La necesidad de contar con personal para el desarrollo del software altamente preparado y motivado se viene discutiendo desde los aos 60 (por ejemplo, [COUSO, WT94, DEM981). De hecho, el factor humano es tan importante que el Instituto de Ingeniera del Software ha desarrollado un Modelo de madurez de la capacidad de gestin de personal (MMCGP) para aumentar la preparacin de organizaciones del software para llevar a cabo las cada vez ms complicadas aplicaciones ayudando a atraer, aumentar, motivar, desplegar y retener el talento necesario para mejorar su capacidad de desarrollo de software [CUR94]. El modelo de madurez de gestin de personal define las siguientes reas clave prcticas para el personal que desarrolla software: reclutamiento, seleccin, gestin de rendimiento, entrenamiento, retribucin, desarrollo de la carrera, diseo de la organizacin y del trabajo y desarrollo cultural y de espritu de equipo.

26

El MMCGP es compaero del modelo de madurez de la capacidad software, que gua a las organizaciones en la creacin de un proceso de software maduro. Producto Antes de poder planificar un proyecto, se deberan establecer los objetivos y el mbito del producto, se deberan considerar soluciones alternativas e identificar las dificultades tcnicas y de gestin. Sin esta informacin, es imposible definir unas estimaciones razonables (y exactas) del coste; una valoracin efectiva del riesgo, una subdivisin realista de las tareas del proyecto o una planificacin del proyecto asequible que proporcione una indicacin fiable del progreso. El desarrollador de software y el cliente deben reunirse para definir los objetivos del producto y su mbito. En muchos casos, esta actividad empieza como parte del proceso de ingeniera del sistema o del negocio y contina como el primer paso en el anlisis de los requisitos del software. Los objetivos identifican las metas generales del proyecto sin considerar cmo se conseguirn (desde el punto de vista del cliente). El mbito identifica los datos primarios, funciones y

comportamientos que caracterizan al producto, y, ms importante, intenta abordar estas caractersticas de una manera cuantitativa.

27

Una vez que se han entendido los objetivos y el mbito del producto, se consideran soluciones alternativas.

Proceso Un proceso de software (Captulo 2) proporciona la estructura desde la que se puede establecer un detallado plan para el desarrollo del software. Un pequeo nmero de actividades estructurales se puede aplicar a todos los proyectos de software, sin tener en cuenta su tamao o complejidad. Diferentes conjuntos de tareas -tareas, hitos, productos del trabajo y puntos de garanta de calidad- permiten a las actividades estructurales adaptarse a las caractersticas del proyecto de software y a los requisitos del equipo del proyecto. Finalmente, las actividades protectoras -tales como garanta de calidad del software, gestin de la configuracin del software y medicincubren el modelo de proceso. Las actividades protectoras son independientes de las estructurales y tienen lugar a lo largo del proceso. Proyecto Dirigimos los proyectos de software planificados y controlados por una razn principal -es la nica manera conocida de gestionar la complejidad-. Y todava seguimos esforzndonos. En 1998, los datos de la industria del software indicaron que el 26 por 100 de proyectos de software fallaron completamente y que el 46 por 100 experimentaron un 28

desbordamiento en la planificacin y en el coste [REE99]. Aunque la proporcin de xito para los proyectos de software ha mejorado un poco, nuestra proporcin de fracaso de proyecto permanece ms alto del que debera ser. Para evitar el fracaso del proyecto, un gestor de proyectos de software y los ingenieros de software que construyeron el producto deben eludir un conjunto de seales de peligro comunes; comprender los factores del xito crticos que conducen a la gestin correcta del proyecto y desarrollar un enfoque de sentido comn para planificar, supervisar y controlar el proyecto.

El Principio W5HH En un excelente documento sobre proyectos y proceso del software, Bany Boehm [BOE96] afirma: ... se necesita un principio de organizacin que haga una simplificacin con el fin de proporcionar planes [de proyectos] sencillos para proyectos pequeos. Boehm sugiere un enfoque que trate los objetivos, hitos y planificacin, responsabilidades, enfoque tcnico y de gestin, y los recursos requeridos del proyecto. Bohem lo llama el principio WWWWWHH, despus de una serie de preguntas que conducen a la definicin de las caractersticas clave del proyecto y el plan del proyecto resultante: 1. Por qu se desarrolla el sistema? La respuesta a esta pregunta permite a todas las partes evaluar la validez de las razones del 29

negocio para el trabajo del software. Dicho de otra forma, Justifica el propsito del negocio el gasto en personal, tiempo, y dinero? 2. Qu se realizar y cundo? La respuesta a estas preguntas ayuda al equipo a establecer la planificacin del proyecto identificando las tareas clave del proyecto y los hitos requeridos por el cliente. 3. Quin es el responsable de una funcin? anteriormente, se seal que el papel y la responsabilidad de cada miembro del equipo de software debe estar definida. La respuesta a la pregunta ayuda a cumplir esto. 4. Dnde estn situados organizacionalmente? No todos los roles y responsabilidades residen en el equipo de software. El cliente, los usuarios, y otros directivos tambin tienen responsabilidades. 5. Cmo estar realizado el trabajo desde el punto de vista tcnico y de gestin? Una vez establecido el mbito del producto, se debe definir una estrategia tcnica y de gestin para el proyecto. 6. Qu cantidad de cada recurso se necesita? La respuesta a esta pregunta se deriva de las estimaciones realizadas basadas en respuestas a las preguntas anteriores. El principio W5HH de Boehm es aplicable sin tener en cuenta el tamao o la complejidad del proyecto de software. Las preguntas sealadas proporcionan un perfil de planificacin al gestor del proyecto y al equipo de software.

30

Conclusin
Antes de la existencia de los estndares internacionales y mejores prcticas, los departamentos de Tecnologa de Informacin trabajaban con mucha intensidad y pese a esto, los clientes manifestaban descontento: nadie poda predecir cunto tiempo tomaba la resolucin de un problema; era difcil precisar el estado de los componentes de tecnologa; y lo que es peor, pareca que todas las personas de TI trabajaban de manera aislada, y no era comn el uso de criterios para medir su rentabilidad, eficacia y la calidad del servicio ofrecidos a toda la organizacin. De all surgi la necesidad del concepto de ingeniera de software y su serie de normas y concepciones de lo que debe ser el proceso de desarrollo de software. Se debe ver al software como un todo que incluye la documentacin de procesos, manuales de uso as como manuales para el mantenimiento del sistema adems de la aplicacin final con la que interacta el usuario. Y se debe tomar en cuenta que una buena planificacin beneficia el desarrollo del producto final y trae como consecuencia el desarrollo de aplicaciones de mayor calidad, ms robustas, con un gasto de mantenimiento mnimo y un alto grado de aceptacin por parte del usuario final.

31

Referencias Bibliogrficas

Roger Pressman. Ingeniera del Software: Un Enfoque Practico. McGraw-Hill. 2006 Ian Sommerville. Ingeniera de Software. Pearson. 2005 http://www.mitecnologico.com/Main/ImportanciaIngenieriaDelSoftw are http://es.wikipedia.org/wiki/Gesti%C3%B3n_de_proyectos

32