4. 4
Implicaciones de un Proyecto
Tiene un Propósito definido.
Es un Proceso Organizado.
Son actividades temporales (inicio y fin claros)
Costo y recursos presupuestados
Involucra Riesgo.
Planificación según un desempeño esperado
Variabilidad (de actividades, personal, gastos)
Impacto!!!
5. Crisis del Software
Según el Centro Experimental de Ingeniería de
Software (CEIS), el estudio de mercado Reporte
Chaos realizado por Standish Group
Internacional en 2013,
Concluyó que sólo:
• 39% de los proyectos de software son
exitosos.(Terminan dentro de plazos y costos
y cumplen los requerimientos acordados).
• 43% sobrepasa costos y plazos y
cumple parcialmente los
requerimientos.
• 18% Ni siquiera llega al término.
6. Problemas típicos en Desarrollo de Software
Escasa o tardía validación con el cliente.
Inadecuada gestión de los requisitos y equipos de desarrollo
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.
Excesivo Uso de tecnología novedosa
El CHAOS StandishGroup, indica que los mayores problemas están relacionados con la especificación, la gestión y la documentación de los proyectos de software.
7. Impacto de Equipos de proyectos Ad- Hoc de Software
EQUIPODDDCCC
Dificultad
Alta
Baja
Baja
Tamaño
Pequeño
Grande
Grande
Tiempo Equipo
Largo
Corto
Corto
Modularidad
Baja
Alta
Alta
Fiabilidad
Alta
Alta
Baja
Fecha de Entrega
Flexible
Flexible
Estricta
Comunicación
Alta
Baja
Baja
10/29/2014 7
DD: Descentralizado Democrático
DC: Descentralizado Controlado
CC: Centralizado Controlado
8. Paradigmas de Estrategias de Equipos de Desarrollo Software
Las estrategias Agile y Lean son más efectivas que las estrategias tradicionales de Cascada
Los equipos de proyectos ad-hoc (sin proceso definido) y proyectos tradicionales tienen tasas de éxito más bajas que los equipos de proyectos ágiles / iterativos
10/29/2014 8
9. Éxito de Desarrollo de Software
Tiempo / horario, 16% prefiere a entregar a tiempo de acuerdo con el calendario, 39% prefiere entregar cuando el sistema está listo para ser enviado, y el 42% dice que ambos son igualmente importantes
Rendimiento de la inversión, el 13% prefiere entregar dentro del presupuesto, el 60% prefiere proporcionar un buen retorno de la inversión (ROI), y el 23% dice que ambos son igualmente importantes
Valor para los interesados, 4% prefiere construir el sistema de acuerdo a las especificaciones y el 86% prefiere satisfacer las necesidades reales de las partes interesadas, y el 10% dice que ambos son igualmente importantes
Calidad, el 10% prefiere entregar a tiempo y dentro del presupuesto y el 56% prefiere ofrecer alta calidad, fácil de mantener los sistemas, y el 34% dice que ambos son igualmente importantes
10/29/2014 9
10. 10
Desarrollo de Productos de Software
Ingeniería de Software Administración de Proyectos
Métodos
Productos
11. Top 10 lenguajes de programación más
usados en desarrollo
10/29/2014 11
Fuente: IEEE Spectrum 2014
Metho
ds
P
r
o
d
u
c
t
s
Met
hods
P
r
o
d
u
c
t
s
Ideas
Productos
14. ADMINISTRACION DE PROYECTOS SOFTWARE
Metodologías
Modelos
Herramientas y técnicas
de administración
Estimación y planificación
de proyectos software
COCOMO II
Plan de contingencia
Gestión de calidad
15. Gestión de Software –4P
PERSONAL –Esfuerzo humano intenso -> Ingeniería de SW eficaz
PROBLEMA –Plan Organizado . Mal Inicio-Problema Equivocado
PROCESO –Modelo -> Ciclo de Vida
10/29/2014 15
Personal
Proyecto
Proceso
Producto
Gestión Eficaz
16. Normalización de procesos, herramientas y tecnologías de soporte para la ingeniería de productos de software y sistemas buscando las mejores prácticas
JTC1/SC 7 -Software and systemsengineering
CT 27 -Sistemas de Informacion
Regional
Internacional
Normalización
Evaluación del producto de software
NA -ISO/IEC 14598
ISO/IEC 14598
Calidad del producto de software
NA –ISO/IEC 9126
ISO/IEC 9126ISO / IEC TR 19759 norma internacional: 2005
17. La nueva ISO 21500
Comité de Proyecto ISO/PC 236
40 países
Diversas Industrias
Publicada en Marzo del 2013
Recoge los aspectos destacables y los aspectos comunes de otras normas relacionadas (PMI, Prince2):
◦PMBOK®ProjectManagement Body of Knowledge
◦ICB International CompetenceBaseline
◦PRINCE2 Project in Controlled Environments
◦BS 6079 partes 1 a 4. Guideto Project Management
◦DIN 69901 partes 1 a 5. Project Management. Project Management Systems
◦ISO 10006 Quality Management Systems. Guideline for Quality Management in Project
La ISO 21500 describe los Procesos y establece Entradas y Salidas.
•NO establece Técnicas y Herramientas.
•La Guía del PMBOK®SÍ proporciona Técnicas y Herramientas.
10/29/2014 17
grupo de
procesos
área de
conocimiento
proceso de
gestión
_pertenece_
_agrupa_
18. 18
PMBOK Procesos de Gestión de Proyectos
Los procesos de gestión de proyectos:
◦contienen las “bestpráctices” de gestión
◦se pueden adaptar a cada disciplina, pero sin dejar de lado la esencia de su singularidad y del conjunto
◦se describen en el PMBOK en función de entradas, salidas, y herramientas/técnicas involucradas en transformar las entradas en salidas.
Áreas de Conocimiento:
◦4. Gestión de Integración del Proyecto
◦5. Gestión del Alcance del Proyecto
◦6. Gestión de Tiempos del Proyecto
◦7. Gestión de Costos del Proyecto
◦8. Gestión de la Calidad del Proyecto
◦9. Gestión de los Recursos Humanos del Proyecto
◦10. Gestión de las Comunicaciones del Proyecto
◦11. Gestión de Riesgos del Proyecto
◦12. Gestión de las Adquisiciones del Proyecto
grupo de
procesos
área de
conocimiento
proceso de
gestión
_pertenece_
_agrupa_
20. Requisitos de software
Diseño de software
Construcción de software
Pruebas de software
Mantenimiento de software
Gestión de la configuración de software
Gestión de (Proyectos) la ingeniería de software
Proceso de ingeniería de software
Herramientas y métodos de la ingeniería de software
Calidad de software
10/29/2014 20
22. Administración de Proyectos de Software (APS)?
Lagestióndeproyectosimplicalaplanificación,supervisión,ycontroldelpersonal,delprocesoydeloseventosqueocurrenmientrasevolucionaelsoftwaredesdelafasepreliminaralaimplementaciónoperacional.(Pressman)
23. Proceso de Administración de Proyectos de Software (APS)?
LaAPSPlanifica,dirigeycontrolaeldesarrollodeunsistemaaceptableconuncostemínimoydentrodeunperíododetiempoespecífico.
•Modelo de Proceso
Seleccionado
•Plan de Proyecto Preliminar
Establecido
•Proceso de Descomposición
Fin
24. 24
Iniciación
Cierre
Control
Ejecución
Planificación
Etapas del proceso de gestión Cada etapa se compone de varios procesos de gestión
Error fatal: pensar
que esto es el proyecto
25. Ciclos de Vida del SOFTWARE
Metodologías de
desarrollo de
Software
Metodologías o Ciclo de Vida . ¿Qué necesito?
Funciones básicas de APS en Desarrollo de Software
•Planificación de las tareas del proyecto y selección del equipo de proyecto.
•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.
31. Metodología Ágiles
Extreme Programming
Proceso Unificado Rational
Open SourceSoftware Development
•Entrega pequeñas de software con ciclos rápidos
Incremental
•cliente y desarrolladores trabajan juntos
Cooperativo
•Fácil de aprender y modificar, bien documentado
sencillo
•Permite realizar cambios de último momento)
adaptable
32. Gestión de los Recursos Humanos
Personal
Instituto de Ingeniería del Software
MMCGP
(Modelo de Madurez de la Capacidad de la Gestión de Personal)
Seleccionar profesionales altamente calificados
En un proyecto Software el factor humano es esencial
35. Administración de Calidad de Proyectos de Software
Calidad concepto presente en el mundo globalizado
◦“el producto desarrollado cumple su especificación” (Crosby, 1979)
EL MODELO DE CALIDAD DE SOFTWARE es un conjunto de buenas prácticas para el ciclo de vida del software, enfocado en los procesos de gestión y desarrollo de proyectos
Como se aplica a la IS? problemas
UNPSJB 2005 35
•La especificación se orienta hacia las características del producto que el consumidor quiere, pero la organización tiene requerimientos que no se incluyen en la especificación (ej. Mantenimiento)
•No se sabe como especificar ciertas características de calidad de una forma no ambigua
•Es difícil redactar especificaciones concretas del software. Por esto aunque el producto esté acorde con la especificación, los usuarios no lo consideran un producto de calidad.
36. Administración de Calidad
Tres actividades principales
◦Aseguramiento de calidad
◦Establecer un marco de trabajo de procedimientos y estándares organizacionales que conduce a software de alta calidad
◦Planeación de la calidad: la selección de procedimientos y estándares adecuados a partir de este marco de trabajo y la adaptación de éstos para un proyecto específico.
◦Control de calidad: definición y promulgación de los procesos que aseguran que los procedimientos y estándares para la calidad del proyecto son seguidos por el equipo de desarrollo de software.
◦Estándares
◦Del producto: se aplican sobre el elemento a desarrollar. Se incluye
◦Estándares de documentos
◦Estructuras del documento de requerimiento
◦Estándares de codificación, etc.
◦Del proceso: definen los procesos a seguir durante el desarrollo del SW. Incluyen
◦Procesos de especificación, diseño y validación
◦Documentación asociada con lo anterior
36
37. Cuáles son las consecuencias de una deficiente APS?
Necesidades no satisfechas o no identificadas
Cambio incontrolado del ámbito del proyecto
Exceso de costo
Retrasos en la entrega
38. Conclusiones
No existe la “bala de plata”
◦El SW es complejo por su tamaño
◦El SW es invisible y abstracto
◦El SW no se fabrica, se hace
Análisis y modelado temprano es importante
◦Los defectos se remueven en forma más barata
Modelado y análisis temprano no es suficiente
◦Se necesita comunicar los requerimientos a todos
◦Se necesitan congeniar múltiples agentes involucrados
◦Se necesitan entender el contexto del sistema
38
39. Conclusiones
El Cuerpo del Conocimiento de Ingeniería de Software (SWEBOK) es más apropiado que el cuerpo de Dirección de Proyectos (PMBOK) como una guía para los gestores de proyectos de software.
PMBOK tiene una tendencia a hacer hincapié en la gestión del alcance y de la descomposición de tareas, mientras que SWEBOK se centra en el análisis de requisitos y diseño arquitectónico
Los desarrollos y metodologías recientes en la ingeniería de software orientada a objetos (Agile) muestran que el énfasis en los requisitos en vez de alcance, y sobre la arquitectura en lugar de las tareas lleva a procesos de desarrollo de software de calidad superior
En los casos de desarrollo de aplicaciones de nuevas herramientas, el Análisis de Requisitos y la Arquitectura del Sistema deben ampliarse a un contexto más amplio.
Es recomendable quelas organizaciones exijan planificaciones detalladas de alcance, costos y cronogramas al comienzo de esfuerzo de desarrollo de software críticos
10/29/2014 39