guiaiiunidadii

20
UNIVERSIDAD DE EL SALVADOR ESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOS HERRAMIENTAS DE PRODUCTIVIDAD UNIDAD II HERRAMIENTAS PARA LA ADMINISTRACION DE PROYECTO

Upload: krmencita-klles

Post on 28-Sep-2015

223 views

Category:

Documents


0 download

DESCRIPTION

Herramientas de Productividad

TRANSCRIPT

  • UNIVERSIDAD DE EL SALVADORESCUELA DE INGENIERIA DE SISTEMAS INFORMATICOSHERRAMIENTAS DE PRODUCTIVIDAD

    UNIDAD II

    HERRAMIENTAS PARA LA ADMINISTRACION DEPROYECTO

  • 2.1. PROGRAMACION DE PROYECTOS

    A. ETAPAS DE UN PROYECTO

    Desde un punto de vista general puede considerarse que todo proyecto tiene tres grandes etapas:

    a) Fase de planificacin: Se trata de establecer cmo el equipo de trabajo deber satisfacer las restriccionesde prestaciones, planificacin temporal y costo. Una planificacin detallada da consistencia al proyectoy evita sorpresas que nunca son bien recibidas.

    b) Fase de ejecucin: Representa el conjunto de tareas y actividades que suponen la realizacin delproyecto, es decir, la ejecucin de la obra de que se trate. Responde ante todo a las caractersticastcnicas especficas de cada tipo de proyecto y supone poner en juego y gestionar los recursos en laforma adecuada para desarrollar la obra en cuestin. Cada tipo de proyecto responde en este punto a sutecnologa propia, que es generalmente bien conocida por los tcnicos en la materia.

    c) Fase de entrega o puesta en marcha: Como ya se ha dicho, todo proyecto est destinado a finalizarse enun plazo predeterminado, culminando en la entrega de la obra al cliente o la puesta en marcha delsistema desarrollado, comprobando que funciona adecuadamente y responde a las especificaciones en sumomento aprobadas. Esta fase es tambin muy importante no slo por representar la culminacin de laoperacin sino por las dificultades que suele presentar en la prctica, alargndose excesivamente yprovocando retrasos y costos imprevistos.

    A estas tres etapas se pueden aadir dos:

    d) Fase de iniciacin: Definicin de los objetivos del proyecto y de los recursos necesarios para suejecucin. Las caractersticas del proyecto implican la necesidad de una fase o etapa previa destinada ala preparacin del mismo, fase que tienen una gran trascendencia para la buena marcha del proyecto yque deber ser especialmente cuidada. Una gran parte del xito o el fracaso del mismo se fraguaprincipalmente en estas fases preparatorias.

    e) Fase de control: Monitorizacin del trabajo realizado analizando cmo el progreso difiere de loplanificado e iniciando las acciones correctivas que sean necesarias. Incluye tambin el liderazgo,proporcionando directrices a los recursos humanos, subordinados (incluso subcontratados) para quehagan su trabajo de forma efectiva y a tiempo.

  • Diferencias entre los tipos de proyecto.

  • B. CONCEPTOS GENERALES

    PROGRAMACIN DE PROYECTOS

    Es el proceso de planear, organizar y administrar tareas y recursos para alcanzar un objetivo concreto,generalmente con limitaciones de tiempo, recursos o costo.

    La mayora de los proyectos comparten actividades comunes, como la divisin del proyecto en tareas de fcilmanejo, la programacin de las tareas, la comunicacin entre los miembros del equipo y el seguimiento de lastareas a medida que progresa el trabajo.

    Todos los proyectos constan de tres fases principales:

    1. Crear el plan

    2. Administrar y realizar un seguimiento del proyecto

    3. Cerrar el proyecto

    Programar un proyecto tiene como objetivo determinar de forma precisa los datos ms importantes relacionadosal proyecto:

    El tiempo mnimo para la finalizacin del proyecto

    Las actividades crticas.

    El tiempo ms temprano y ms tardo para iniciar y terminar una actividad.

    El tiempo de holgura de una actividad.

    Las mejores alternativas.

    Las alternativas en las cuales los recursos extras deben ser utilizados.

    Si la marcha de un proyecto esta acorde a la programacin o al presupuesto.

    Definir un nivel constante de utilizacin de recursos.

    Completar el proyecto en un tiempo mnimo bajo recursos limitados.

  • TAREA

    La tarea es una actividad que tiene un comienzo y un fin. Todas las tareas deben tener asignado un tiempo(generalmente estimado) y muy frecuentemente costos, para su realizacin. Dado que un proyecto estcompuesto de tareas, es necesario finalizar todas las tareas para dar por finalizado el proyecto.

    ENFOQUES

    Predictivo: El enfoque predictivo es el que intenta anticipar las causas potenciales de problemas deprogramacin, para que puedan ser corregidos por planes de contingencia

    Reactivo: Este enfoque reacciona a problemas que se desarrollan sobre la programacin en ejecucin.

    CARACTERSTICAS

    La programacin de un proyecto debe considerar que los proyectos tiene una serie de caractersticas quedeterminan el xito o el fracaso del mismo.

    1. Complejidad

    Interdependencia de actividades

    Requerimientos de mltiples recursos

    Mltiples eventos concurrentes

    Objetivos en conflicto

    Restricciones tcnicas

    Conflictos de secuenciacin

    2. Incertidumbre

    Inconsistencia de material insumo

    Desglose de equipamiento

    Rendimiento de operadores

    Ausentismo de fuerza laboral

    3. Dinmico

    Variabilidad de recursos

  • Cambios en ordenes de trabajo

    Sustituciones de recursos

    C. ETAPAS DEL ANALISIS DE LA RED DE UN PROYECTO

    FASE DE PLANEAMIENTO DE LA RED

    Identificacin de actividades y su respectivas relaciones de precedencia

    Grfica de la red

    Estimacin de tiempo, costo y recursos

    Las fuentes de las estimaciones pueden ser informacin histrica, valores estndares, pronsticos, funciones deregresin, u otros modelos cuantitativos

    FASE DE PROGRAMACIN DE LA RED

    Mediante el uso de algoritmos de avance y retroceso se determina las fechas ms temprana y tarda de inicio yfin de las actividades (cronograma del proyecto).

    Las holgura de las actividades

    La duracin del proyecto

    Rutas crticas del proyecto

    Adicionalmente se realiza la asignacin de recursos y la evaluacin costo tiempo

    FASE DE CONTROL DE LA RED

    Involucra el seguimiento del proyecto sobre la base de la programacin.

    Se realizan las medidas correctivas.

  • 2.2. MODELOS DE REDES PARA LA PROGRAMACION DE PROYECTOS

    Los modelos de redes para la programacin de proyectos consisten en describir en forma de red de actividades ysus relaciones, la forma en que se deber ejecutar un proyecto. Estos modelos se dividen en:

    No restringido por los recursos

    Anlisis del camino critico (CPM)

    Aceleracin de actividades y reduccin de programacin (Evaluacin de tiempo costo)

    Restringido por los recursos

    Tcnicas heursticas

    Tcnicas de programacin matemtica

    A. DIAGRAMA DE REDES DE PROYECTOS

    Es una representacin esquemtica de la lgica de las relaciones o secuencias entre las actividades del proyecto.Existen dos tipos:

    Activity On Arrow (AOA) o Arrow Diagramming Method (ADM)1

    Activity On Node (AON) o Precedence Diagramming Method (PDM)2

    PRINCIPALES DIFERENCIAS ENTRE AOA Y AON

    AOM (ADM) AON (PDM)

    Maneja solo relaciones de dependencia (Finish toStart)

    Maneja cuatro tipos de relaciones de dependencia,aprovechando el paralelismo parcial de las

    1 Actividad sobre flecha o Mtodo de diagramacin sobre flecha

    2 Actividad sobre nodo o Mtodo de diagramacin por precedencias

  • AOM (ADM) AON (PDM)

    actividades.

    No permite manejar tiempo entre tareas Permite manejar tiempo entre tareas

    Requiere el uso de actividades ficticias entre tareas, loque genera ms clculo.

    No requiere el uso de actividades ficticias entre tareas.Opcionalmente, solo para los extremos del proyecto.

    Es de mayor simplicidad e ideal para fines didcticos Es implementado por la mayora de software

    Presenta fechas de comienzo ms realistas de lasactividades iniciales del proyecto.

    TIPOS DE DEPENDENCIAS ENTRE TAREAS

    Finish to Start (FS)

    (Fin a comienzo)

    La tarea (B) no puede comenzar hastaque finalice la tarea (A)

    Start to Start (SS)

    (Comienzo a comienzo)

    La tarea (B) no puede comenzar hastaque comience la tarea (A)

    Finish to Finish

    (Fin a Fin)

    La tarea (B) no puede finalizar hastaque finalice la tarea (A)

    Start to Finish

    (Comienzo a Fin)

    La tarea (B) no puede finalizar hastaque comience la tarea (A)

  • B. CASO DE APLICACION

    ACME es una fabrica de computadoras personales. Actualmente esta en el proceso de diseo, manufactura ycomercializacin del modelo ACME 2002. Existen tres grandes tareas a realizar:

    Manufacturar la nueva computadora.

    Entrenar el nuevo staff y vendedores

    Publicitar la nueva computadora.

  • DiagramaAOA

  • DiagramaAON

    ProgramacindeproyectoenProject2010

  • Informacindelproyecto

    DiagramadeRedProject2010

  • 2.3. PROYECTOS DE DESARROLLO COLABORATIVOS

    El concepto de Desarrollo colaborativo es relativamente nuevo, situado principalmente en el contexto de losprocesos de enseanza-aprendizaje, al referirse al Aprendizaje colaborativo.

    En el contexto de la informtica, podemos definir el concepto de Desarrollo colaborativo de software como unmodelo de desarrollo de software distribuido, donde el flujo de trabajo descansa principalmente en tecnologasde informtica.

    El concepto de modelo distribuido se refiere al uso de tecnologas de informtica, especialmente decomunicacin, que permitan establecer flujos de trabajo controlados, sin que esto signifique necesariamente quetodos los miembros del equipo se encuentre fsicamente en el mismo lugar o zona geogrfica.

    Es muy frecuente que el concepto de desarrollo colaborativo se asocie principalmente a proyectos de softwarelibre. Dado que son proyectos abiertos, cualquier persona interesada puede formar parte del equipo de desarrollo,aportando sus propios conocimientos y experiencias. Sin embargo, este modelo puede reproducirse en proyectosque no son pblicos o abiertos, en aquellos escenarios en los que se requiere la descentralizacin y distribucinde las actividades del proyecto.

    A. CARACTERISTICAS

    4. Un modelo de desarrollo descentralizado y distribuido

    5. Basado en un conjunto de tecnologas que permiten al equipo una comunicacin fluida

    6. Flujos de trabajo (Workflows) claramente definidos soportados por herramientas de informtica.

    7. Mecanismos de seguimiento implementados a travs de herramientas de control.

    B. ORGANIZACION DE PROYECTOS DE DESARROLLO COLABORATIVO

    La organizacin de un proyecto de desarrollo colaborativo depende en primer lugar de la metodologa dedesarrollo que se adopte para cada proyecto. Sin embargo, la caracterstica de distribuido permite incorporar alproyecto a miembros del equipo con distintos niveles de formacin, competencias y experiencias.

    El modelo tambin plantea la necesidad de definir claramente roles de los equipos que en algunas metodologasson pasados por alto por cuestiones de tiempo o infraestructura. Algunos de los roles pueden ser:

    Administrador del proyecto.

    Ingeniero de software

    Analista

  • Programador

    Usuarios lderes

    Usuarios finales

    Testers (probadores)

    Documentadores

    Analistas de procesos

    Tcnicos de control de calidad

    Una vez definida la estructura organizacional del proyecto, es necesario contar con una plataforma que garanticela funcionalidad, para ello existen herramientas para la gestin y ejecucin de proyectos de desarrollocolaborativo.

  • C. HERRAMIENTAS PARA LA GESTION DE PROYECTOS

    En la actualidad, en un modelo de desarrollo distribuido, casi todas las herramientas que permitan mantener a losmiembros del equipo comunicados y con capacidad de enviar resultados e informar el avance puedenconsiderarse herramientas para el soporte de proyectos colaborativos, esto incluye herramientas de comunicacincomo chats, video conferencias, etc.

    Sin embargo, nos centraremos en tres de estas herramientas, para lo que definiremos los conceptos de Cliente yServidor.

    Los conceptos de Cliente y Servidor son utilizados muy frecuentemente en la ingeniera de procesos. El clientees identificado como cualquier entidad externa que requiera un servicio de algn elemento del sistema que seest diseando, sea esto un software, un proceso, un equipo, etc. Y el servidor es el sistema del que se trate o unode sus elementos.

    Un servidor puede ser un cajero, un tcnico de soporte, una persona de atencin al cliente, un tcnico electricista,el software, un impresor, una mquina en un proceso de produccin, etc. Un sistema puede contar con variasservidores en paralelo o en serie.

  • SISTEMAS PARA LA GESTIN DE PROYECTOS

    El sistema de administracin de proyectos con el que usualmente tenemos contacto es MS Project, que nospermite programar un proyecto y realizar un seguimiento del mismo.

    Hasta hace algunos aos, la mayora de las herramientas para programacin y seguimiento de proyectosoperaban en estaciones de trabajo aisladas (stand alone), permitiendo el registro del avance de cada actividadpara determinar el avance total del proyecto, la ejecucin del presupuesto de acuerdo a la programacin y otrasvariables que un administrador de proyectos debe conocer.

    Sin embargo, estas versiones permitan que una sola persona a la vez, fuera capaz de actualizar los avances delequipo. Con el avance en las capacidades de comunicacin y procesamiento, las versiones tipo Servidorcomienzan a tomar auge. Estas versiones permiten a los miembros del equipo, actualizar en tiempo real losavances directamente sobre el proyecto, lo que permite a los administradores tener informacin fluida sobre losavances del proyecto, para poder tomar decisiones.

    Existen muchas alternativas de software comercial para este tipo de herramientas, una de ellas y quiz la msconocida es Project Server. Otras alternativas de tipo libre, se listan a continuacin:

    f) Achievo

    g) ClockingIT

    h) Todoyou

    i) WebCollab

    j) Redmine

    k) EGroupware Community Edition

    l) dotProject

    m) Collabtive

    n) NetOffice

    o) Open Atrium

    La mayora de estas aplicaciones permite la administracin de mltiples proyectos, programacin de lasactividades, asignacin de recursos, controles de costos, registro de avances por parte de los miembros delequipo, etc.

  • SISTEMAS DE CONTROL DE VERSIONES

    Los Sistemas de control de versiones (SCV) fueron creados originalmente para permitir el control de lasversiones del cdigo de un software en el proceso de desarrollo. Actualmente existen herramientas para elversionado de documentos, archivos binarios en formatos especficos y por supuesto cdigo fuente.

    El flujo de trabajo de un SCV supone que los programadores del equipo comparten el mismo proyecto en formacompleta o parcial. Cada uno realizar sus cambios en la forma en que lo necesite y luego este cdigo serenviado al SCV donde quedar registrado como una nueva versin.

    Los SCV se basan en un repositorio o servidor en el que se almacenarn las versiones que se vayan recibiendodesde las estaciones de trabajo.

    Los SCV basan su funcionamiento en una revisin (o versin) local (estacin de trabajo de un miembro delequipo) de los archivos. Estos archivos pueden ser modificados y posteriormente enviados y sustituidos a lacopia que se encuentre guardada en el repositorio, lo que genera una nueva revisin del proyecto.

    La mayora de los SCV permiten realizar las siguientes operaciones:

    Import. Permite enviar al repositorio, la primera versin de un proyecto.

  • Checkout. Permite descargar la versin del proyecto que se indique. Por defecto es la versin actual queusualmente es llamada HEAD.

    Update. Permite actualizar la versin local de los archivos a la versin indicada. Por defecto la versinactual.

    Commit. Permite enviar los cambios realizados localmente a la copia del servidor, lo que generalmenteproduce una nueva versin del proyecto.

    Merge. Permite realizar una mezcla de dos versiones de cdigo. Usualmente es usada cuando existealgn conflicto entre ambas versiones.

    Branches. Son ramas de versiones de un proyecto. Cada una de las ramas tendr una lnea de evolucinindependiente, aunque es posible que en algn momento puedan ser mezcladas.

    En la terminologa de SCV se distingue la forma de colaborar con un proyecto:

    Exclusiva. El repositorio impedir que se realicen modificaciones si otro usuario ha solicitado realizarmodificaciones a los mismos elementos.

    Colaborativa. El repositorio permitir que se modifiquen elementos del proyecto, y posteriormenteintentar mezclar los cambios.

    La arquitectura de almacenamiento de los SCV pueden ser:

    Centralizados. Existe un repositorio centralizado al que todos los miembros del equipo enviarn susmodificaciones.

    Distribuido. Adems de un repositorio centralizado, existen repositorios locales que son capaces dellevar su propio control de versiones de los elementos, y es hasta que el miembro del equipo decideenviar su versin local ms reciente (HEAD) al repositorio central que podrn ser vistos por el resto delequipo. No todos los SCV permiten contar con repositorios distribuidos.

    Los SCV permiten establecer cual ser el flujo de trabajo para el control de las versiones. Los flujos de trabajodependern de la arquitectura que se adopte para el versionado, las polticas de colaboracin y centralizacin.

    Los sistemas de control de versiones ms populares son:

    4. CSV

    5. Subversion (SVN)

    6. Bazaar

    7. Mercurial

  • 8. Git

    SISTEMAS DE GESTIN DE INCIDENCIAS

    Los sistemas de gestin de incidencias permiten llevar un registro de los incidentes que ocurren en un procesoespecfico. Son utilizados en una gran gama de procesos como: Soporte tcnico, Seguimiento de errores,Validacin de software, Mesas de trabajo (Help desk), entre otros.

    En el proceso de desarrollo de software son generalmente utilizados para pruebas y gestin de errores, aunquetambin permiten dar un seguimiento al proceso de desarrollo asignando actividades en forma de incidencias.

    El trmino ms importante en este tipo de sistemas es el de Incidencia (Ticket). Los flujos de trabajo se centranen las incidencias de manera que el cliente crea una incidencia que deber ser resuelta por un servidor.Usualmente el primer servidor que est disponible o el que ms tiempo lleve en ocio.

    Estos sistemas tambin se basan en un repositorio de incidencias, y un registro del flujo de trabajo por el que hapasado. Esto es especialmente til en los casos en los que una incidencia deba pasar por varias estaciones deservicio (arreglo de servidores en serie) antes de darse por cerrada (resuelta o abortada).

    Algunos de los Sistemas de gestin de incidencias ms conocidos son:

    Trac

    Bugzilla

    NetOffice

    osTicket

    D. LA NUBE

    Cada vez son ms sistemas y servicios que se ofrecen en lo que se llama La nube. La computacin en la nubeo Cloud computing es un conjunto de tecnologas que permiten ofrecer sistemas y servicios de altadisponibilidad para resolver los problemas ms crticos del software:

    Disponibilidad. Uno de los factores ms crticos para cualquier persona o institucin es tener disponiblesiempre que lo necesite, los sistemas y servicios que requiere para realizar sus funciones. Lacomputacin en la nube es una forma de trasladar este problema al proveedor del servicio.

    Accesibilidad. Los servicios de computacin en la nube suponen una alta accesibilidad desde cualquierestacin de trabajo que pueda conectarse a la nube.

    Rendimiento. Es un factor de calidad que hoy en da ya no es opcional. Las empresas que optan porcontratar servicios en la nube, delegan a la empresa proveedora de dichos servicios las responsabilidad

  • de las actualizaciones del hardware y software que se requiera.

    Hoy en da existen plataformas de gestin de proyectos en la nube, que prestan sus servicios de forma gratuita opagada tales como Zoho Project, Assembla y Launchpad.

    En la mayora de los casos, estos servicios cuentan con varios o todos los servicios de gestin y control deproyectos de desarrollo mencionados anteriormente.

    2.1. PROGRAMACION DE PROYECTOSA. ETAPAS DE UN PROYECTOB. CONCEPTOS GENERALESProgramacin de proyectosTareaEnfoquesCaractersticas

    C. ETAPAS DEL ANALISIS DE LA RED DE UN PROYECTOFase de planeamiento de la redFase de programacin de la redFase de control de la red

    2.2. MODELOS DE REDES PARA LA PROGRAMACION DE PROYECTOSA. DIAGRAMA DE REDES DE PROYECTOSPrincipales diferencias entre AOA y AONTipos de dependencias entre tareas

    B. CASO DE APLICACION

    2.3. PROYECTOS DE DESARROLLO COLABORATIVOSA. CARACTERISTICASB. ORGANIZACION DE PROYECTOS DE DESARROLLO COLABORATIVOC. HERRAMIENTAS PARA LA GESTION DE PROYECTOSSistemas para la gestin de proyectosSistemas de control de versionesSistemas de gestin de incidencias

    D. LA NUBE