administracion de proyectos software i estudiantes
Post on 27-Jun-2015
5.463 Views
Preview:
DESCRIPTION
TRANSCRIPT
ADMINISTRACIÓN DE PROYECTOS SOFTWARE
Ing. Rosemary Samaniego O.,Mg.Sc
¿Qué SIGNIFICARÁ ADMINISTRAR?
¿QUÉ ES SOFTWARE?
Los que están enamorados de la práctica sin ciencia son como un piloto que va en un barco sin timón y sin brújula, y nunca tiene la certeza de a donde se dirige”. Leonardo Da Vinci
ADMINISTRACION DE PROYECTOS SOFTWARE
MetodologíasModelos
Herramientas y técnicasde administraciónMicrosoft Project
Estimación y planificaciónde proyectos software
COCOMO II
Plan de contingenciaGestión de calidad
Consulta.
Definición de Ingeniero del Software /Sistemas
Misión Funciones que desempeñan.Establecer relación o diferencias
Crisis del SoftwareSegún el Centro Experimental de Ingeniería de
Software (CEIS), el estudio de mercado The chaos Report realizado por Standish Group Internactional en 2004,
Concluyó que sólo:29% de los proyectos de software son exitosos. (Terminan dentro de plazos y costos y cumplen
los requerimientos acordados).
53% sobrepasa costos y plazos y cumple parcialmente los requerimientos.
18% Ni siquiera llega al término.
QUÉ ES APS?
Es el proceso por el cuál se planifica, dirige y controla el desarrollo de un sistema aceptable con un coste mínimo y dentro de un período de tiempo específico.
PROBLEMAS TÍPICOS EN EL DESARROLLO SOFTWARE
Escasa o tardía validación con el cliente.
Inadecuada gestión de los requisitos. No existe medición del proceso ni registro de datos históricos. Estimaciones imprevistas de plazos y costos. Excesiva e irracional presión en los plazos. Escaso o deficiente control en el progreso del proceso de desarrollo. No se hace gestión de riesgos formalmente. No se realiza un proceso formal de pruebas. No se realizan revisiones técnicas formales e inspecciones de código. Uso de tecnología novedosa
El CHAOS Standish Group, indica que los mayores problemas están relacionados con la especificación, la gestión y la documentación de los proyectos.
MINICASO PRÁCTICO FUN & GAME, INC.
PREGUNTAS PARA DISCUTIR1. ¿En qué se equivocó Steven? ¿Qué habría hecho ud. De forma
diferente?2. ¿Tiene Jan alguna culpa en los problemas encontrados en este
proyecto?3. ¿Cree ud., qué sería un error usar los cambios en los
requisitos como excusa para justificar los defectos de gestión o administración del proyecto?
4. Cómo se podría responsabilizar más a los usuarios y los directivos de los cambios en los requisitos experimentados en este proyecto (y en muchos otros)?
5. Cree Ud., que es importante conocer las metodologías de desarrollo de software. Conoce alguna. Explique?
Preguntas individuales:
1. Cree ud, que la solución cuando un proyecto va con retraso será asignando más personal al equipo de proyecto?
2. Cómo debe ser la planificación. Estricta o debe ser flexible y abierta?
3. Cuál o cuales cree ud. Que deben ser las funciones básicas de un administrador de proyectos?
Cuáles son las consecuencias de una deficiente APS?
Necesidades no satisfechas o no identificadas
Cambio incontrolado del ámbito del proyecto
Exceso de costoRetrasos en la entrega……
Funciones Básicas Planificación de las tareas del proyecto y selección del
equipo de proyecto.– ¿Cuánto tiempo se requerirá?– ¿Cuántas personas serán necesarias?– ¿Cuánto costará la tarea?– ¿Qué tarea deben terminarse antes de empezar otras?– ¿Pueden tener holgura alguna de ellas?
Organización y definición de calendario para el proyecto Dirección y control del proyecto
Si el ámbito del proyecto tiende a crecer, el administrador debe tomar una decisión.
• ¿habría que reducir el ámbito del proyecto para respetar el presupuesto y los plazos, o revisar dicho presupuesto y dichos plazos? Debería ser capaz de presentar alternativas y sus implicaciones a los plazos y presupuestos para saber responder a las expectativas.
La base inicial de las seis áreas de conocimientonecesarias para la Gerencia de Proyectos:
Alcance Tiempo Costo Calidad Recursos Humanos Comunicaciones
Procesos de desarrollo de Software
Requisitos nuevoso modificados
Sistema nuevoo modificado
Proceso de Desarrollo de Software
Requisitos nuevoso modificados
Sistema nuevoo modificado
Proceso de Desarrollo de Software
Actividades
Especificación de software
Diseño e Implementación
Validación
Evolución
Procesos de desarrollo de Software
Ciclos de Vida del SOFTWARE
Metodologías de desarrollo de Software
Metodologías o Ciclo de Vida . ¿Qué necesito?
Investigar los 3 ciclos de vida más utilizados de acuerdo a :a) TIEMPOb. Documentaciónc. RIESGOSd. Què proyectos lo han utilizado
Conjunto de procedimientos, técnicas, herramientas y soporte documental para la realización de nuevo software.
¿Qué son las metodologías de desarrollo de software?
Para qué sirven las metodologías?
¿Cómo se divide el proyecto?¿Qué tareas en cada etapa?¿Qué salidas y cuándo se producen?¿Restricciones?¿Herramientas?¿Cómo gestionar, cómo controlar?
Metodologías estructuradas
MERISE (Francia)Gane & SarsonYourdon & DeMarco
Metodología OO
Boom del POORUP
Metodología Ágiles
Extreme ProgrammingProceso Unificado RationalOpen Source Software Development
Investigar una metodología de cada tipo. Definición, para que sirve, ventajas, desventajas, cuando se la puede usar
Cuadro comparativo de las metodologías: Enfoque, Ventajas/Desventajas, proceso de desarrollo, aplicabilidad. RUP,XP,MERISE, MSF, etc.
PMBOK cuándo usar?, en que nos ayudaISO 9000 – 9001 -12207
TRABAJO INVESTIGATIVO
Nombre: Oscar A. Ramírez A. Profesor: Rosemary Samaniego Quimestre: Séptimo PARALELO: “B”
METODOLOGÍAS DE DESARROLLO DE SOFTWARE
¿Qué es una Metodología?
En un proyecto de desarrollo de software la metodología define Quién debe hacer Qué, Cuándo y Cómo debe hacerlo
Requisitos nuevoso modificados
Sistema nuevoo modificado
Proceso de Desarrollo de Software
Característica Deseables Una Metodología
•Existencia de reglas predefinidas•Cobertura total del ciclo de desarrollo•Verificaciones intermedias•Planificación y control•Comunicación efectiva•Utilización sobre un abanico amplio de proyectos•Fácil formación•Herramientas CASE•Actividades que mejoren el proceso de desarrollo•Soporte al mantenimiento•Soporte de la reutilización de software
FASES
Metodologías Estructuradas Metodologías Orientadas a ObjetosMetodologías Ágiles
•Análisis •Diseño lógico •Diseño físico •Implementación y control
CLASIFICACION
Metodología estructurada
Crea los modelos de forma descendente.
Son las orientadas a procesos, a datos y las mixtas.
Intentan aplicar formas ingenieriles para solucionar problemas técnicos al obtener un sistema de información, proponen la creación de modelos, flujos y estructuras
MERISE
Es un método integrado de análisis, concepción y gestión de proyectos, desarrollado en Francia.Esta metodología aporta un ciclo de vida más largo a los existentes, se materializa en un conjunto definido de etapas. Introducen dos ciclos complementarios: ciclo de abstracción y ciclo de decisión.
Fases
MERISE
ETAPAS
esquema director estudio global y descomposicion por partes se obtiene el plan de desarrollo
estudio previo definicion del hardware y software, y elección del escenario para cada parte
estudio detallado estudio detallado de cada parte
estudio tecnicoplanificacion y optimizacion de lo q se va a realizar
realizacion programacion, pruebas e implementacion
mantenimineto correccion de posibles errores y entrega de proyecto
Metodologías OO
•Son interactivas e incrementales.•Fácil de dividir el sistema en varios subsistemas independientes.•Se fomenta la reutilización de componentes.
PROCESO UNIFICADO RACIONAL (RUP)
Es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos. Esta metodología permite que todos los integrantes de un equipo de trabajo, conozcan y compartan el proceso de desarrollo.
CARACTERISTICAS
Dirigido por Casos de UsoCentrado en la ArquitecturaIterativo e IncrementalDesarrollo basado en componentesUML como lenguaje de ModeladoProceso Integrado
VentajasProgreso visible en las primeras etapasTemprana retroalimentación que se ajuste a las
necesidades realesReconoce que las necesidades del usuario y sus
requerimientos no se pueden definir completamente al principio.
Permite evaluar tempranamente los riesgos en lugar de descubrir problemas en la integración final del sistema.
Distribuye la carga de trabajo a lo largo del tiempo del proyecto ya que todas las disciplinas colaboran en cada iteración.
Facilita la reutilización del código teniendo en cuenta que se realizan revisiones en las primeras iteraciones lo cual permite apreciar oportunidades de mejoras en el diseño.
Fases
RUP
FASES
inicio principales casos de usos, se identifica los riesgos y se define el alcance del proyecto
elaboracion
eliminacion de riesgos, complementacion de casos de usos
construccion elaboracion del proyecto y pruebas
transicion presentacion y entrega del proyecto
Microsoft Solution Framework (MSF)
Esta es una metodología flexible e interrelacionada con una serie de conceptos, modelos y prácticas de uso, que controlan la planificación, el desarrollo y la gestión de proyectos tecnológicos. MSF se centra en los modelos de proceso y de equipo dejando en un segundo plano las elecciones tecnológicas.
Características
Adaptable: es parecido a un compás, usado en cualquier parte como un mapa, del cual su uso es limitado a un específico lugar.
Escalable: puede organizar equipos tan pequeños entre 3 o 4 personas, así como también, proyectos que requieren 50 personas a más.
Flexible: es utilizada en el ambiente de desarrollo de cualquier cliente.
Tecnología Agnóstica: porque puede ser usada para desarrollar soluciones basadas sobre cualquier tecnología.
METODOLOGÍAS AGILES
En las metodologías ágiles se intenta ser lo más flexible posible, que el cliente pueda cambiar los requisitos cuando quiera y que el código funcione bien.
La programación extrema o eXtreme Programming (XP).-
Fundado por Ken Beck en 1996, Identificó que era lo simple y lo difícil al momento de programar. Es la más destacada de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad
Valores de XP
•Comunicación: Crear software requiere de sistemas comunicados.•Simplicidad: Empezar con lo necesario y requerido y trabajar desde ahí.•Retroalimentación: Del sistema, del cliente, y del equipo.•Valentía: Programa para hoy y no para mañana. •Respeto: El equipo debe trabajar como uno, sin hacer desiciones repentinas.
Ventajas
•Programación organizada.•Menor taza de errores.•Satisfacción del programador.
•Es recomendable emplearlo solo en proyectos a corto plazo.•Altas comisiones en caso de fallar.
FasesXP
FASES
exploracionentrevistas con los usuarios, conocer acerca de los detalles del negocio, familiarizacion con la herramientas de trabajo
planificacion de la entrega
planificacion del tiempo q se van a demorar, priorisar los datos recopilados
iteracionesestablecer una arquitectura del sistema
produccion pruebas adicionales y revision del rendimiento
mantenimiento
trabaja conjuntamente con la produccion y desarrollo de nuevas iteraciones
muerte del proyectose han completado los requerimientos del cliente, documentacion final o en el caso de q no hay presupuesto para mantenerlo
ASPECTOSMERISE RUP XP
DESARROLLO DEL CODIGO
Desarrollo del código.Facilita la reutilización de
código.
Reescribir el código escrito para obtener mayor
simplicidad
PROCESOS DE DESARROLLO
No posee un desarrollo de proyectos de forma iterativa e
incremental.
Desarrollo interno en etapas interactivas.
Desarrollo iterativo e incremental
COMO DESARROLLA EL PROCESO
Para modelar un sistema informático va de lo más
abstracto a lo más concreto.
Divide el proyecto en mini proyectos.
Divide el proyecto en iteraciones
FORMA DE TRABAJO Programación en grupos Programación en equipos Programación en parejas
CALIDADMejora la calidad de las
especificaciones antes de la realización del sistema.
Tiene como objetivo asegurar la producción de software de
alta calidad.
Tiene como objetivo llegar al éxito del proyecto con corto equipo de trabajo, teniendo en cuenta al usuario final y
además con una programación rápida o
extrema
COMUNICACIONEl cliente interactúa con el
equipo de desarrollo mediante reuniones
Se depende mucho del cliente = de mora
Es constante el cliente, de el depende el éxito del proyecto
CARACTERISTICASMERISE RUP XP
DIRIGIDO POR FASESDirigido por las fases o
niveles que debe ir cumpliendo.
Dirigido por los casos de uso.
Dirigido por la creatividad y el
conocimiento del programador.
CAPACITACION Capacitación del personal.El desarrollo del software no lo hace una única persona, si
no múltiples equipos.
Centrada en potenciar las relaciones
interpersonales.
DISCIPLINAPropone una serie de fases
diferenciadas.
Provee un enfoque disciplinado para la
asignación de tareas y responsabilidades.
Programación en parejas.
Recopilación y validación de los sistemas.
El aseguramiento de la calidad forma parte del proceso de desarrollo.
Simplicidad: elaborar un código sencillo.
COSTOSGestión de costos y tiempo.
En proyectos pequeños no es posible cubrir los costos
de dedicación.Busca reducción de costos.
CARACTERISTICAS MERISE RUP XP
TIEMPO Proyectos de largo plazo
Puede ser adoptada tanto para empresas grandes como para pequeñas y
puede ser modificadas para adecuarse a diversas
situaciones
Se usan para proyectos pequeños
DocumentaciónLa documentación es
necesariaEs una metodología solida
con documentación
Pruebas unitarias continuas: realiza
pruebas sobre código escrito y
documentado.
RIESGOS No evalúa riesgos iníciales.
Permite evaluar temporalmente los riesgos en lugar de descubrir problemas
en la integración final del sistema.
Proyecto con altos grados de riesgo
CORRECIONES SOBRE LA MARCHA
Los cambios organizativos afectan negativamente
el proyecto
Busca detectar defectos en las fases iníciales. Intenta
reducir el numero de cambios tanto como sea
posible
Permite realizar cambios de ultimo
momento, en cualquier punto de la vida del proyecto es una aproximación
mejor y mas realista que intenta definir
todos los requisitos del proyecto.
PMBOK
El Project Management Body of Knowledge (Libro de estándares para la Gestión de Proyectos) (PMBOK) (®) es un estándar reconocido internacionalmente (IEEE, ANSI) este trabaja con el uso del conocimiento, de las habilidades, de las herramientas, y de las técnicas para resolver requisitos del proyecto.
Procesos BásicosIntegración. Desarrolle la carta del proyecto, la declaración del alcance y el plan. Alcance. Planeamiento, definición, creación, verificaciónTiempo. Definición, secuenciamiento, estimación de recursos necesarios Costo. Planeamiento de recursos, costos estimados, presupuesto y control. Calidad. Planeamiento de la calidad, aseguramiento de calidadRecurso humano. Planeamiento, contratación, y administración. Comunicaciones. Distribución de la información, difusión del desempeñoRiesgos. Planeamiento e identificación de riesgos, Análisis de riesgos Consecución. Plan de contrataciones y adquisiciones, selección e incentivos de los vendedores, administración y cierre de contratos.
Cuando usar
Programas de Administración (generales) Proyectos departamentales (funcionales)Proyectos de ingeniería (técnicos) Procesos específico de la industria Desarrollo de productos
(comercialización) Programas de gobierno (público) Programas de desarrollo (organizaciones
internacionales)
Estructura
Ventajas La guía del PMBOK es un marco y un estándar . Está orientada a procesos. Indica el conocimiento necesario para manejar el ciclo vital de
cualquier proyecto, programa y portafolio a través de sus procesos. Define para cada proceso sus insumos, herramientas, técnicas y
reportes necesarios. Define un cuerpo de conocimiento en el cual cualquier industria pueda
construir las mejores prácticas específicas para su área de aplicación.
Complejo para los proyectos pequeños.Tiene que ser adaptado a la industria del área de aplicación, el tamaño y el alcance del proyecto, el tiempo y el presupuesto y los apremios de la calidad.
ISO 9000
ISO 9000:2000, Sistemas de Gestión de Calidad:Es un término genérico, aplicado a una serie de estándares patrocinados por la Organización Internacional para la Estandarización (ISO) La organización ISO creo ISO 9000 con el propósito de uniformar los sistemas de calidad que deben establecerse por las compañías de fabricación y servicios al rededor del mundo.
Caracteristicas
¸ La orientación hacia el cliente¸ La gestión integrada¸ El énfasis en el proceso de negocios¸ La incorporación de la Mejora Continua¸ La medición de la satisfacción del cliente
VentajasEstandarizar las actividades del personal que
labora dentro de la organización por medio de la documentación
Incrementar la satisfacción del clienteMedir y monitorear el desempeño de los
procesosDisminuir re-procesosIncrementar la eficacia y/o eficiencia de la
organización en el logro de sus objetivosMejorar continuamente en los procesos,
productos, eficacia, etc.Reducir las incidencias de producción o
prestación de servicios
ISO 9001
Objetivos
Medir la Satisfacción del Cliente Mejora Continua Gestión de los Recursos Gestión del Procesos
En que ayuda
ISO 9001 es una norma adecuada para cualquier organización que busque mejorar el modo de funcionamiento y gestión, independientemente del tamaño o sector.
Estructura de ISO 9001:2000
SISTEMA DE GESTIÓN DE LA CALIDAD
RESPONSABILIDAD DE LA DIRECCIÓN
GESTIÓN DE LOS RECURSOS
REALIZACIÓN DEL PRODUCTO
MEDICIÓN, ANÁLISIS Y MEJORA
REQUISITOS Y DOCUMENTACIÓN
RECURSOS HUMANOS,
INFRAESTRUCTURA
Y AMBIENTE DE TRABAJO
PLANIFICACIÓN, REQUISITOS, DISEÑO, PRODUCCIÓN, CONTROL,
PROCESOS AUXILIARES
SATISFACCIÓN DEL CLIENTE, AUDITORÍAS, MEDICIÓN DE PROCESOS
PRODUCTOS, NO CONFORMIDADES, ACCIONES CORRECTIVAS Y
PREVENTIVAS
POLÍTICA, PLANIFICACIÓN, REVISIÓN
Beneficios Aumento de los clientes satisfechos Reducción en los costos Procesos perfectamente definidos por parte de la empresa Incremento de las ventas Disminución de errores y ausentismo laboral Aumento de la productividad total de la empresa Responsabilidades de cada empleado definidas en forma clara y
concreta Perfecta descripción de los puestos y funciones de todos los
integrantes de la organización. Optimización de todas las vías de comunicación interna de la empresa Aumento de la calidad que los proveedores suministran a la empresa Crecimiento de la imagen de la empresa ante el entorno Concientización de la calidad entre los empleados Conocimiento de los requerimientos de los clientes, sus necesidades y
expectativas futuras Motivación del personal de la empresa Mejores condiciones en el ambiente de trabajo
CUADRO COMPARATIVO ENTRE ISO 9000 E ISO 9001ISO 9000 ISO 9001
Conjunto de normas de calidadUna de las normas de la familia ISO 9000
Normas orientadas a ordenar la gestión de la empresa
Norma para la gestión y aseguramiento de la calidad
Establecer las directrices, mediante las cuales la organización, puede seleccionar y utilizar las normas.
Especifica los requisitos que debe cumplir un sistema de calidad
Basada en la Administración de Procesos.
Basada en los procesos (más acerca de lo que se produce).
No Certifica CertificaProporcionar a los clientes o usuarios la seguridad de que el producto o los servicios tienen la calidad deseada, concertada, pactada o contratada.
Asegura la calidad de los productos que los productos o servicios brindados por la empresa
El estándar ISO 12207
ISO/IEC 12207 establece un proceso de ciclo de vida para el software que incluye procesos y actividades que se aplican desde la definición de requisitos, pasando por la adquisición y configuración de los servicios del sistema, hasta la finalización de su uso. Este estándar tiene como objetivo principal proporcionar una estructura común para que compradores, proveedores, desarrolladores, personal de mantenimiento, operadores, gestores y técnicos involucrados en el desarrollo de software usen un lenguaje común.
Estructura
top related