Gestion De Riesgos En Proyecto De Software A Desarrollar En . - Core

Transcription

View metadata, citation and similar papers at core.ac.ukbrought to you byCOREprovided by Repositorio Documental UMNGGESTION DE RIESGOS EN PROYECTO DE SOFTWARE A DESARROLLAR ENEMPRESA PRIVADADIRECTOR DE TRABAJO DE GRADO:ING. FREDDY LEON REYES M.ED.PRESENTADO PORMARIA LILIANA ARAQUE JIMENEZCODIGO: 1301040UNIVERSIDAD MILITAR NUEVA GRANADAESPECIALIZACION GERENCIA INTEGRAL DE PROYECTOSFACULTAD DE INGENIERIABOGOTA D.C, NOVIEMBRE 09 DE 2015

GESTION DE RIESGOS EN PROYECTO DE SOFTWARE A DESARROLLAR ENEMPRESA PRIVADARISK MANAGEMENT IN SOFTWARE PROJECT TO DEVELOP IN PRIVATEENTERPRISEMaría Liliana Araque JiménezIngeniera de SistemasAnalista CalidadQuality Vision TechnologiesBogotá D.C, Colombiamaliarji0927@hotmail.comRESUMENEn la actualidad las empresas desarrolladoras de software enfrentan un elementocrítico en el proceso de desarrollo de productos de software, que son los riesgos quese presentan a nivel de cada una de las fases del desarrollo, estos deben ser objetode una gestión adecuada la cual debe ser iniciativa por la gerencia, supervisada ycontrolada por cada uno de los jefes de las áreas importantes involucradas en eldesarrollo de software. La gestión de riesgos en proyectos de software es una actividadexpresada en múltiples metodologías, pero en la práctica se aplican de forma particulardependiendo la lógica del negocio de cada organización.En este artículo se evidencia la gestión de riesgos para el desarrollo de un softwarepara una entidad privada basada en la guía del PMBOK, donde se hace unaidentificación de los riesgos más importantes en cada una de las fases del desarrollo,de igual forma se hace un análisis cualitativo, por medio del cual se haya laprobabilidad de ocurrencia y el impacto de cada uno de los riesgos identificados,seguidamente se hace una clasificación por el nivel del riesgo, para posteriormenteproponer un plan de respuesta a los riesgos más críticos. Esta gestión debe cumplircon un adecuado control y seguimiento, el cual permitirá llevar a cabo unaidentificación de nuevos riesgos o actualización de los planes de respuesta existentes,con el objetivo de prever los posibles riesgos negativos que se puedan llegar amaterializar durante el desarrollo del software.Palabras clave: Requerimiento, Riesgo, Gestión de Riesgos, PMBOK, Impacto,Probabilidad, desarrollo de software, fase.

ABSTRACTAt present, software development companies face a critical element in the developmentprocess of software products, which are the risks that arise at the level of each of thestages of development, they should be subject to appropriate management which mustbe initiative by manager, supervised and controlled by each of the heads of the majorareas involved in software development. Risk management in software projects is anactivity expressed in multiple methodologies, but in practice are applied in a particularway depending on the business logic of each organization.In this article, risk management for the development of software for a private entitybased on the PMBOK Guide, where the identification of the most important risks isdone is evident in each of the phases of development, just as it is done a qualitativeanalysis, through which the likelihood and impact of each risk has been identified, thena classification by risk level, later to propose a plan to respond to the most critical risks.This management should comply with adequate control and monitoring, which will allowto carry out an identification of new risks or update existing mitigation plans, in order toanticipate possible negative risks that may come to realize during developmentsoftware.Keywords: Requirement, Risk, risk management, PMBOK, Impact, Probability,software development, fhase.INTRODUCCIONLa entidad financiera de caso de estudio [1], cuenta con una acreditación de más de45 años, durante los cuales se ha caracterizado por su fidelidad, cumplimiento con susclientes y la efectividad de sus operaciones. Inicialmente operaciones locales, y en laactualidad con su servicio de 24/7, con la ayuda de la plataforma tecnológica quepermite la ejecución de operaciones a nivel electrónico, apoyado por un gran equipode talento humano y tecnológico hacen de la entidad una de las mejores a nivelnacional.Todas las estructuras tecnológicas que apoyan a la entidad con sus operacionesbancarias, no solo aportan una mayor efectividad y cobertura, sino que también traenconsigo diferentes riesgos que pueden afectar significativamente los procesos, poreste motivo se ve la necesidad de realizar una apropiada gestión de los riesgos en lasfases de análisis, diseño, codificación, pruebas y entrega del software y poderproponer estrategias de mitigación de los mismos con el fin de asegurar cada una deestas etapas.Según el PMBOK, el riesgo de un proyecto es un evento o condición incierta que, deproducirse, tiene un efecto positivo o negativo en uno o más de los objetivos delproyecto, tales como el alcance, el cronograma, el costo y la calidad. Un riesgo puedetener una o más causas y, de materializarse, uno o más impactos. Una causa puedeser un requisito especificado o potencial, un supuesto, una restricción o una condición

que crea la posibilidad de consecuencias tanto negativas como positivas. Por lo tantoes de vital importancia realizar una adecuada gestión de riesgos donde se dé inicio enla primera fase del proyecto, para llevar seguimiento y controles adecuados de estosen cada una de las fases del desarrollo del software, hasta la aceptación del productodel proyecto.Para la gestión de riesgos se ha tomado como referencia la guía del PMBOK,definiendo una metodología de gestión de riesgos la cual establece la Identificación,evaluación, plan de respuesta a riesgos, seguimiento y control, secuenciales eiterativos. Los cuales aseguraran efectividad del plan de gestión de riesgos sobre elproyecto en cuestión, por tal motivo para el proyecto de desarrollo de software sebusca identificar los posibles riesgos que se pueden presentar, de igual formacategorizarlos evidenciando su probabilidad de ocurrencia e impacto en el proyecto yal final proponer unas estrategias de mitigación del riesgo en caso de llegar amaterializarse. [2] Con lo anterior se asegura que el desarrollo del proyecto cumplecon una adecuada planeación, en la cual se pueden prever los posibles riesgos quepueden generar alteraciones en el curso normal de este.El desarrollo de software en la actualidad, cuenta con gran importancia en la partefinanciera del país, debido al crecimiento de transacciones electrónicas, generadas porla evolución de la tecnología y los sistemas, esto genera una serie de desarrollos desoftware que satisfacen estas necesidades, pero se ve con preocupación que en losproyectos de desarrollo de software actualmente no se tiene la cultura de serprevenidos en realizar una adecuada gestión de riesgos a pesar de saber que un riesgoes un gran problema donde llegue a ocurrir. La empresa específicamente para esteproyecto no cuenta con una gestión de riesgos por tal motivo se evidencia unanecesidad en este tema, que es de gran importancia en el desarrollo del proyecto paraayudar al equipo de trabajo de software a comprender y manejar la incertidumbre.Teniendo en cuenta que para este proyecto se evidencia la ausencia de una gestiónde riesgos, se dispuso del siguiente objetivo general llamado “Gerencia de riesgos enproyecto de software a desarrollar en empresa privada”, haciendo de esta manera queel proyecto reduzca la vulnerabilidad a eventos o condiciones que afecte el resultadodel mismo.Con los riesgos existentes hoy en día en cada uno de los proyectos desarrollados anivel software, se evidencia la necesidad de desarrollar métodos que nos permitanidentificar la probabilidad de ocurrencia e impacto de un evento atípico, facilitando elcontrol de los mismos en el caso de que se presenten en las diferentes etapas dedesarrollo. Con la utilización de una matriz de riesgos, se puede observar los impactosque estos ocasionan en el momento de materializarse, a nivel de las fases dedesarrollo de software, permitiendo con los resultados arrojados tomar decisiones yejecutar las medidas de mitigación necesarias para contrarrestar impactos negativosque estos pueden generar.

3. MATERIALES Y METODOSLa investigación desarrollada es de tipo exploratoria considerando que aunque laimportancia de gestionar los riesgos en los proyectos de Software es conocida deforma general, no lo es a un nivel más particular, orientado a las fases del ciclo de vidadel desarrollo de software; por tal razón las fuentes de información trabajadas son“Fuentes Secundarias” que son las búsquedas en Internet de bases virtuales,repositorio Universidad Militar Nueva Granada (UMNG), publicaciones, referencia delibros, artículos en las cuales se pueda evidenciar la gestión de riesgos en el desarrollode proyectos informáticos detectando rasgos comunes, sugerencias y guías para sugestión los cuales puedan ser considerados como experiencia y buenas prácticas parala adaptación al proyecto de la empresa privada, “Fuente Experiencia y Conocimiento”el cual se obtiene conocimiento y experiencia de algunos procesos de las fases dedesarrollo de proyecto de software, esto dado a la participación activa en diversosproyectos tanto en banca como en telecomunicaciones, apoyados en la fase deanálisis, pruebas funcionales y pruebas técnicas. La metodología a utilizar para eldesarrollo de este artículo se basa en la descripción de las cinco fases del desarrollode software, en las cuales se realizara una adecuada gestión de los riesgos.3.1 DESCRIPCION DE LAS FASES DEL DESARROLLO DE SOFTWARE3.1.1 FASE DE ANÁLISISEsta fase es la primera y es la de mayor importancia, ya que es la base para continuarcon las demás fases del desarrollo de software. El objetivo de esta fase es ladescripción del propósito del sistema, donde el cliente, ingeniero de requerimientos yusuarios identifican el problema y posteriormente definen a través de lenguaje naturalun sistema que da solución al problema sin generar ambigüedades. En esta fasedespués del estudio del arte realizado, se definieron los procesos de captura derequerimientos, análisis y negociación de requerimientos, especificación derequerimientos, validación de requerimientos y documentación de requerimientos. [3,4]Figura 1. Procesos de la Fase de Análisis3.1.1.1 Captura de Requerimientos: Es el proceso por medio del cual se obtienen ocapturan los requerimientos funcionales y no funcionales donde los primeros hacereferencia a las interacciones entre el usuario y el sistema, los segundos tratan sobrelas restricciones o atributos del sistema como tiempo de respuesta y precisión. Se dainicio con la extracción de datos al cliente y usuarios finales del sistema haciendo uso

de técnicas eficientes y seguras tales como introspección, entrevistas de cuestionarios,entrevistas de final abierto y discusiones, etc.3.1.1.2 Análisis y Negociación de Requerimientos: En el análisis de requerimientosse descubre problemas en la captura de requerimientos, se evalúa la necesidad detodos los requisitos, se analiza su consistencia y completitud, se asegura la viabilidaden cuanto a la parte técnica, de costes, y planificación. Seguidamente se pasa a lanegociación de requerimientos donde se discute las inconsistencias, limitaciones,carencias encontradas y finalmente llegar a un mutuo acuerdo que satisfaga a todoslos usuarios para así poder realizar la priorización de requerimientos.3.1.1.3 Especificación de Requerimientos: Es el proceso por medio del cual sedescribe a manera de borrador los requerimientos ya que está sujeto a modificaciones.3.1.1.4 Validación de Requerimientos: La validación la realiza un equipo integral quepuede estar conformado por ingeniero de requerimientos, desarrollador, cliente yusuarios con el fin de detectar y corregir errores, ambigüedades u omisiones paragarantizar la consistencia y precisión de los requerimientos. También se evalúa quelos requerimientos acordados son los que realmente definen el sistema que el clientenecesita y quiere ver como producto final.3.1.1.5 Documentación de Requerimientos: Se realiza la documentación oficial decada uno de los requerimientos acordados, de forma clara, detallada y verificable.3.1.2 FASE DE DISEÑOEl diseño de un sistema de información produce los elementos que establecen cómoel sistema cumplirá los requerimientos identificados durante la fase de análisis. A estafase se le conoce también con el nombre de Diseño Lógico.El primer paso en el diseño de sistemas es identificar los informes y las salidas que elsistema producirá; a continuación los datos específicos de cada uno de éstos seseñalan, incluyendo su visualización exacta sobre el papel, la pantalla de despliegueo cualquier otro medio.El diseño también describe los datos calculados y/o almacenados en la base de datos.Los datos y los procedimientos de cálculo se describen con detalle. Se seleccionan lasestructuras de los archivos y los dispositivos de almacenamiento, como son discos ocintas magnéticas o papel. Los procedimientos deben mostrar cómo se van a procesarlos datos y cuáles van a ser las salidas. Los documentos que contiene lasespecificaciones del diseño se pueden representar por medio de diagramas, tablas ysímbolos especiales. El último paso del diseño es pasar el documento de diseño algrupo de desarrollo para que se inicie la fase de codificación del software. Por lo tantodespués de realizar el análisis respectivo de la fase se propone los procesos de Diseñode datos, Diseño Arquitectónico, Diseño Procedimental, Diseño de Interfaz de usuario,Documento de Diseño Preliminar, Documento de Diseño Detallado como se puedeobservar en la siguiente figura. [7].

Figura 2. Procesos de la Fase de Diseño.3.1.2.1 Diseño de Datos: Se toma el documento de requerimientos y se definenaspectos, como los tipos de datos que se requieren para lograr el funcionamientocorrecto de toda la aplicación, al igual, estos datos pueden ser registros, archivos obases de datos. De igual forma se tiene que definir aquellas personas o entidades quevan a estar involucradas, al igual que las relaciones que se pueden presentar entreestos dependiendo el tipo de procesos u operaciones que deba cumplir la aplicación.Es de suma importancia definir las reglas que se deben seguir esto para establecer loscriterios de cómo se deben realizar los procesos para que ejecuten estrictamente loque se desea.El diseño de datos consiste en definir completamente los procesos y las característicasde los datos de la aplicación, este puede ser un proceso donde se perfecciona desdelo elemental como los datos que requiere la aplicación hasta los procesos en los cualesintervienen, con un buen diseño de datos se puede garantizar, que el acceso a losdatos de la aplicación se llevara de manera ágil, y se podrán mantener, al igual quepuede aceptar mejoras a los datos que se requieran realizar más adelante. En esteproceso se identifican los datos, la definición de tipo de estos datos, y los mecanismosde almacenamiento adecuados, también se definen reglas de empresa y mecanismosde exigencia los cuales garanticen la integridad de los datos [8].3.1.2.2 Diseño Arquitectónico: En este se define la relación entre los principaleselementos estructurales del software. Patrones de diseño que se puedan presentar, yque ayuden a cumplir los requisitos que se han definido para el sistema. Y lasdiferentes restricciones que puedan afectar la aplicación de los patrones de diseñoarquitectónico. Es el proceso que identifica todos los subsistemas existentes yestablece un marco para el control y la comunicación entre todos estos subsistemas,se identifican los principales componentes del sistema y las comunicaciones quepuedan existir entre estos. Existen ventajas con el diseño arquitectónico que pueden

facilitar este proceso, la comunicación con los usuarios, esto facilita la discusión entrediferentes usuarios involucrados, otra es el análisis del sistema, lo que permite tenercontrol sobre los requerimientos críticos del sistema, rendimiento, fiabilidad, ymantenibilidad y por último la reutilización a gran escala, esto dado a que laarquitectura del sistema es a menudo la misma para sistemas con requerimientossimilares, y esto permite que se pueda llevar a cabo una reutilización a gran escala, aveces es posible desarrollar arquitecturas que se pueden utilizar en varios sistemas[8].3.1.2.3 Diseño Procedimental: Este transforma los elementos estructurales en unadescripción procedimental del software. Es la especificación mediante herramientasde modelado (Star UML, Vsparading) tales como algoritmos, diagramas de flujo, delfuncionamiento interno de cada uno de los módulos que compone el sistema, definidosen los subproceso Arquitectónico y las relaciones u operaciones que deben realizardentro de la aplicación final, esto permite al desarrollador tener una visión másdetallada del procedimiento de desarrollo que se debe realizar, estos diagramas yalgoritmos definidos se convertirán en parte funcional de la aplicación ya que contienenlos componentes primarios y secundarios, las relaciones y operaciones que se debenrealizar entre ellos para cumplir cada uno de los requerimientos del cliente [9].3.1.2.4 Diseño de Interfaz: En esta se define cada una de las interfaces que se van autilizar para permitir la interacción de la aplicación como tal, existen diversos aspectosque se deben tener en el diseño de interfaz, aspectos como navegación, amigabilidad,colores, ayuda, control de acceso, textos, entre otros. Teniendo en cuenta losanteriores aspectos podemos garantizar que el diseño de interfaz va a cumplir con lanecesidad para la cual es creado, ya que este finalmente va ser el utilizado por elcliente como mecanismo para interactuar y operar los diferentes componentes quevienen inmersos en la aplicación final [10].3.1.2.5 Documento de Diseño Preliminar: Se centra en la transformación de losrequerimientos de la fase de análisis, en datos y la arquitectura propia del desarrollode software.3.1.2.6 Documentos de Diseño Detallado: Se ocupa del refinamiento y de larepresentación arquitectónica que lleva a una estructura de datos refinada y a lasrepresentaciones a través de diagramas de flujo del software.3.1.3 FASE DE CODIFICACIÓNDespués de terminar la fase de diseño, se inicia la fase de codificación lo que en ellenguaje de ingeniería se conoce como la programación, se toman los algoritmos y sellevan a un lenguaje de programación determinado, este lenguaje es escogidodependiendo su utilidad y la necesidad de la aplicación si es adaptable o no a lorequerido por el programador. Después de realizar un análisis a la base teórica de estafase se procede a proponer los subprocesos de codificación, depuración del código,pruebas de unidad, pruebas de componentes, pruebas de integración, documentotécnico como se observa en la siguiente figura.

Figura 3. Procesos de la Fase de Codificación3.1.3.1 Codificación: Este proceso lo compone los subprocesos de “Código Fuente”el primer paso en la codificación y consta de líneas de texto, que son instruccionesque se deben seguir para ejecutar el programa, “Código Objeto” es el resultado dellevar a cabo la compilación del código fuente, “Código Ejecutable” es el que nospermite saber que la compilación tuvo éxito, y verifica que en el programa no existanerrores de manejo, de esta forma si no se encuentran errores se dice se dice que elprograma funciona correctamente, ya que está libre de errores de variables, signo yotros, “Código Compilador” es el programa informático que permite traducir el códigofuente de un programa en lenguaje de alto nivel (Lenguaje cercano a cómo piensa elhumano), a un lenguaje de bajo nivel (Lenguaje de máquina), de esta forma elcompilador reporta los posibles errores encontrados en el código fuente, “CódigoMáquina” es el que proviene de la tarea de compilación efectuada directamente sobreel código fuente, con el que se obtiene posteriormente el (Bytecode), que es laintegración de distintos archivos que forman parte de ejecutables para que elordenador pueda hacer uso del código programado anteriormente [11].3.1.3.2 Depuración Del Código: Es el proceso de identificar la raíz de un error ycorregirlo, la depuración representa el 50% del tiempo de desarrollo de un programa,la mayoría de errores y fallas son mecanográficas, las cuales pueden ser detectadascon facilidad, con la ayuda de la observación del código o con ayuda del depurador.3.1.3.3 Pruebas De Unidad: Estas también llamadas pruebas de caja blanca, opruebas modulares ya que estas nos permiten determinar si un módulo del programaestá listo y correctamente terminado, para estas pruebas se debe tener en cuenta eltamaño de los módulos y preferiblemente separarlos acuerdo a su funcionalidad. Elobjetivo de las pruebas unitarias es el aislamiento de partes de código y demostrar queestas no contienen errores. Los beneficios de estas pruebas son Simplificación de laintegración, Refactorización del código, Documentación, y Diseño.3.1.3.4 Pruebas De Componentes: En este se llevan a cabo pruebas a componentesde manera individual, con este se logra encontrar defectos internos dentro de este.Por medio de un caso de prueba se debe probar la funcionalidad de ese componentede esta manera se confirma la buena ejecución del componente, de igual forma conestas pruebas se determina la resistencia que este pone a entradas de datos inválidos.

3.1.3.5 Pruebas De Integración: También llamadas pruebas de interfaz compruebala integración entre los diferentes componentes después de la integración de todos losmódulos o componentes que integran el sistema.3.1.3.6 Documento Técnico: En el documento se describe de forma general laejecución de cada proceso que se ha codificado, de igual forma se debe describir lafuncionalidad y operatividad de cada componente. También se especifica los paquetesque intervienen si se debe realizar algún despliegue, especificación e interacción de labase de datos, especificar como se deben ingresar cada uno de los datos para laejecución de los componentes o de la aplicación, especificar y demostrar la correctautilización de cada una de las interfaces utilizadas, y la correcta navegación y ejecuciónde cada uno de los procesos que se ejecutan dentro de la aplicación por parte delusuario [11].3.1.4. FASE DE PRUEBASEn esta fase se realiza una verificación dinámica del comportamiento de la codificacióndel software contra el comportamiento esperado según los requerimientos definidosen el documento de la fase de análisis, haciendo uso de un conjunto de casos depruebas, seleccionados de manera adecuada según los diferentes escenarios que sepueden presentar por cada validación puntual del software que se desee probar.Las pruebas están enfocadas principalmente en la evaluación o valoración de laCalidad de los productos software, permitiendo Encontrar y documentar defectosexistentes, Sugerir mejoras según la calidad percibida, Validar que los requisitos esténimplementados correcta y completamente [5,6]. A partir del estudio realizado de la fasese dedujo los subprocesos, los cuales contribuyen a la eficiente ejecución de pruebasde software, para posteriormente certificar el desarrollo del software, los cuales seobservan en la siguiente figura.Figura 4. Procesos de la Fase de Pruebas3.1.4.1 Planeación: Se define como una preparación y planificación en la cual secontextualiza al grupo de pruebas sobre la aplicación o software a probar, se estableceel entorno de pruebas, se disponen de los procedimientos y los criterios a aplicar enlas pruebas, también se selecciona la estrategia de pruebas adecuada. La planificación

de pruebas es de suma importancia en la fase de pruebas ya que es la base para lossubsiguientes procesos de la misma fase, por tanto se debe tener claro los TiposPruebas, Numero de Ciclos de pruebas, Recursos Físicos, Recursos humanos,Calendario de pruebas, Restricciones/Limitaciones, Dependencias.3.1.4.2 Diseño: Identificar y describir los casos de prueba y escenarios identificadosen los requerimientos recibidos del cliente, los cuales serán ejecutados posteriormenteen la fase de ejecución. Además, permite identificar el conjunto de datos que serviránpara ejecutar las pruebas, crear nuevos casos de prueba necesarios que seandetectados en el transcurso del proyecto y controlar la cobertura de los requerimientosdados.3.1.4.3 Ejecución: Realizar la ejecución de todos los casos de prueba que fuerondiseñados en la fase de Diseño y lograr los objetivos propuestos en la fase dePlaneación, mediante la adecuada gestión de incidencias encontradas, elmantenimiento de la trazabilidad de los casos de prueba ejecutados y el seguimientoy control del estado de las pruebas.3.1.4.4 Evaluación: Determinar si los criterios de completitud definidos para unrequerimiento han terminado a satisfacción y valorar los resultados generados. Sepretende igualmente establecer la calidad del producto desarrollado y del procesomismo. Para ello se prepara un informe final con un balance del proyecto,proporcionando una valoración del cumplimiento de las actividades planeadas y de lacalidad en general del proyecto y del producto obtenido. Generando como entregablesel resumen de pruebas, carta de certificación y el documento de lecciones aprendidas.3.1.5 FASE DE ENTREGAEn esta fase se realizan las diferentes actividades para poner a disposición de losusuarios la aplicación desarrollada, se hace la preparación de la infraestructuranecesaria para configurar el entorno, la instalación de los componentes, la activaciónde los procedimientos manuales y automáticos asociados, y cuando sea necesario lamigración o carga inicial de datos. Adicional a esto se debe cumplir con la capacitacióna los usuarios finales, en esta se debe garantizar la correcta puesta en marcha, y lacorrección de los errores que se lleguen presentando al momento de la integración conel ambiente del cliente. Donde finalmente se debe obtener la firma del acta de entregapor parte del cliente. [12] En esta fase se entrega la última versión del proyecto probaday aprobada; con el análisis realizado a la base documental se procese a proponer lossubprocesos más importantes como se plasman en la siguiente figura.

Figura 5. Procesos de la Fase de Implementación3.1.5.1 Instalación de Hardware y Despliegue de Software: En esta se procede arealizar la instalación de todos los elementos tecnológicos que permitirán instalar yejecutar la aplicación de proyecto, los cuales deben cumplir requisitos mínimos que sedeterminaron en la fase de pruebas del proyecto, con esto se garantiza que se poseela estructura de hardware sobre la cual va a estar bien sementado el software que seva a requerir para garantizar la funcionalidad del producto de software.3.1.5.2 Personalización: En esta se debe adaptar la aplicación a los requerimientosdel usuario final, en esta se ajustan los parámetros establecidos en el software a lasparticularidades que necesita el cliente.3.1.5.3 Capacitación a Usuarios Finales: En esta fase se realiza un plan decapacitación a usuarios finales, donde se debe impartir tanto conocimiento de lainformación que controlara la aplicación, como la forma de operación de la misma, conesto se cumple con un requisito indispensable. Se imparte capacitación a losadministradores de la aplicación, como a los usuarios finales, el objetivo es no creardificultades ni resultados erróneos con la ejecución de la aplicación.3.1.5.4 Prueba Piloto: Es aquella que se realiza en un ambiente vivo del cliente endonde se observa su funcionamiento y los errores que se van evidenciando se vancorrigiendo sobre la marcha de esta prueba esta es indispensable ya que es la antesalaa la entrega final del proyecto al cliente.3.1.5.5 Estabilización: En este proceso se van integrando cada una de lasfuncionalidades contenidas en el proyecto, donde se realizan unas pruebas llamadas“pruebas beta”, con estas al ejecutarlas se va observando su operación y se vancorrigiendo los errores, esto se realiza hasta que se hayan incorporado todas lasfuncionalidades, con esto lo que se busca es tener un producto estableoperacionalmente.

3.1.5.6 Puesta en Marcha de la Aplicación Completa: En esta se tiene la aplicaciónen funcionamiento directamente en el ambiente del cliente, en esta finalmente esdonde se obtiene la aceptación del cliente y se firma el acta de entrega del productode software [13].3.2 GESTIÓN DE RIESGOS EN LAS FASES DEL DESARROLLO DE SOFTWAREEN LA EMPRESA PRIVADALos riesgos según el PMBOOK se define como la probabilidad de que ocurra un eventoya sea positivo o negativo, en caso de ser positivo se considera como una oportunidady si es negativo representa una amenaza, que puede afectar la ejecución del proyectoya sea en el alcance, tiempo, costo, y calidad del producto o servicio.Los Tipos de Riesgos son “Riesgos Conocidos” que hacen referencia a los que hansido identificados y analizados, lo cual permite planificar el plan de respuesta a estosy se les debe asignar una reserva para contingencias, los “Riesgos Desconocidos”hacen referencia a los riesgos que se desconocen y se les puede asignar una reservade gestión. También es importante tener en cuenta que existe una “Probabilidad deOcurrencia” que hace referencia a la medida para estimar la posibilidad de que ocurraun incidente o evento.3.2.1 Relación del Riesgo con las fases del desarrollo de softwareLos riesgos se reflejan desde el inicio del proyecto, por esta razón se debe realizar lagestión en el grupo de procesos de planificación del proyecto. De igual forma estagestión debe ser aplicada a cada una de las fases del desarrollo de software, lo cualpermitirá garantizar la disminución de riesgos presentes en estas, evitando sobrecostos y demoras en el proyecto. Lo anterior se representa en la siguiente figura.Figura 6. Relación del Riesgo con las fases del desarrollo de Software

3.2.2 Gestión De RiesgosLa gestión de riesgos puede definirse como el

importancia de gestionar los riesgos en los proyectos de Software es conocida de forma general, no lo es a un nivel más particular, orientado a las fases del ciclo de vida del desarrollo de software; por tal razón las fuentes de información trabajadas son "Fuentes Secundarias" que son las búsquedas en Internet de bases virtuales,