gestion de proyectos de tecnologias de informacion

47
GESTION DE PROYECTOS DE GESTION DE PROYECTOS DE TI TI

Upload: elias-ruiz

Post on 26-Sep-2015

10 views

Category:

Documents


0 download

DESCRIPTION

Gestión de proyectos de tecnologías de la informacion

TRANSCRIPT

  • GESTION DE PROYECTOS DE TI

  • Metodologas de Desarrollo de SoftwareTema:Introduccin a la Ingeniera de Software

  • AgendaAgenda

    La Ingeniera de Software.Modelado de Sistemas.

  • 1.- La Ingeniera de Software

  • 1.- La Ingeniera de Software El considerar que un proyecto de desarrollo de software poda abordarse como cualquier otro ha llevado a una serie de problemas

    El identificar dichos problemas y conocer sus causas es el nico mtodo que nos puede llevar hacia su solucin.

  • 1.- La Ingeniera de Software La ingeniera del software abarca un conjunto de tres elementos clave: mtodos, herramientas y procedimientos Los mtodos indican cmo construir tcnicamente el software, y abarcan una amplia serie de tareas que incluyen:La planificacin y estimacin de proyectos, El anlisis de requisitosEl diseo de estructuras de datosProgramas y procedimientos La codificacin Las pruebas El mantenimiento.

  • 1.- La Ingeniera de Software Las herramientas proporcionan un soporte automtico o semiautomtico para utilizar los mtodos, se denominan CASE (Computer Assisted Software Engineering).

    Los procedimientos definen la secuencia en que se aplican los mtodos, los documentos que se requieren, los controles que permiten asegurar la calidad y las directrices de evaluacin de progresos.

  • 1.- La Ingeniera de Software La eleccin del ciclo de vida ms apropiado para un proyecto es una cuestin fundamental ya que influye decisivamente en la velocidad con la que se llevar a cabo el proyecto y la satisfaccin que generar al cliente.

    La evolucin de la tecnologa y la alta heterogeneidad que presentan los proyectos hoy en da han creado la necesidad de afrontar los proyectos con ciclos de vida personalizados para el perfil de cada proyecto. METODOLOGIAS DE DESARROLLO DE SW

  • 1.- La Ingeniera de Software Modelo de CascadaModelo EspiralPrototipadoMetodologa gil (XP)Proceso UnificadoModelo CMMMETODOLOGIAS DE DESARROLLO DE SW

    Entre los modelos Genricos de Desarrollo de Software tenemos:

  • 1.- La Ingeniera de Software Naturaleza estrictamente secuencial en la ejecucin de sus fases. Modelo es adecuado cuando los requisitos estn bien definidos, estables y se dominan las metodologas y herramientas a utilizar.MODELOS CLASICO O CASCADA

  • 1.- La Ingeniera de Software Minimiza las tareas de desarrollo Minimiza la carga de planificacin.La complejidad de proyectos grandes se afronta de una manera ordenada y aumenta las posibilidades de xito.Alto control de cada actividad y sus resultados.Ayuda a trabajar mejor con equipos de desarrollo de relativamente baja cualificacin. Ventajas:MODELOS CLASICO O CASCADA

  • 1.- La Ingeniera de Software Es muy inflexible,Retrocede en las fases para corregir errores Resultados tangibles para el cliente aparecen prcticamente al final del proyecto, algo que muchas veces no aceptan los clientes. Desventajas:MODELOS CLASICO O CASCADA

  • 1.- La Ingeniera de Software La cascada retarda la reduccin del RiesgoMODELOS CLASICO O CASCADA

  • 1.- La Ingeniera de Software Actividad 1:El modelo de CascadaMODELOS CLASICO O CASCADA

  • 1.- La Ingeniera de Software DESARROLLO DEL CICLO ESPIRALEn cada iteracin se realizan los siguientes pasos:

    Planificacin: Determinar objetivos, alternativas y restricciones Anlisis de riesgo: Anlisis de riesgos y evaluacin de alternativas Ingeniera: Desarrollo de los entregables o prototipos de la iteracin Evaluacin del resultado: Evaluacin y validacin del resultadoCiclo de vida iterativo orientado a la eliminar progresivamente los riesgos, hasta que el nivel de riesgo sea suficientemente bajo para continuar con un ciclo menos complejo.

  • 1.- La Ingeniera de Software Desarrollo del ciclo Espiral

  • 1.- La Ingeniera de Software Ventajas:

    Centra su atencin en la reutilizacin de componentes y eliminacin de errores en informacin descubierta en fases iniciales.Los objetivos de calidad son el primer objetivo.Integra desarrollo con mantenimiento.Provee un marco de desarrollo de hardware/software.

    DESARROLLO DEL CICLO ESPIRAL

  • 1.- La Ingeniera de Software Desventajas:

    El desarrollo contractual especifica el modelo del proceso y los resultados a entregar por adelantado.Requiere de experiencia en la identificacin de riesgos.

    DESARROLLO DEL CICLO ESPIRAL

  • 1.- La Ingeniera de Software Plantilla para una ronda del espiralObjetivos.Restricciones.Alternativas.Riesgos.Resolucin de riesgos.Resultados.Planes.Garantas (commitments).DESARROLLO DEL CICLO ESPIRAL

  • 1.- La Ingeniera de Software Actividad 2:La espiral Caso Infosys

    DESARROLLO DEL CICLO ESPIRAL

  • 1.- La Ingeniera de Software DESARROLLO EVOLUTIVO ORIENTADO A PROTOPTIPOS Se parte de un concepto inicial de la aplicacin y es este concepto el que evoluciona.Se desarrolla un primer prototipo relativamente completo, frecuentemente a ser ya utilizado por cliente. El cliente aporta realimentacin, se desarrolla la siguiente versin, y as sucesivamente hasta que se alcance una versin que le satisface.

  • 1.- La Ingeniera de Software Ventajas:

    Se detectan los servicios que hacen falta y confusosUn sistema desarrollado esta disponible antes del sistema finalEl prototipo puede servir como la base de la especificacin del sistemaEl cliente participa muy activamente en el desarrolloAporta resultados tangibles.Se aade mucha flexibilidad a la negociacin del proyecto.DESARROLLO EVOLUTIVO ORIENTADO A PROTOPTIPOS

  • 1.- La Ingeniera de Software Desventajas:

    En grandes proyectos es casi imposible saber cuando se llegar al producto finalHay una gran tentacin de no llegar al final con las iteraciones necesarias.Para un desarrollador este ciclo de vida puede ser una tentacin a desarrollar de forma anrquica (dejar de lado requisitos, anlisis, etc.) DESARROLLO EVOLUTIVO ORIENTADO A PROTOPTIPOS

  • 1.- La Ingeniera de Software Actividad 3:El Prototipeo

  • 1.- La Ingeniera de Software Objetivo: controlar el problema en el desarrollo del SW: alta volatilidad, especificaciones incompletas, cambios y falta de cultura del negocio que hace que se tarden en entender el sistema que deben desarrollar. EXTREME PROGRAMING Una metodologa gil de desarrollo de software.

  • 1.- La Ingeniera de Software Los requerimientos continuos (user stories)Nmero alto de versiones con pocas funcionalidades nuevas.Alto nivel de rotacin entre tareas del proyectoMxima simplicidad en el diseo.Mantener la funcionalidad en el nivel ms bsico posible.Aplicar tcnicas de Refactoring El cliente debe estar siempre disponible.Programar antes el cdigo de las pruebas unitarias.Propiedad colectiva del cdigo. Dejar las optimizaciones para el final.Todo el cdigo debe tener sus pruebas de unidad.Uso intensivo de tests de aceptacin.EXTREME PROGRAMING: CARACTERISTICAS

  • 1.- La Ingeniera de Software EXTREME PROGRAMING: PARTES

  • 1.- La Ingeniera de Software Ventajas:Considera la realidad en los desarrollos con los clientes. Enfatiza en la importancia el diseo simple y de las pruebas.

    Inconvenientes:La metodologa no es escalable. Algunos de los principios parecen demasiado extremos y no tienen un respaldo: Por ejemplo, el principio de la programacin colectiva, Refactoring.EXTREME PROGRAMING

  • 1.- La Ingeniera de Software DESARROLLO ORIENTADO A ENTREGABLES O HITOSEsta metodologa tiene cierta indefinicin en las funcionalidades implementadas en el SW, pero fija claramente un punto final en el tiempo. En este ciclo de vida bsicamente se trabaja secuencialmente en la base estable del producto que incluye llegar hasta el diseo de la arquitectura, a partir de ah se trabaja en ciclos iterativos sobre el diseo detallado, codificacin y pruebas.

  • 1.- La Ingeniera de Software VentajasEstrategia relativamente ptima ante una situacin de fecha lmite rgidaPermite reducir mucho el riesgo en proyectos grandes si se gestionan sus mdulos de menor prioridad con esta tcnica.

    InconvenientesSi se implementan pocas funcionalidades de las previstas se habr perdido mucho tiempo en la especificacin y diseo de funcionalidades no implementadas al final, por tanto hay que medir bien la ambicin del trabajo previo a los ciclos iterativos.DESARROLLO ORIENTADO A ENTREGABLES O HITOS

  • 1.- La Ingeniera de Software DESARROLLO ORIENTADO A ENTREGABLES O HITOS

  • 1.- La Ingeniera de Software MODELO CMM (Modelo de Madurez de Capacidades) Es el producto de la experiencia colectiva de muchos exitosos proyectos de software, la cual se ha documentado en la forma de un modelo. Usado ampliamente por la comunidad del software para evaluar la madurez y seguridad de los procesos del software. Se basa en la evolucin de un nivel a otro para mejorar sus capacidades.El CMM es un modelo de tres (3) capas.

    Primera capa estn los Niveles de MadurezSegunda estn las reas de Proceso ClaveTercera capa, las Prcticas Claves.

  • 1.- La Ingeniera de Software MODELO CMM Objetivos:Objetivo 1: Determinar el nivel de madurez del Proceso de Desarrollo que permita establecer un indicador de Calidad del proceso. -> 5 Niveles de Madurez

    Objetivo 2: Servir de gua en el Proceso de Desarrollo permitiendo la Mejora Continua de la organizacin -> Control de Procesos

  • 1.- La Ingeniera de Software MODELO CMM: NIVELES DE MADUREZ

  • 1.- La Ingeniera de Software MODELO CMM: Niveles de Madurez 5 Niveles de Madurez18 reas Clave de Proceso (KPA) en el CVS

  • 1.- La Ingeniera de Software MODELO CMM : reas de Proceso Clave (KPAs - Key Process Areas) Objetivos Compromisos sobre distintas Unid.Negocio Capacidades organizativas y tcnicas Actividades Mtodos de supervisar la implantacin Mtodos de verificar la implantacinKPA

  • 1.- La Ingeniera de Software MODELO CMM : reas de Proceso Clave (KPAs - Key Process Areas) NIVEL 2: Repetible

    Gestin de RequisitosPlanificacin del ProyectoSeguimiento y Supervisin del Proyecto Software Gestin de Subcontratacin del Software Garanta de Calidad del SoftwareGestin de Configuracin del Software

  • 1.- La Ingeniera de Software Nivel 3: Definido

    Enfoque del proceso de la organizacinDefinicin del proceso de organizacinPrograma de formacinGestin de integracin del softwareIngeniera de productos softwareCoordinacin entre gruposRevisiones peridicasMODELO CMM : reas de Proceso Clave (KPAs - Key Process Areas)

  • 1.- La Ingeniera de Software Nivel 4: GestionadoGestin cuantitativa del procesoGestin de calidad del software

    Nivel 5: OptimizacinPrevencin de defectosGestin de la tecnologaGestin de cambios en el procesoMODELO CMM : reas de Proceso Clave (KPAs - Key Process Areas)

  • 1.- La Ingeniera de Software EL PROCESO UNIFICADOEs un producto de Rational Software Corp, Incorpora las mejores prcticas para el desarrollo de software de una manera adaptable a un amplio rango de proyectos y entornosPropone Qu y Cundo desarrollar. ObjetivosSatisfacer los requerimientos del usuarioEn tiempo y presupuesto predecible.

  • 1.- La Ingeniera de Software EL PROCESO UNIFICADO: DIMENSIONES

  • 1.- La Ingeniera de Software Actividad 4:CMM

  • 2.- Modelado de Sistemas

  • 2.- Modelado de Sistemas MODELADOPara conseguir un software de calidad, hay que idear una slida base arquitectnica que sea flexible al cambio. Para desarrollar software rpida y eficientemente, hay que disponer, adems de la gente y las herramientas necesarias, de un enfoque apropiado.Para conseguir, un producto de calidad, es necesario seguir ciertas pautas y no abordar los problemas de manera somera, con el fin de obtener un modelo que represente bien el problema.. El modelado es la espina dorsal del desarrollo software de calidad.

  • 2.- Modelado de Sistemas MODELADOUn modelo es una simplificacin de la realidad. El modelo nos proporciona los planos de un sistema, desde los ms generales, hasta los ms detallados. Ayudan a visualizar cmo es o queremos que sea un sistema.Nos permiten especificar la estructura o el comportamiento de un sistema.Nos proporcionan plantillas que nos guan en la construccin de un sistema.Documentan las decisiones que hemos adoptado.

  • 2.- Modelado de Sistemas MODELADO: Principios bsicos del modeladoHay que seleccionar el modelo adecuado para cada momento y se obtendrn diferentes beneficios y diferentes costes. Todo modelo puede ser expresado a diferentes niveles de precisin. Los mejores modelos estn ligados a la realidad. Un nico modelo no es suficiente.

  • 2.- Modelado de Sistemas ANALISIS Y DISEO ORIENTADO A OBJETOSEs una tcnica para el modelado de sistemas,

  • 2.- Modelado de Sistemas ANALISIS Y DISEO ORIENTADO A OBJETOSFortalezas de la Tecnologa de Objetos: Un solo lenguaje usado por los usuarios, analistas, diseadores e implementadores.Facilidades de arquitectura y reso de cdigo.Reflejan mejor el mundo real.Mayor precisin describiendo datos corporativos y procesos.Descomposicin basada en divisiones naturales.Fcil de entender y mantener.Estabilidad.

  • 2.- Modelado de Sistemas LA METODOLOGA UML, PARA EL DISEO OOUML = Unified Modeling LanguageUn lenguaje de propsito general para el modelado orientado a objetos cuyo objetivo es describir cualquier tipo de sistema en trminos de diagramas orientados a objetos.

  • Actividad 5:Seleccin de un Modelo2.- Modelado de Sistemas

  • ResumenLa Ingeniera de software concierne a las teoras, mtodos y herramientas para el desarrollo, administracin y evolucin de productos de software.Los productos de software consisten de programas y documentacin. Los atributos de los productos son, mantenabilidad, dependabilidad, eficiencia y usabilidad.El proceso de software consiste en aquellas actividades involucradas en el desarrollo de software.

  • ResumenEl modelo de cascada considera cada actividad del proceso como una actividad discreta.El modelo de espiral se basa en anlisis de riesgos.La visibilidad del proceso involucra la creacin de documentos o resultados de las actividades.Los Ingenieros de software deben tener responsabilidades ticas, sociales y profesionales.