UP: Comunicación

363
UP: Comunicación M.C. Juan Carlos Olivares Rojas [email protected] http://antares.itmorelia.edu.mx/ ~jcolivar 2009

description

UP: Comunicación. M.C. Juan Carlos Olivares Rojas. [email protected] http://antares.itmorelia.edu.mx/~jcolivar 2009. Agenda. Introducción (Teoría de Proyectos) Elementos para identificar posibles proyectos Métodos y etapas del Desarrollo de Proyectos Comunicación Inicio - PowerPoint PPT Presentation

Transcript of UP: Comunicación

Page 1: UP: Comunicación

UP: Comunicación

M.C. Juan Carlos Olivares Rojas

[email protected]://antares.itmorelia.edu.mx/~jcolivar

2009

Page 2: UP: Comunicación

Agenda

• Introducción (Teoría de Proyectos)– Elementos para identificar posibles

proyectos– Métodos y etapas del Desarrollo de

Proyectos

• Comunicación– Inicio– Requerimientos

Page 3: UP: Comunicación

IntroducciónIntroducción• Proyecto: es la integración de una serie

de procedimientos y actividades haciendo uso de una metodología definida que permita lograr los objetivos y metas de la manera más eficiente y efectiva.

• El término proyecto implica una actividad futura.

Page 4: UP: Comunicación

MetodologíaMetodología• Metodología: conjunto de pasos que nos

conducen a resolver un problema de manera sistemática.

• ¿Cuál es la diferencia con respecto a un algoritmo?

• Que la metodología se utiliza para resolver diversos tipos de problemas. Los algoritmos son precisos, las metodologías no dejan de ser mejores prácticas.

Page 5: UP: Comunicación

MetodologíaMetodología• Eficacia hacer las cosas bien.

• Eficiencia hacer más con menos.

• En proyectos existe un trade-off entre lo que es rendimiento de una aplicación (velocidad-cantidad de recursos).

55

Page 6: UP: Comunicación

Objetivos y metasObjetivos y metas• Un objetivo es lo que se aspira o se desea

obtener de un proyecto.

• Una meta es una métrica para cuantificar el logro de un objetivo.

• Un objetivo es en general y una métrica en particular.

Page 7: UP: Comunicación

Elementos de un Proyecto

Page 8: UP: Comunicación

InvestigaciónInvestigación

• Para lograr la realización de un proyecto es muy importante que se lleven a cabo una serie de pasos y procedimientos de investigación, los cuales permitirán abrir aún más las perspectivas que tenemos de dicho proyecto.

• ¿Qué es investigar?– Es indagar en búsqueda de la verdad

Page 9: UP: Comunicación

InvestigaciónInvestigación

• Los tipos de investigación son:

• Investigación pura o básica: su finalidad es la obtención de nuevo conocimientos. Investigación por amor al arte.

• Investigación aplicada: su finalidad es utilizar el conocimiento obtenido en la investigación en algún producto reutilizable.

Page 10: UP: Comunicación

Desarrollo tecnológicoDesarrollo tecnológico

• Desarrollo tecnológico: su finalidad es el desarrollo de un prototipo en el que se apliquen nuevas tecnologías y conocimientos

• Investigación documental: aquella que se basa solamente en bibliografía

• Investigación de campo: aquella que se realiza en el lugar de los hechos, que requiere experimentación.

Page 11: UP: Comunicación

InvestigaciónInvestigación• Investigación cualitativa: aquella en la que

las variables de investigación se evalúan en base a unidades no numéricas. (Investigaciones de Ciencias Sociales)

• Investigación cuantitativa: aquella cuyas variables pueden ser cuantificadas por medio de unidades tangibles (Investigaciones científicas y tecnológicas).

Page 12: UP: Comunicación

TareaTarea• Investigar métodos (estándares) que

permitan organizar la información de la carpeta del proyecto de manera efectiva.

• ¿Qué diferencia existe entre una Carpeta de Proyecto y un Portafolio de Proyecto?

Page 13: UP: Comunicación

Portafolio de Proyectos

Page 14: UP: Comunicación

TareaTarea• Definir un Blog, Wiki o Sitio Web para el

proyecto.

• Diariamente se deberá hacer un registro para visualizar el avance del proyecto al día de hoy.

Page 15: UP: Comunicación

Elementos para identificar Elementos para identificar posibles proyectosposibles proyectos

• A continuación se muestran algunos Motivos para desarrollar proyectos (necesidades):

  • Cambios demográficos  • Micromercados  • Volatilidad Corporativa

• Control de Costos

Page 16: UP: Comunicación

NecesidadesNecesidades

• Consumismo  • Crisis Educativas  • Ambientalismo  • Calidad*  • Globalización  • Regularizaciones

Investigación sobre Calidad del Software y Fábricas de Software

Page 17: UP: Comunicación

Áreas de oportunidadesÁreas de oportunidades• Problemas con algún elemento actual

• Deseos de explotar nuevas necesidades  • Incremento de la competencia  • Hacer más efectivo el uso de la información  • Crecimiento organizacional  • Unión o adquisición corporativa  • Cambios en el ambiente o en el mercado

Page 18: UP: Comunicación

Proceso para el Desarrollo de Proceso para el Desarrollo de InventivasInventivas

• Los proyectos se originas de inventos, los cuales son ideas materializadas.

• Aun no se conoce el substituto de una buena idea.

• Las ideas constituyen el primer acercamiento, a la realidad que habrá de investigarse.

Page 19: UP: Comunicación

Fuente de IdeasFuente de Ideas• Las experiencias individuales

• Los materiales escritos (libros, periódicos, revistas y tesis)

• Las conversaciones personales y las observaciones de hechos

• Las creencias y aún los presentimientos.

Page 20: UP: Comunicación

¿Cuándo surgen las Ideas?¿Cuándo surgen las Ideas?• Al leer una revista de divulgación popular

• Al estudiar en la casa

• Al ver televisión

• Al charlar con otras personas

• Al recordar algo vivido, etc.

Page 21: UP: Comunicación

IdeasIdeas• Las buenas ideas necesitan de un

ambiente fertilizador.

• Las ideas surgen en ocasiones de problemas y en otras de necesidades.

• Una necesidad es vital. Un problema no.

Page 22: UP: Comunicación

IdeasIdeas• La mayoría de las ideas iniciales son

vagas y requieren analizarse cuidadosamente para que sean transformadas en planteamientos más precisos y estructurados.

• Se necesita de 1% de inspiración y 99% de sudoración.

Page 23: UP: Comunicación

IdeasIdeas• Cuando una persona desarrolla una idea

de investigación debe familiarizarse con el campo de conocimientos donde se ubica la idea (fundamentos o marcos teóricos).

• En el caso de proyectos empresariales se debe conocer la cultura organizacional (antecedentes)

Page 24: UP: Comunicación

IdeasIdeas• Para adentrarnos en el tema es necesario

conocer los estudios, investigaciones y trabajos anteriores (estado del arte). Generalmente se resume en una tabla comparativa.

• No reinventar la rueda. Salvo que sea más costoso o inviable la solución.

Page 25: UP: Comunicación

Decidir el tipo de InvestigaciónDecidir el tipo de Investigación• Tema ya investigados, estructurados y

formalizados.

• Temas ya investigados pero menos estructurados y formalizados.

• Temas pocos investigados y estructurados.

• Temas no investigados.

Page 26: UP: Comunicación

Factores que restringen el éxito Factores que restringen el éxito de un Proyectode un Proyecto

• Alcance

• Costo

• Programa

• Satisfacción del Cliente

Page 27: UP: Comunicación

Factores que restringen el éxito Factores que restringen el éxito de un Proyectode un Proyecto

• Del grado de familiaridad de los desarrolladores con el proyecto (empeño y habilidades).

• La complejidad del mismo.

• La existencia de estudios previos.

Page 28: UP: Comunicación

Técnicas de Discusión Grupal• El proceso de resolución de problemas

tiene tres fases según Mintzberg: – identificar el problema– desarrollar diferentes soluciones posibles– evaluar las posibles soluciones y seleccionar

la más adecuada.

• Otros autores han agregado dos más fases: – ejecutar la solución deseada– evaluar los resultados de la ejecución de

dicha solución.

Page 29: UP: Comunicación

Técnicas de Discusión Grupal• Para la toma de decisiones grupales, existen

varios métodos que se pueden seguir como: – votación (la decisión más votada gana),– votación aprobatoria (cada miembro puede votar por

más de una opción, la opción más votada es la que gana),

– suma de rangos (se otorgan ponderaciones a las opciones, siendo 1 para la menos votada, este proceso se realiza por participante, gana la opción con mayor puntaje) y

– desviación mínima (se selecciona la opción que tenga mayor puntaje y cuya desviación sea mínimo).

Page 30: UP: Comunicación

Técnicas de Discusión Grupal• Estas técnicas se pueden mejorar a

través de otras técnicas que ayudan a la toma de decisiones que a continuación se mencionan:– lluvia de ideas, – rueda de mesa (similar a la lluvia de ideas

pero cada quien tiene un turno para exponer sus ideas de forma cíclica),

– análisis FODA (Fortalezas Oportunidades Debilidades Amenazas).

Page 31: UP: Comunicación

Técnicas de Discusión Grupal• La técnica del grupo nominal reúne

características de la tormenta de ideas y la rueda de mesa, su funcionamiento es el siguiente: – cada miembro del grupo escribe el mayor número de

soluciones posibles de manera anónima; – un moderador recoge todas las respuestas, las

presenta al grupo escribiéndolas en un panel, tratando de agrupar aquellas soluciones que sean afines;

– las ideas propuestas son discutidas por el grupo hasta que sean suficientemente claras;

Page 32: UP: Comunicación

Técnicas de Discusión Grupal– Cada miembro del grupo, anónimamente,

otorga una puntuación a cada solución ya sintetizada, en función de lo apropiada que le resulte cada una para resolver el problema que se discute;

– por último, el moderador resume las puntuaciones conseguidas por cada solución alternativa, de forma que se puede establecer una jerarquía de adecuación de las diferentes propuestas de solución en función de la opinión grupal.

Page 33: UP: Comunicación

Técnicas de Discusión Grupal• Para problemas más complejos se puede

utilizar la técnica Philips 66. La cual consiste en hacer grupos de 6 personas que discutirán el problema por 6 minutos.

• Otra técnica compleja es el Proceso Delphi, la cual se utiliza cuando se desea aislar los miembros del grupo para aislar sus opiniones; o bien, cuando se necesita la opinión de expertos los cuales se encuentran alejados geográficamente.

Page 34: UP: Comunicación

Técnicas de Discusión Grupal• El proceso Delphi es el siguiente:

– Se elabora un primer cuestionario para recoger información, posibles soluciones y causas del problema, este cuestionario se envía a los expertos, que los responde individual y anónimamente;

– se analizan los datos recogidos en el primer cuestionario categorizando las respuestas en función de su parecido y se elabora con esto un segundo cuestionario en el que se incluyen las alternativas más elegidas;

Page 35: UP: Comunicación

Técnicas de Discusión Grupal – se envía el segundo cuestionario en el

que cada experto ordena las diferentes alternativas en función de su adecuación, asignándoles un número y argumentando sus respuestas;

– se analizan las valoraciones del segundo cuestionario y con ello se elabora un tercer cuestionario dónde sólo aparecen las opciones más votadas y un resumen de los comentarios más importantes;

Page 36: UP: Comunicación

Técnicas de Discusión Grupal– los expertos contestan el tercer

cuestionario evaluando cada alternativa;

–se elaborará el informe final con los resultados obtenidos, este informe servirá a la persona encargada para tomar la decisión final.

Page 37: UP: Comunicación

Anexos Desarrollo de Anexos Desarrollo de InventivasInventivas

Ideas para definir Ideas

Page 38: UP: Comunicación

Avances en Avances en Ciencias de la Ciencias de la

Computación 2008Computación 2008

Page 39: UP: Comunicación

IntroducciónIntroducción• La computación como ciencia se actualiza a

pasos agigantados.

• La empresa de consultoría Gartner define una gráfica denominada Hiperciclo, en las cuales mide el avance de las tecnologías emergentes.

• En esta presentación se muestran las gráficas del 2006 y del 2012

Page 40: UP: Comunicación

IntroducciónIntroducción• La curva del hiperciclo tiene los

siguientes elementos:– Disparo de la tecnología (1)– Pico de expectaciones infladas (2)– Desilusión (3)– Grado de encantamiento (4)– Productividad plena (5)

Page 41: UP: Comunicación

Hiperciclo 2006Hiperciclo 2006• Disparo de la tecnología:

– Virtualización de aplicaciones para PC– Procesadores multinúcleo– Particiones de seguridad virtualizada– Suites E-learning– Suites de gestión (BPM)

Page 42: UP: Comunicación

Hiperciclo 2006Hiperciclo 2006

• Pico de expectaciones infladas:– Aplicaciones de outsourcing– Aplicaciones de almacenes de datos– Redes inalámbricas de tercera generación– WiMAX– Linux en el escritorio– Tablet PC– Suites Empresariales Inteligentes– Servicios de gestión de impresión

Page 43: UP: Comunicación

Hiperciclo 2006Hiperciclo 2006• Desilusión:

– Operaciones con llave pública– Portales básicos empresariales– CRM– BI– Lectores de huella digital– Clientes ligeros– Puntos de acceso WiFi

Page 44: UP: Comunicación

Hiperciclo 2006Hiperciclo 2006• Encantamiento:

– Tecnologías de manejo de contenido– ERP– Outsourcing de infraestructura de TI

Page 45: UP: Comunicación

Hiperciclo 2012Hiperciclo 2012• Disparo de tecnologías:

– Computación cuántica– Ajax offline– Traducción de voz a voz– Arquitectura orientadas a eventos– Inteligencia colectiva– Arquitecturas dirigidas por modelos– RSS Empresarial

Page 46: UP: Comunicación

Hiperciclo 2012Hiperciclo 2012

• Disparo de tecnologías (continuación):– Web semántica corporativa– Reconocimiento del habla para dispositivos

móviles

• Pico de expectaciones infladas– IPv6– Mashup– Web 2.0

Page 47: UP: Comunicación

Hiperciclo 2012Hiperciclo 2012

• Pico de expectaciones infladas:– “Folksonomías”– Papel digital– Análisis de redes sociales

• Desilusión:– RFID– Grid Computing– Ajax

Page 48: UP: Comunicación

Hiperciclo 2012Hiperciclo 2012

• Pagos biométricos• Wikis• Blog corporativo• Redes de sensores y mallas• Tablet PC• Pagos por dispositivos móviles• Tecnologías de localización• Mensajería Instantánea Empresarial

Page 49: UP: Comunicación

Hiperciclo 2012Hiperciclo 2012• Encantamiento:

– Aplicaciones basadas en localización– Smartphone

• Productividad– VoIP– Internal Web Services

Page 50: UP: Comunicación

BibliografíaBibliografía• Enciso, Enrique (2007). “Tendencias y

Predicciones Tecnológicas y Sociales”, Revista RED, Junio, pp. 21-27.

Page 51: UP: Comunicación

Innovación en TIInnovación en TI

Page 52: UP: Comunicación

Empresas TIEmpresas TI • cFares es un buscador de precios de

boletos de avión cubriendo la mayoría de las rutas en el mundo. http://www.cfares.com/

• iPolipo: resuelve el problema de agendar juntas, se requiere un promedio de 7 correos electrónicos para confirmar una cita, lo que representa 100 horas al año en una empresa promedio. http://www.ipolipo.com/

Page 53: UP: Comunicación

Empresas TIEmpresas TI

• MOG: sistema que con autorización del usuario, permite acceder a una PC y catalogar toda la música disponible. En base con otros usuarios se sugieren nuevos títulos de canciones, permite formar una red social. http://mog.com

• Startforce: Sistema Operativo desde la Web. http://www.startforce.com/

Page 54: UP: Comunicación

Empresas TIEmpresas TI• YouSentit: Empresa que permite la entrega

digital de documentos para personas con poco conocimiento de computación, permite llevar el seguimiento de los documentos. http://www.yousendit.com/

• Payscale: los usuarios pueden definir posiciones laborales mediante habilidades y experiencias y compararlas en base a otras personas en otras regiones. http://www.payscale.com/

Page 55: UP: Comunicación

Empresas TIEmpresas TI

• SimulScribe: se dedica a convertir mensajes de voz en texto con un mercado potencial de 5,000 millones de dólares. Se cobra 0.25 dólares por correo de voz. http://www.simulscribe.com/

• SIBEAM: red inalámbrica multi gigabit de 60 GHz para transmitir video de alta definición sin importar su comprensión. http://www.sibean.com/

Page 56: UP: Comunicación

ReferenciasReferencias• Enciso, Enrique. Innovación: clave para

permanecer en el juego (2007). Revista Software Red, Septiembre de 2007, pp. 13.

Page 57: UP: Comunicación

Anexos Desarrollo de Anexos Desarrollo de InventivasInventivas

Ideas para definir Ideas

Page 58: UP: Comunicación

Calidad del SoftwareCalidad del Software• El objetivo fundamental del Desarrollo

Estructurado de Proyectos es lograr la calidad del software.

• Por calidad se entienden muchas cosas. Para nuestro curso lo entenderemos como realizar 100% bien las cosas en el menor tiempo posible.

Page 59: UP: Comunicación

Calidad de SoftwareCalidad de Software• La calidad hace referencia intrínseca a

eficacia y eficiencia.

• ¿Qué tiene más calidad un “Vochito” o un BMV?

• Los dos tienen igual calidad si cumplen con los requerimientos (checklist).

Page 60: UP: Comunicación

Calidad de SoftwareCalidad de Software• En general la Ing. Sw tiene los objetivos

de que el software sea correcto, utilizable y costo-efectivo.

• Sinónimos de calidad es que esté libre de errores. Muchas de las metodologías de software actuales se basan en esta premisa.

Page 61: UP: Comunicación

Calidad de SoftwareCalidad de Software• ¿Por qué es difícil lograr la calidad del

software?

• El software es un producto intangible el cual se logra a través de un proceso creativo ya que programar es un arte, el cual no puede ser sistematizado del todo.

Page 62: UP: Comunicación

Calidad de SoftwareCalidad de Software

Page 63: UP: Comunicación

Calidad de SoftwareCalidad de Software

• ¿Por qué es importante el Desarrollo de Proyectos de forma Metodológica? El software es cada vez más complejo y costosos que se compara con construir un edificio.

• En 1968 se da un hito importante al ocurrir la “crisis del software” y definirse la Ingeniería de Software como tal.

Page 64: UP: Comunicación

Construcción de una casa Construcción de una casa para “wendo”para “wendo”

Puede hacerlo una sola personaRequiere:

Modelado mínimoProceso simpleHerramientas simples

Page 65: UP: Comunicación

Construcción de una casaConstrucción de una casa

Construida eficientemente y en un tiempo razonable por un equipoRequiere:

ModeladoProceso bien definidoHerramientas más sofisticadas

Page 66: UP: Comunicación

Construcción de un Construcción de un rascacielosrascacielos

No cualquier persona o grupo de persona lo realiza.Imposible sin técnicas de Ingeniería

Page 67: UP: Comunicación

Fábricas de SoftwareFábricas de Software• Tratan de automatizar los procesos de

desarrollo de software tal cual lo realizan las líneas de producción de los sistemas industriales.

• No es nuevo pero actualmente está teniendo mucho éxito. Requiere de mucho esfuerzo. Es un modelo organizacional.

Page 68: UP: Comunicación

Etapas para el desarrollo de Etapas para el desarrollo de un proyectoun proyecto

• Los proyectos en general presentan 6 etapas que a continuación se describen:

• Detección de necesidades: consiste en determinar los elemento (procesos, equipos, personas, etc.) que son requeridos o no para cumplir los objetivos del proyecto.

Page 69: UP: Comunicación

Etapas para el desarrollo de un Etapas para el desarrollo de un proyectoproyecto

• Definición del problema: consiste en delimitar las fronteras y el alcance de las necesidades que se desean atender.

• Factibilidad: consiste en definir las posibilidades de éxito de una solución.

Page 70: UP: Comunicación

Etapas para el desarrollo de un Etapas para el desarrollo de un proyectoproyecto

• Los niveles de factibilidad son: –Operacional –Técnico –Económico

• La decisión de si se realiza un proyecto o no depende del desarrollador y del cliente.

7070

Page 71: UP: Comunicación

Etapas para el desarrollo de Etapas para el desarrollo de un proyectoun proyecto

• Planeación del proyecto: consiste en establecer una serie de estrategias para resolver un problema, además de las técnicas y el control que se llevará a cabo.

• Elaboración del proyecto: consiste en definir el diseño, la elaboración de módulos y la integración de todos los elementos.

Page 72: UP: Comunicación

Etapas para el desarrollo de Etapas para el desarrollo de un proyectoun proyecto

• Se deben de dar a conocer en esta etapa todos los distintos tipos de pruebas y técnicas de análisis de resultados para determinar una posible evaluación al final del proyecto.

• Documentación: consiste en explicar como están compuestos los manuales técnicos y de usuario del proyecto.

Page 73: UP: Comunicación

Ciclo de Vida de un ProyectoCiclo de Vida de un Proyecto• Identificar una necesidad (1)

• Desarrollar una propuesta de solución (2)

• Realizar el proyecto (3)

• Terminar el proyecto (4)

Page 74: UP: Comunicación

Ciclo de Vida de un Proyecto

Page 75: UP: Comunicación

Ciclo de Vida de un ProyectoCiclo de Vida de un Proyecto• Un proyecto puede comenzar con un SDP

(Solicitud de Propuesta, RFP Request For Proposal) de un cliente.

• Un SDP es un documento en el cual se describe la problemática o necesidad de la empresa y se somete generalmente a concurso la solución.

Page 76: UP: Comunicación

Ciclo de Vida de un ProyectoCiclo de Vida de un Proyecto• En la mayoría de las ocasiones el SDP no

existe por lo cual se debe de hacer un análisis previo para plantear la solución.

• Una vez obtenido el SDP el proyecto inicia formalmente a través de un contrato*

Page 77: UP: Comunicación

Verdadero Ciclo de Verdadero Ciclo de Vida del Desarrollo Vida del Desarrollo

de un Proyectode un Proyecto

Page 78: UP: Comunicación

Primera fasePrimera fase

Page 79: UP: Comunicación

Segunda faseSegunda fase

Page 80: UP: Comunicación

Tercera faseTercera fase

Page 81: UP: Comunicación

Cuarta faseCuarta fase

Page 82: UP: Comunicación

Metodologías de Desarrollo de Metodologías de Desarrollo de SoftwareSoftware

• Las metodologías de software son un conjunto de “mejores prácticas” que si no se llevan a la práctica no sirven de nada.

• El factor humano es el recurso más importante de cualquier proyecto de software.

Page 83: UP: Comunicación

Metodologías de Desarrollo de Metodologías de Desarrollo de SoftwareSoftware

• Por ejemplo, la Ley de Brooks: Si se aumenta un programador más se retrasa el proyecto mientras se explica que hay que hacer.

• El proceso de desarrollo de software implica cuatro etapas:

Page 84: UP: Comunicación

Ley de Brooks

Page 85: UP: Comunicación

Metodologías de Desarrollo de Metodologías de Desarrollo de SoftwareSoftware

– Especificación– Desarrollo– Evaluación– Evolución

• El desarrollo de software se basa en modelos, siendo los más representativos:

Page 86: UP: Comunicación

Metodologías de Desarrollo de Metodologías de Desarrollo de SoftwareSoftware

• Cascada (clásico)• Construcción de prototipos• Espiral• RAD (Desarrollo rápido de aplicaciones)

• Cada uno de estos modelos tiene sus respectivas fases que pueden ser muy similares entre sí.

Page 87: UP: Comunicación

Modelos de Ciclo de VidaModelos de Ciclo de Vida

Cascada

Page 88: UP: Comunicación

Modelo Ciclo de Vida en Modelo Ciclo de Vida en Cascada ActualCascada Actual

• Comunicación:– Inicio del Proyecto– Recopilación de Requerimientos

• Planeación:– Estimación– Itinerario– Seguimiento

Page 89: UP: Comunicación

Modelo de Ciclo de Vida en Modelo de Ciclo de Vida en Cascada ActualCascada Actual

• Modelado– Análisis– Diseño

• Construcción– Código– Prueba

Page 90: UP: Comunicación

Modelo de Ciclo de Vida en Modelo de Ciclo de Vida en Cascada ActualCascada Actual

• Despliegue:– Entrega– Soporte– Retroalimentación

• En el modelo iterativo se repiten algunas fases al igual que en espiral.

Page 91: UP: Comunicación

Modelo de Ciclo de Vida en Modelo de Ciclo de Vida en Cascada ActualCascada Actual

Page 92: UP: Comunicación

Flujos de Trabajo de las Etapas

0 10 20 30 40 50 60 70 80 90 100

Análisis

Diseño

Implementación

Despliegue

Inicio

Page 93: UP: Comunicación

Flujos de Trabajo de las Etapas

0 10 20 30 40 50 60 70 80 90 100

Análisis

Diseño

Implementación

Despliegue

Elaboración

Page 94: UP: Comunicación

Flujos de Trabajo de las Etapas

0 10 20 30 40 50 60 70 80 90 100

Análisis

Diseño

Implementación

Despliegue

Construcción

Page 95: UP: Comunicación

Flujos de Trabajo de las Etapas

Transición

0 10 20 30 40 50 60 70 80 90 100

Análisis

Diseño

Implementación

Despliegue

Page 96: UP: Comunicación

Modelo IterativosModelo Iterativos

Page 97: UP: Comunicación

Modelo en EspiralModelo en Espiral

Page 98: UP: Comunicación

• Es la denominación del "MoModelo de ProProcesos para la Industria del SoftSoftware" desarrollado por la Asociación Mexicana para la Calidad en Ingeniería del Software (AMCIS) de la Universidad Autónoma de México (UNAM) por encargo de la Secretaría de Economía, es un modelo para la mejora y evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos de software

Page 99: UP: Comunicación

• MoProSoft es el nombre del modelo en la comunidad universitaria y profesional, y la norma técnica a la que da contenido es la NMX-059/01-NYCE-NMX-059/01-NYCE-20052005 que fue declarada Norma Mexicana el 15 de agosto de 2005 con la publicación de su declaratoria en el Diario de la Federación.

Page 100: UP: Comunicación

• Le ha dado origen el Programa para el Desarrollo de la Industria del Software (PROSOFT).

• PROSOFT tiene siete líneas estratégicas, siendo la sexta la que ha dado origen a MoProSoft: "Alcanzar niveles internacionales en capacidad de procesos“.

• Al comenzar el desarrollo de esta línea estratégica se evaluó la adopción de los modelos: ISO 9000, ISO 15504, SW-CMM.

• El resultado de la evaluación fue: "Ninguno de los estándares o modelos cumple con los requisitos expresados por la industria nacional", y se decidió la elaboración de un modelo adecuado para las características de las empresas mexicanas, que se basaría en los modelos evaluados.

• En base a esta decisión la Secretaría de Economía encargó la elaboración de dicho modelo a la Asociación Mexicana para la Calidad en Ingeniería del Software (AMCIS) en colaboración con la Universidad Nacional Autónoma de México (UNAM).

• La primera versión de MoProSoft se publicó en diciembre de 2002.

Page 101: UP: Comunicación

• Pocos procesos que abarcan todos los niveles de una organización: directivo, gerencial y operativo.

• Procesos integrados como una red de comunicación.

• Definición explícita de roles responsables por las actividades de cada proceso y la capacitación requerida.

• Definición explícita del propósito, objetivos específicos, indicadores, metas cuantitativas y mediciones para cada proceso.

• Definición explícita de productos de entrada, salida e internos de cada proceso y sus características mínimas.

• Definición de flujos de trabajo con las actividades, tareas, roles involucrados y productos generados

Page 102: UP: Comunicación

• Existencia de una Base de Conocimiento de la organización en la cual se resguardan todos los productos generados, se administran y se consultan de acuerdo con los mecanismos definidos.

• Definición de las actividades para recaudar lecciones aprendidas y usarlas en proyectos futuros.

• Definición de un mecanismo específico para la reacción a las situaciones excepcionales durante el desarrollo de las actividades.

• Definición explícita de las actividades de verificación, validación y pruebas

Page 103: UP: Comunicación

Definición explícita de guías de ajuste que sugieren la adaptación de los procesos a las necesidades de las organizaciones, sin perder de vista el cumplimiento de los objetivos de los procesos.

Los objetivos y metas cuantitativas son las que guían a los demás procesos y proyectos y son los que se valúan para conocer cuantitativamente la efectividad de los procesos de la organización.

Las sugerencias de mejora a los procesos se identifican y se reportan a los responsables de gestión de procesos.

Los procesos del modelo pueden ser ajustados con base al contexto de la organización.

Page 104: UP: Comunicación

• Contiene tres categorías de procesos que corresponden a las capas de Alta Dirección, Gestión y Operación.

Page 105: UP: Comunicación
Page 106: UP: Comunicación
Page 107: UP: Comunicación
Page 108: UP: Comunicación
Page 109: UP: Comunicación
Page 110: UP: Comunicación
Page 111: UP: Comunicación
Page 112: UP: Comunicación

• http://es.wikipedia.org/wiki/Moprosoft, consultado el día 20 de Agosto del 2008

• http://www.iie.org.mx/boletin032003/ind.pdf , consultado el día 20 de Agosto del 2008

• http://www.uv.mx/its/MoProSoft%20y%20su%20origen.pdf , consultado el día 20 de Agosto del 2008

• http://www.navegapolis.net/content/view/515/59/ , consultado el día 20 de Agosto del 2008

Page 113: UP: Comunicación
Page 114: UP: Comunicación

CMMI

-Capability Maturity Model Integration

-Modelo de Madurez de la Capacidad

De la Organización

De un conjunto de procesos agrupados

Área de Proceso

Page 115: UP: Comunicación

Es un modelo para la mejora de procesos que proporciona a las organizaciones los elementos esenciales para procesos eficaces.

Sucesor CMM. Desarrollado desde 1987 hasta 1997.

En 2002 CMMI Versión 1.1En Agosto de 2006 Versión 1.2.

El objetivo del proyecto CMMI es mejorar la usabilidad de modelos de madurez integrando varios modelos diferentes en un solo marco (framework).

Page 116: UP: Comunicación

Hay dos áreas de interés:

Sin embargo existen tres constelaciones de la versión 1.2 disponible:

1. CMMI para el Desarrollo (CMMI-DEV o CMMI for Development).

2. CMMI para la adquisición (CMMI-ACQ o CMMI for Acquisition).

3. CMMI para servicios (CMMI-SVC o CMMI for Services).

Page 117: UP: Comunicación

Una organización es evaluada y recibe una calificación de nivel 1-5 si sigue los niveles de Madurez.

La organización, puede elegir áreas de proceso y en vez de por niveles de madurez puede obtener los niveles de capacidad "Perfil de Capacidad" de la Organización.

Page 118: UP: Comunicación

REPRESENTACIONES

Según el modelo se tienen dos formas para mejorar:

Mejorar un proceso específico o un conjunto de ellos.

La mejora de la organización completa según los procesos definidos y ocupados.

Page 119: UP: Comunicación

En la siguiente tabla se muestran los niveles para estos dos tipos de representaciones:

Representación Continua

Representación Escalonada

Nivel De Capacidad Nivel De MadurezNivel 0 Incompleto -Nivel 1 Realizado InicialNivel 2 Manejado ManejadoNivel 3 Definido DefinidoNivel 4 Manejado

CuantitativamenteManejado

CuantitativamenteNivel 5 Optimizando Optimizando

Page 120: UP: Comunicación

Representación Continua

Mejora de un Proceso área de proceso en que una organización desea mejorar.

Existen seis niveles de capacidad por donde transitan los procesos asociados a un área de proceso:

Nivel 0 – Incompleto: Objetivos No Satisfechos.

Nivel 1 – Realizado: Objetivos Satisfechos.

Nivel 2 – Manejado: cuando tiene la infraestructura base para apoyar el proceso.

Page 121: UP: Comunicación

Nivel 3 – Definido: cuando es adaptado desde el conjunto de procesos estándares de la organización de acuerdo a las guías de adaptación de la organización.

Nivel 4 – Manejado Cuantitativamente: cuando es controlado usando técnicas estadísticas y otras técnicas cuantitativas.

Nivel 5 – Optimización: es mejorado basado en el entendimiento de causas comunes de variación del proceso.

Page 122: UP: Comunicación

Representación Escalonada

Método estructurado y sistemático mejora de procesos etapas o niveles.

Al alcanzar un nivel, la organización se asegura de contar con una infraestructura robusta en términos de procesos para optar a alcanzar el nivel siguiente Nivel de Madurez.

Áreas de procesos en donde los objetivos asociados a ese nivel deben ser cumplidos.

Page 123: UP: Comunicación

Existen cinco niveles de madurez:

Nivel 1 – Iniciado: la mayoría de los procesos son "ad-hoc" y caóticos.

Nivel 2 – Manejado: se ordena el caos. Aquí Las organizaciones se enfocan en tareas cotidianas referentes a la administración.

Nivel 3 – Definido: los procesos son caracterizados y entendidos de buena forma, y son descritos en estándares, procedimientos, herramientas, y métodos.

Page 124: UP: Comunicación

Nivel 4 – Manejado Cuantitativamente: la organización y proyectos establecen objetivos cuantitativos para medir la calidad y realización de los procesos y los usa como criterios en el manejo de ellos.

Nivel 5 – Optimizado: una organización mejora continuamente sus procesos basándose en el conocimiento de las causas comunes de variación inherente en los procesos.

Page 125: UP: Comunicación

AREAS DE PROCESO

Son un conjunto de prácticas relacionadas que cuando son implementadas colectivamente, satisfacen un conjunto objetivos considerados importantes para mejorar esa área de proceso.

El modelo CMMI v1.2(CMI-DEV) contiene 22 áreas de proceso:

Page 126: UP: Comunicación

Área de Proceso Categoría Nivel de MadurezAnálisis y Resolución Causales (CAR)

Soporte 5

Análisis y Resolución de Decisiones (DAR)

Soporte 3

Aseguramiento de la Calidad de Procesos y Productos (PPQA)

Soporte 2

Definición de Procesos Organizacionales +IPPD (OPD +IPPD)

Gestión de Procesos 3

Desarrollo de Requerimientos (RD)

Ingeniería 3

Entrenamiento Organizacional (OT)

Gestión de Procesos 3

Administración Cuantitativa de Proyectos (QPM)

Gestión de Proyectos 3

Administración de Acuerdos con Proveedores (SAM)

Ingeniería 2

Administración de Requerimientos (REQM)

Gestión de Proyectos 3

Administración de Riesgos (RSKM) Soporte 2

Administración de la Configuración (CM)

Gestión de Proyectos 3

Page 127: UP: Comunicación

Administración Integral de Proyecto + IPD (IPM+IPPD)

Gestión de Proyectos 3

Innovación y Despliegue Organizacional (OID)

Gestión de Procesos 5

Integración de Producto (PI) Ingeniería 3

Medición y Análisis (MA) Soporte 2

Monitoreo y Control de Proyecto (PMC)

Gestión de Proyectos 2

Planificación de Proyecto (PP) Gestión de Proyectos 2

Procesos Orientados a la Organización (OPF)

Gestión de Procesos 3

Rendimiento de Procesos Organizacionales (OPP)

Gestión de Procesos 4

Solución Técnica (TS) Ingeniería 3

Validación (VAL) Ingeniería 3

Verificación (VER) Ingeniería 3

Page 128: UP: Comunicación

Cuatro categorías:

1. Administración de Procesos, 2. Administración de Proyectos, 3. Ingeniería y 4. Soporte.

Este agrupamiento es realizado para mostrar cómo se relaciona cada área de proceso dentro de una categoría.

Page 129: UP: Comunicación

COMPONENTES

Page 130: UP: Comunicación

Componentes Requeridas

Son las componentes que obligatoriamente deben ser satisfechas y visiblemente implementadas para poder cumplir con un área de proceso:

1. Objetivo Específico (SG): única característica satisfacer el área de proceso.

2. Objetivo Genérico (GG): características satisfechas por un conjunto de áreas de proceso.

Page 131: UP: Comunicación

Componentes Esperadas

Son las componentes que pueden ser utilizadas para alcanzar una componente requerida:

1. Practicas Específicas (SP): describe una actividad alcanzar un objetivo específico.

2. Prácticas Genéricas (GP): describe una actividad alcanzar un objetivo genérico.

Page 132: UP: Comunicación

Componentes Informativos

Propósito Notas introductorias Nombres Tablas de relaciones práctica – objetivo Prácticas Productos típicos Sub-prácticas Ampliaciones de disciplina Elaboraciones de prácticas genéricas

Page 133: UP: Comunicación

Evaluaciones

Una evaluación de CMMI corresponde al estudio y análisis de uno o más procesos realizado por un equipo capacitado de profesionales, utilizando un modelo de referencia de evaluación como base para determinar, a lo menos, fortalezas y debilidades dentro de una organización.

El SEI ha publicado dos documentos guías que actualmente son utilizados para realizar una evaluación de CMMI:

Page 134: UP: Comunicación

1. Appraisal Requirements for CMMI (ARC).1. Clase A2. Clase B3. Clase C

Las clases definen los requerimientos que debe cumplir una evaluación de cierta complejidad.

2. Standard CMMI Appraisal Method for Process Improvement (SCAMPI).

Page 135: UP: Comunicación

Clase A

Corresponde al método de evaluación que satisface el 100% de los requerimientos que el documento define.

Se denomina SCAMPI clase A:

1. Capacidades de la organización, 2. Identificar fortalezas y debilidades en los

procesos y3. Relacionar estas fortalezas y debilidades con el

modelo de referencia CMMI.

Page 136: UP: Comunicación

Clase B

Ayuda a una organización a comprender el estado de los procesos relativos a CMMI.

Una evaluación clase B se ejecuta auto-evaluar sus procesos.

Esta clase de evaluación debe ser ejecutada por dos personas, incluyendo a un líder de CMMI y requiere mucho menos información que la evaluación clase A.

Page 137: UP: Comunicación

Clase C

Es realizada por sólo una persona y tiene por objetivo evaluar pequeños aspectos de la organización que quieren apoyarse.

Page 138: UP: Comunicación

CONCLUSIONES

CMMI provee:

1.Una forma de integrar los elementos funcionales de una organización.

2.Un conjunto de mejores prácticas basadas en casos de éxito probado de organizaciones experimentadas en la mejora de procesos.

Page 139: UP: Comunicación

3. Ayuda para identificar objetivos y prioridades para mejorar los procesos de la organización, dependiendo de las fortalezas y debilidades de la organización que son obtenidas mediante un método de evaluación.

4. Un apoyo para que las empresas complejas en actividades productivas puedan coordinar sus actividades en la mejora de los procesos.

5. Un punto de referencia para evaluar los procesos actuales de la organización.

Page 140: UP: Comunicación

REFERENCIAS

1.http://es.wikipedia.org/wiki/CMMI

2.http://www.monografias.com/trabajos57/modelo-calidad-cmmi/modelo-calidad-cmmi.shtml

3.http://www.mityc.es/NR/rdonlyres/A570B90C-B41A-46E2-BD39-4A31D18BB7FD/0/s01CeciliaRigoni.pdf

Page 141: UP: Comunicación

TSP/PSP

Team Software Process

Personal Software Process

Presenta:Linda Adriana Quesada Ruiz

Page 142: UP: Comunicación

TSP/PSP

Watts S. Humphrey es el inventor del PSP (Personal Software

Process) y el TSP (Team Software Process)

Page 143: UP: Comunicación

¿Qué es PSP?

Page 144: UP: Comunicación

+ Se utiliza cuando no existe un equipo de programadores.

+ Es un proceso de mejora continua --> esta diseñado para que se realicen varias

pruebas antes de liberar el producto.+ Consta de varias tareas que el programador tiene que realizar

repetidamente.

Page 145: UP: Comunicación

Para tener una buena calidad se requiere de tener métricas de calidad bastante

elevadas, esto es, aproximadamente un error por cada mi líneas de código,

PSP proporciona la opción de crear un programa de 10000 líneas de código con únicamente 10 errores, los cuales para un

programador son fáciles de depurar comparado con los errores que se pueden

presentar al no utilizar dicho proceso.

Page 146: UP: Comunicación

Las diferentes etapas del PSP son:+ Proceso base

El programador conoce las necesidades del cliente para tener una idea clara de lo que programara.

+ Ambiente de mejoraEn caso de tener un proyecto ya hecho esta es la etapa

de depuración, se utiliza para mejorar el proyecto anterior.

Page 147: UP: Comunicación

+ Estimación de tamaño de proyecto, pruebasEn caso de no ser así se estima el tamaño que

tendrá el software. Tomando en cuenta el tiempo que se le dedicara y las especificaciones del

cliente.

+ Plantación de tareas y horario.Ya teniendo el tamaño del software se puede hacer

una estimación del tiempo que se tomara para hacer la programación, así como, las diferentes tareas, de debe realizar un horario para tomar en cuenta cuanto tiempo debe tomar cada tarea y

terminar a tiempo.

Page 148: UP: Comunicación

+ Control de calidad personal.Por medio de pruebas se califica la eficiencia del sistema así como los errores que pueda llegar a tener, se tiene que confirmar que la calidad del

software es la deseada.

+ Proceso CíclicoTeniendo en cuenta la calidad con la que el

programa será liberado se decide si el software se liberara o tiene que volver a entrar en el proceso

como proceso base.

Page 149: UP: Comunicación

El problema mas grande que se presenta con el PSP es que para los programadores es difícil tratar

de visualizar todas las tareas y etapas del desarrollo.

Es por eso que en muchas ocasiones se necesita de otros programadores, pero al estar mas de uno

no se puede utilizar el proceso de software personal, este problema se soluciona formando un equipo de trabajo y llevando a cabo el desarrollo

por medio de TSP.

Page 150: UP: Comunicación

¿Qué es TSP?

Page 151: UP: Comunicación

TSP , en conjunto con PSP , ayuda al Ingeniero a:

+ Asegurar la calidad en los productos de software

+ Crear productos de software seguros

+ Mejorar procesos de Administración en una organización

Page 152: UP: Comunicación

+ Se utiliza cuando en el desarrollo existe un equipo de programadores.

+ Se utilizan todas las tareas que el PSP indica, pero además se utilizan métodos de organización

de personal debido a que al haber un equipo deben realizarse roles de trabajo.

+ Se tiene que tener un líder del equipo que este en comunicación con todos y que tenga control

sobre la organización del proyecto.

Page 153: UP: Comunicación

Contar con personal suficientemente capacitado.Que el personal tenga la capacidad de trabajar en

equipo.Debe haber convivencia en el equipo para facilitar

la comunicación.Tienen que realizarse roles de trabajo y cada

integrante debe estar en el área en la que mejor se desarrolla para que sea mas eficiente.

Page 154: UP: Comunicación

Reducción significativa en los errores que presenta el software

Reducción en el tiempo que de toma para desarrollar el software

Es más fácil y rápida la estimación del tiempo que se necesita para

programar.Facilidad para realizar cambios.

La calidad del producto que se tiene al final es muy grande (1 error por

KLDC)Los costos de desarrollo se reducen

en gran proporciónNo es necesario que los

programadores “roten” tareas.Se tiene control total sobre el proceso

de desarrolloLa productividad de los

programadores aumenta tanto personal como colaborativamente

Page 155: UP: Comunicación

Referencias

CarnegieMellon University (2008). Overview of Team Software Process and Personal Software Process.

Consultado en Agosto, 19, 2008 en http://www.sei.cmu.edu/tsp/index.html.

Melendez, Miguel (2006). Personal Software Process/Team Software Process. Consultado en Agosto,

19, 2008 en homepages.mty.itesm.mx/al796320/SoftwareProcess.do

c.

Page 156: UP: Comunicación

METODOLOGIA SIX SIGMA EN EL

DESARROLLO DE SOFTWARE

Ingeniería de Proyectos

Page 157: UP: Comunicación

MISION

• Proporcionar la información adecuada Máxima calidad del producto o servicio.

• Crear confianza y comunicación entre todos los participantes Eleva la calidad y el manejo administrativo

Page 158: UP: Comunicación

Introducción• Motorola, General Electric y Allied Signal utilizaron por primera

vez Seis Sigma para procesos de recuperación de datos, mejorar la calidad, disminuir los costos y prácticamente eliminar los defectos en los productos sobre el terreno.

• En la actualidad los profesionales están estudiando la forma de aplicar las técnicas de Seis Sigma para mejorar los sistemas de software y desarrollo.

Page 159: UP: Comunicación

Metodología Seis Sigma

Incluye:

• Una filosofía. Mejorar la satisfacción del cliente resultando en una mayor rentabilidad.

• Un conjunto de métricas

• Una mejora de marco (también llamado un conjunto de instrumentos)

Page 160: UP: Comunicación

Sigma (S)

Seis Sigma (6S) se refiere a una medida del proceso de variación (seis desviaciones estándar) que se traduce en un error o irregularidad tasa de 3,4 partes por millón, o 99.9997 por ciento.

Defecto = producto, servicio o proceso de variación que impide cumplir con las necesidades del cliente.

Page 161: UP: Comunicación

Proceso de Seis Sigma• 1. Definir el producto y servicio.

• 2. Identificar los requisitos de los clientes.  • 3. Comparar los requisitos con los

productos.  • 4. Describir el proceso.  • 5. Implementar el proceso.  • 6. Medir la calidad y producto.

Page 162: UP: Comunicación

• ¿Podemos usar Seis-Sigma en programas de mejoramiento de procesos de software?

Page 163: UP: Comunicación

Calidad de software:

• Fiabilidad

• Disponibilidad

• Mantenimiento de Control

• Productividad

Page 164: UP: Comunicación

Protagonistas en Seis Sigma.

• Equipo de Liderazgo

• Lead Black Belts • Campeón (Champion)

• Maestro Cinta Negra (Master Black Belt)

• Cinta Negra (Black Belt)  • Cinta Verde (Green Belt)

Page 165: UP: Comunicación

Herramientas Estadísticas

• Diagrama de Flujo de Procesos

• Diagrama de Causa-Efecto

• Diagrama de Pareto

• Histograma

• Gráfica de Corrida

• Gráfica de control

• Diagrama de Dispersión

• Modelo de Regresión

Page 166: UP: Comunicación

Métodos y procesos actuales

• ISO 9001

• CMM (Modelo de Capacidad de Madurez)

• BOOTSTRAP

• ISO/IEC TR 15504

• Microsoft Accelerator for Six Sigma

Page 167: UP: Comunicación

CONCLUSIONES • Aplicada a procesos industriales con el fin de obtener

una buena calidad de los productos (bienes y servicios).

• Ha evolucionado desde el trabajo de manufactura, y ahora para los productos de software y sus procesos.

 • La mayoría de las compañías a nivel mundial utilizan

la metodología 6σ elaborando inspecciones visuales y electrónicas y aplicando las herramientas estadísticas, con las cuales se puede observar el comportamiento de los procesos.

• Una vez observado el comportamiento del proceso, se procede a reducir al máximo los defectos en los productos o servicios, y lograr la plena satisfacción del cliente.

Page 168: UP: Comunicación

BIBLIOGRAFÍA:• Estrategias de Manufactura aplicando la metodología Seis-Sigma; Maya Héctor,

Rodríguez-Salazar Jesús, Rojas Julieta, Zazueta Guillermo; Editorial Oceánica; 1996.  • Six Sigma. The breaktrough Management Strategy; Harry Mikel , Schoeder Richard;

Mc Graw Hill Editorial; 2000.  • The Introduction to Six-Sigma Methodology; Brown Steve, Morrinson George; Editorial

Trillas; 1991. • http://mercadeo.com/archivos/six-sigma.pdf • http://www.sei.cmu.edu/news-at-sei/features/2004/1/feature-3.htm • http://www.sei.cmu.edu/news-at-sei/features/2004/1/pdf/feature-3.pdf • http://villeneuve.iespana.es/files/SeisSigma%20%20presentacion%20Final.ppt • http://www.cimat.mx/Sitios/seissigma/seissigma2/index.php?cod=a2&cod2=b4 • http://es.wikipedia.org/wiki/Modelo_de_Capacidad_y_Madurez

• http://es.wikipedia.org/wiki/ISO/IEC_15504

Page 169: UP: Comunicación

Metodologías Ágiles yeXtreme Programming (XP)

José Carlos García CubilloIngeniería De Proyectos

Universidad Vasco de Quiroga

Page 170: UP: Comunicación

Contenidos

I. IntroducciónII. eXtreme Programming (XP)III. Conclusiones

Page 171: UP: Comunicación

Introducción

Page 172: UP: Comunicación

¿Qué es una Metodología Ágil?

• Las Metodologías Ágiles (MAs) valoran:

– Al individuo y las interacciones en el equipo de desarrollo más que a las actividades y las herramientas

– Desarrollar software que funciona más que conseguir una buena documentación Minimalismo respecto del modelado y la documentación del sistema

– La colaboración con el cliente más que la negociación de un contrato

– Responder a los cambios más que seguir estrictamente una planificación

Page 173: UP: Comunicación

Costo de los Cambios en SW

Costodel

cambio

tiempo

Tradicional

Suposición MAs

Page 174: UP: Comunicación

Comparación Ágil v/s Tradicional

Metodología Ágil Metodología TradicionalPocos Artefactos. El modelado es prescindible, modelos desechables.

Más Artefactos. El modelado es esencial, mantenimiento de modelos

Pocos Roles, más genéricos y flexibles

Más Roles, más específicos

No existe un contrato tradicional, debe ser bastante flexible

Existe un contrato prefijado

Cliente es parte del equipo de desarrollo (además in-situ)

El cliente interactúa con el equipo de desarrollo mediante reuniones

Orientada a proyectos pequeños. Corta duración (o entregas frecuentes), equipos pequeños (< 10 integrantes) y trabajando en el mismo sitio

Aplicables a proyectos de cualquier tamaño, pero suelen ser especialmente efectivas/usadas en proyectos grandes y con equipos posiblemente dispersos

La arquitectura se va definiendo y mejorando a lo largo del proyecto

Se promueve que la arquitectura se defina tempranamente en el proyecto

Énfasis en los aspectos humanos: el individuo y el trabajo en equipo

Énfasis en la definición del proceso: roles, actividades y artefactos

Se esperan cambios durante el proyecto

Se espera que no ocurran cambios de gran impacto durante el proyecto

Page 175: UP: Comunicación

Principales MAs

• Crystal Methodologies, Alistarir Cockburn, www.crystalmethodologies.org

• SCRUM, Ken Schwaber & Jeff Sutherland, www.controlchaos.com

• DSDM (Dynamic Systems Development Method), www.dsdm.org

• Lean Programming, Mary Poppendieck, www.poppendieck.com

• FDD (Feature-Driven Development), Peter Coad & Jeff De Luca, www.nebulon.com/fdd, www.coad.com/peter/#fdd

• Extreme Programming, Kent Beck www.extremeprogramming.org, www.xprogramming.com

• Adaptative Software Development, Jim Highsmith www.adaptivesd.com

Page 176: UP: Comunicación

Programación ExtremaeXtreme Programming (XP)

Page 177: UP: Comunicación

Historia de XP

• Creada por Kent Beck a raíz de su experiencia en el proyecto C3 en Chrysler

Kent fue contratado para dirigir el proyecto

Durante el proceso nació una nueva metodología: eXtreme Programming (XP)

C3 concluyó exitosamente en 1997

Page 178: UP: Comunicación

Valores que fomenta XP

• Comunicación

• Simplicidad

• Retroalimentación

• Coraje

Page 179: UP: Comunicación

Roles XP

Programador– Responsable de

decisiones técnicas– Responsable de

construir el sistema– Sin distinción entre

analistas, diseñadores o programadores

– En XP, los programadores diseñan, programan y realizan las pruebas

Jefe de Proyecto (Manager)

– Organiza y guía las reuniones

– Asegura condiciones adecuadas para el proyecto

Cliente (Customer)

Es parte del equipoDetermina qué construir y cuándoEstablece las pruebas de aceptación

Page 180: UP: Comunicación

... Roles XP

Entrenador (Coach)– Responsable del

proceso– Tiende a estar en un

segundo plano a medida que el equipo madura

Encargado de Pruebas (Tester)

– Ayuda al cliente con las pruebas de aceptación

– Se asegura de que las pruebas aceptación se superan

Rastreador (Tracker)

“Metric Man”Observa sin molestarMantiene datos históricos

Page 181: UP: Comunicación

Artefactos esenciales en XP

• Historias del Usuario• Tareas de Ingeniería• Pruebas de Aceptación

• Pruebas Unitarias y de Integración• Plan de la Entrega• Código

Page 182: UP: Comunicación

Historia de Usuario Historia de Usuario Número: 1 Nombre: Enviar artículo Usuario: Autor Modificación de Historia Número: Iteración Asignada: 2 Prioridad en Negocio: Alta

(Alta / Media / Baja) Puntos Estimados:

Riesgo en Desarrollo:

(Alto / Medio / Bajo) Puntos Reales:

Descripción:

Se introducen los datos del artículo (título, fichero adjunto, resumen, tópicos) y de los autores (nombre, e-mail, afiliación). Uno de los autores debe indicarse como autor de contacto. El sistema confirma la correcta recepción del artículo enviando un e-mail al autor de contacto con un userid y password para que el autor pueda posteriormente acceder al artículo.

Observaciones:

Page 183: UP: Comunicación

Spike para Historia de Usuario

Page 184: UP: Comunicación

Tarea de Ingeniería

Tarea

Número tarea: Número historia:

Nombre tarea:

Tipo de tarea :

Desarrollo / Corrección / Mejora / Otra Puntos estimados:

Fecha inicio: Fecha fin:

Programador responsable:

Descripción:

Page 185: UP: Comunicación

Prueba de Aceptación Caso de Prueba Número Caso de Prueba: Número Historia de Usuario: Nombre Caso de Prueba: Descripción:

Condiciones de ejecución:

Entradas:

Resultado esperado: Evaluación:

Page 186: UP: Comunicación

Escenarios en XP : ExploraciónHistorias de Usuario

Prioridad RiesgoEsfuerzo (puntos)

Spikes (Bosquejos)

DefinirHistorias de Usuario

ElaborarSpikes

Estimar Esfuerzo y Riesgo

?

Page 187: UP: Comunicación

Escenarios en XP: Planificación de la Entrega

Historias de Usuario

PrimeraIteración

SegundaIteración

ÚltimaIteración

N-ésimaIteración

Historiasfuera de laentrega

Velocidad de Proyecto (VP)puntos/semana

Entrega<= 3 meses

2 a 3semanas

Page 188: UP: Comunicación

Escenarios en XP : Comenzar Iteración

Historias de laIteración

Definir y ordenarTareas deIngeniería

Tareas de la iteración

Page 189: UP: Comunicación

Escenarios en XP : Programación

Pruebas deAceptaciónde Historias de la iteración

Programaciónen Parejas

Tareas de Historias dela iteración

Historias de laIteración

Versión delProducto

DiseñoRefactoringProgramaciónPruebas UnitariasIntegraciónPruebas de IntegraciónPruebas de Aceptación

Page 190: UP: Comunicación

Escenarios en XP : Pruebas de Aceptación

Pruebas deAceptación

Definir Pruebasde Aceptación

Aplicar Pruebasde Aceptación

Corregir erroresDefinir nuevas Historias

Page 191: UP: Comunicación

Entorno y clima de trabajo Espacio de trabajo XP

• Espacio abierto• Mesas centrales• Cubículos en el espacio exterior

Espacio de trabajo del proyecto C3 de DaimlerChrysler

Page 192: UP: Comunicación

• Reunión diaria: “Stand-up Meeting”

– Todo el equipo• Problemas• Soluciones

– De pie en un círculo • Evitar discusiones largas • Sin conversaciones separadas

… Entorno y clima de trabajo Reunión diaria XP

Page 193: UP: Comunicación

Conclusiones

Page 194: UP: Comunicación

¿Cuándo utilizar una Metodología Ágil?

• ¿Tienes ya un proceso? No

o existe pero no reacciona bien a los cambios

o existe pero el equipo no está contento con él

Una Metodología Ágil puede ser una buena forma de empezar

• No involucra gran inversión• A los programadores les (suele) gustar• A los clientes les ofrece mayor visibilidad

y menor riesgo en el proyecto

Page 195: UP: Comunicación

Sitios Consultados• Sitio Extreme Programming: A Gentle Introduction. www.extremeprogramming.org • Secciones “Artículos” y “Roadmap” del sitio de la Agile Alliance.

www.agilealliance.org• Sitio Xprogramming, mantenido por Ron Jeffries. www.xprogramming.com• WikiWiki de Extreme Programming http://c2.com/cgi/wiki?

ExtremeProgrammingRoadmap• Revista electrónica Software Development. www.sdmagazine.com• Número monográfico de revista CrossTalk: Agile Software Development.

www.stsc.hill.af.mil/crosstalk/2002/10/• Una extensiones de XP, Agile+. www.agiletek.com• Sitios de modelado ágil, mantenidos por Scott W. Ambler. www.agilemodeling.com y

www.agiledata.org• Refactoring, mantenido por Martin Fowler. www.refactoring.com• Pruebas en contexto ágil, www.junit.org • International Conference on eXtreme Programming and Agile Methods in Software

Development (XP200x) http://www.xp2004.org• XP Agile Universe http://www.agileuniverse.com

Page 196: UP: Comunicación

MSF(Microsoft Solutions

Framework)Presenta:

Gonzalo Bolaños LópezHéctor Jaime Carrasco

Page 197: UP: Comunicación

• Es una muy flexible e interrelacionada serie de conceptos, modelos y prácticas de uso que controlan la planificación, el desarrollo y la gestión de proyectos tecnológicos.

• Se centra en los modelos de proceso y de equipo dejando en un segundo plano las elecciones tecnológicas.

Definición

Page 198: UP: Comunicación

Antecedentes

• Originalmente creado en 1994 para conseguir resolver los problemas a los que se enfrentaban las empresas en sus respectivos proyectos, se ha convertido posteriormente en un modelo práctico que facilita el éxito de los proyectos tecnológico.

Page 199: UP: Comunicación

Principios1. Fomentar la comunicación abierta2. Trabajar en pro de una visión compartida3. Potenciar a los miembros del equipo4. Establecer una clara rendición de cuentas y

la responsabilidad compartida5. Enfoque en la entrega de valor del negocio6. Manténgase ágil, esperar el cambio7. Invertir en calidad8. Aprender de todas las experiencias.

Page 200: UP: Comunicación

Modelo de Equipo

• Proporciona una estructura flexible para organizar los equipos de un proyecto. Puede ser escalado dependiendo del tamaño del proyecto y del equipo de personas disponibles.

Page 201: UP: Comunicación

Modelo de Proceso

• Proporciona una estructura de pautas a seguir en el ciclo de vida del proyecto, describiendo las fases, las actividades, la liberación de versiones y explicando su relación con el Modelo de equipo.

Page 202: UP: Comunicación

FASES

• Previsión. • Planeamiento • Desarrollo • Estabilización • Implementación

Page 203: UP: Comunicación

Disciplina de Gestión de Riesgos

• Este modelo proporciona un entorno estructurado para la toma de decisiones y acciones valorando los riesgos que puedan provocar.

Page 204: UP: Comunicación

Disciplina de Gestión de Proyectos

• Describe el rol de la gestión del proyecto dentro del modelo de equipo de MSF, y como permite mayor escalabilidad, desde proyectos pequeños a proyectos largos y complejos.

Page 205: UP: Comunicación

Disciplina de Gestión de la Preparación

• Describe aquellos conocimientos, aptitudes y habilidades que son necesarias para planificar, desarrollar y gestionar soluciones satisfactorias.

Page 206: UP: Comunicación

Gestión de productos

• Lograr la satisfacción del cliente.• Actuar como el defensor del cliente al

equipo y como el equipo defensor al cliente.

Page 207: UP: Comunicación

Programa de gestión

• Satisfacer la meta de calidad de la entrega de los productos dentro de las limitaciones del proyecto. Garantiza que el producto se entrega en el momento adecuado.

• Calendario• Características • Presupuesto

Page 208: UP: Comunicación

Usuario de la educación

• Mejorar el rendimiento del usuario de modo que los usuarios son tan productivo como sea posible con el producto

Page 209: UP: Comunicación

Gestión de la logística

• Defensor de las operaciones, soporte de producto, asistencia al usuario, y otras organizaciones de canales de entrega y gestión en curso.

Page 210: UP: Comunicación
Page 211: UP: Comunicación

Conclusiones• El Microsoft Solutions Framework proporciona las mejores

prácticas para planear, diseñar, convertir y desarrollar exitosas soluciones empresariales. Es una herramienta muy eficaz para el desarrollo de proyectos porque te da las bases esenciales para que desde el comienzo se desarrolle todos los procesos que se necesitan realizar de manera eficiente y eficaz y con el mínimo de errores que permitan evolucionar todo tipo de proyecto y no se tenga que regresar demasiado a etapas anteriores por fallas en el manejo de decisiones o acciones deficientes.

• Nos ayuda a realizar mejores `proyectos en tiempos mas rápidos, los cuales siempre son la meta a alcanzare n una empresa de desarrollo.

Page 212: UP: Comunicación
Page 213: UP: Comunicación
Page 214: UP: Comunicación

Referencias• http://www.mentores.net/articulos/

intro_microsoft_sol_frame.htm

• http://209.85.141.104/search?q=cache:uDkabg6xdlUJ:www.malagadnug.org/ficheros/MSFMartinLuisReq.pdf+microsoft+solutions+framework&hl=es&ct=clnk&cd=8&gl=mx

• http://translate.google.com.mx/translate?hl=es&sl=en&u=http://www.echoes.com/msf/&sa=X&oi=translate&resnum=4&ct=result&prev=/search%3Fq%3Dmicrosoft%2Bsolutions%2Bframework%26start%3D10%26hl%3Des%26sa%3DN

• http://www.microsoft.com/spanish/MSDN/estudiantes/ingsoft/planificacion/msf.mspx

Page 215: UP: Comunicación

Biblioteca de Infraestructura de

Tecnologías de Información POR:

LUIS MANUEL SUÁREZ HUERTAANTONIO DE JESUS FERREIRA GARCÍA

Page 216: UP: Comunicación

• La Biblioteca de Infraestructura de Tecnologías de Información (‘Information Technology Infrastructure Library’), frecuentemente abreviada ITIL, es un marco de trabajo de las mejores prácticas destinadas a facilitar la entrega de servicios de tecnologías de la información (TI).

INTRODUCCION

Page 217: UP: Comunicación

• ITIL es una metodología desarrollada a finales de los años 80’s por iniciativa del gobierno del Reino Unido, específicamente por la OGC u Oficina Gubernativa de Comercio Británica (Office of Goverment Comerce).

Page 218: UP: Comunicación

• Esta metodología es la aproximación más globalmente aceptada para la gestión de servicios de Tecnologías de Información en todo el mundo, ya que es una recopilación de las mejores prácticas tanto del sector público como del sector privado.

Page 219: UP: Comunicación

• . Estas mejores practicas de dan en base a toda la experiencia adquirida con el tiempo en determinada actividad, y son soportadas bajo esquemas organizacionales complejos, pero a su vez bien definidos, y que se apoyan en herramientas de evaluación e implementación.

Page 220: UP: Comunicación

EL OBJETIVO DE USAR ITIL

• ITIL como metodología propone el establecimiento de estándares que nos ayuden en el control, operación y administración de los recursos (ya sean propios o de los clientes).

Page 221: UP: Comunicación

• Plantea hacer una revisión y reestructuración de los procesos existentes en caso de que estos lo necesiten (si el nivel de eficiencia es bajo o que haya una forma mas eficiente de hacer las cosas), lo que nos lleva a una mejora continua.

Page 222: UP: Comunicación

• Otra de las cosas que propone es que para cada actividad que se realice se debe de hacer la documentación pertinente, ya que esta puede ser de gran utilidad para otros miembros del área, además de que quedan asentados todos los movimientos realizados, permitiendo que toda la gente este al tanto de los cambios y no se tome a nadie por sorpresa.

Page 223: UP: Comunicación

SOLUCIONES PARA ITIL DESDE EL PUNTO DE VISTA DE NEGOCIO.

• Según el diagrama 1.1 vemos como aparentemente tenemos segmentos del negocio aislados, pero en realidad todos tienen algo que ver para la obtención de las soluciones.

Page 224: UP: Comunicación

• Por ejemplo la prestación de servicios muchas veces no seria posible sin la gestión de infraestructura, asimismo las perspectivas del negocio no se darían sin la prestación de servicio y los servicios no serian posibles sin un soporte al servicio.

Page 225: UP: Comunicación

Diagrama 1.1

Page 226: UP: Comunicación

FORMA DE USO DE ITIL EN MANAGED SERVICES.

• ITIL postula que el servicio de soporte, la administración y la operación se realiza a través de cinco procesos:

• Manejo de Incidentes• Manejo de Problemas• Manejo de Configuraciones• Manejo de Cambios• Manejo de Entregas

Page 227: UP: Comunicación

PROCESO DE MANEO DE INCIDENTES.

• Su objetivo primordial es reestablecer el servicio lo mas rápido posible para evitar que el cliente se vea afectado, esto se hace con la finalidad de que se minimicen los efectos de la operación.

Page 228: UP: Comunicación

PROCESO DE MANEJO DE PROBLEMAS

• El Objetivo de este proceso es prevenir y reducir al máximo los incidentes, y esto nos lleva a una reducción en el nivel de incidencia. Por otro lado nos ayuda a proporcionar soluciones rápidas y efectivas para asegurar el uso estructurado de recursos.

Page 229: UP: Comunicación

• En este proceso lo que se busca es que se pueda tener pleno control del problema, esto se logra dándole un seguimiento y un monitoreo al problema.

Page 230: UP: Comunicación

PROCESO DE MANEJO DE CONFIGURACIONES.

• Su objetivo es proveer con información real y actualizada de lo que se tiene configurado e instalado en cada sistema del cliente.

Page 231: UP: Comunicación

• Este proceso es de los más complejos, ya que se mueve bajo cuatro vértices que son: administración de cambios, administración de liberaciones, administración de configuraciones y la administración de procesos diversos.

Page 232: UP: Comunicación

PROCESO DE CONTOL DE CAMBIOS.

• El objetivo de este proceso es reducir los riesgos tanto técnicos, económicos y de tiempo al momento de la realización de los cambios.

Page 233: UP: Comunicación

PROCESO DE MANEJO DE ENTREGAS.

• Su objetivo es planear y controlar exitosamente la instalación de Software y Hardware bajo tres ambientes: ambiente de desarrollo, ambiente de pruebas controladas y ambiente real.

Page 234: UP: Comunicación

CERTIFICACION.• Los particulares pueden conseguir

varias certificaciones oficiales ITIL. Los estándares de calificación ITIL son gestionados por la ITIL Certification Management Board (ICMB) que agrupa a la OGC, a itSMF International y a los dos Institutos Examinadores existentes: EXIN (con sede en los Países Bajos) e ISEB (con sede en el Reino Unido).

Page 235: UP: Comunicación

• Existen tres niveles de certificación ITIL para profesionales:

• 1. Foundation Certificate (Certificado Básico): acredita un conocimiento básico de ITIL en gestión de servicios de tecnologías de la información y la comprensión de la terminología propia de ITIL. Está destinado a aquellas personas que deseen conocer las buenas prácticas especificadas en ITIL.

Page 236: UP: Comunicación

• 2. Practitioner's Certificate (Certificado de Responsable): destinado a quienes tienen responsabilidad en el diseño de procesos de administración de departamentos de tecnologías de la información y en la planificación de las actividades asociadas a los procesos.

Page 237: UP: Comunicación

• 3. Manager's Certificate (Certificado de Director): garantiza que quien lo posee dispone de profundos conocimientos en todas las materias relacionadas con la administración de departamentos de tecnologías de la información, y lo habilita para dirigir la implantación de soluciones basadas en ITIL.

Page 238: UP: Comunicación

CONCLUSIONES.

• ITIL es una metodología que nos va a ayudar a que las cosas se puedan hacer de una forma más eficiente, ya que lo que se propone es que se adopten ciertas métricas y procedimientos que otros proveedores de IT adoptaron y que gracias a ellas son catalogadas como mejores prácticas.

Page 239: UP: Comunicación

• El hecho de adoptar mejores practicas implica que no tengamos que descubrir el hilo negro y que si alguien sabe como hacer las cosas y explotar los recursos nos podemos apoyar en el para que nosotros también podamos hacerlo. El mayor objetivo es que todos lleguemos a un nivel de eficiencia que se traduzca en una buena prestación de servicios.

Page 240: UP: Comunicación

• Wikipedia Foundation. Inc(2008) Information Technology Infrastructure Library. Disponibilidad: <http://es.wikipedia.org/wiki/Information_Technology_Infrastructure_Library> [Fecha de consulta: 20 de Agosto 2008].

FUENTES:

Page 241: UP: Comunicación

• Hernández García, Carlos (2002) Metodología ITIL Disponibilidad: <http://www.monografias.com/trabajos31/metodologia-itil/metodologia-itil.shtml> Fecha de consulta: 20 Agosto 2008

• Consultoría asentti, (2005), Descubriendo ITIL, Disponibilidad: http://www.cepra.com.mx/itil.pdf Fecha de consulta: 20 Agosto 2008.

Page 242: UP: Comunicación

Radiografía de la Radiografía de la Industria del Industria del

Software en MéxicoSoftware en México

¿Por qué son importantes las metodologías de desarrollo

de software?

Page 243: UP: Comunicación

Tipos de OrganizaciónTipos de Organización

Page 244: UP: Comunicación

Esquema de ContrataciónEsquema de Contratación

Page 245: UP: Comunicación

EdadEdad

Page 246: UP: Comunicación

EscolaridadEscolaridad

Page 247: UP: Comunicación

GéneroGénero

Page 248: UP: Comunicación

AntigüedadAntigüedad

Page 249: UP: Comunicación

SalariosSalarios

Page 250: UP: Comunicación

SalariosSalarios

Page 251: UP: Comunicación

SalariosSalarios

251251

Page 252: UP: Comunicación

Salario InternacionalSalario Internacional

Page 253: UP: Comunicación

Salario Tipo de OrganizaciónSalario Tipo de Organización

Page 254: UP: Comunicación

Salario por FunciónSalario por Función

Page 255: UP: Comunicación

Salario por Rango EdadSalario por Rango Edad

Page 256: UP: Comunicación

Salario Grado de EstudiosSalario Grado de Estudios

Page 257: UP: Comunicación

Conocimiento y HabilidadesConocimiento y Habilidades

Page 258: UP: Comunicación

Conocimiento y HabilidadesConocimiento y Habilidades

Page 259: UP: Comunicación

PlataformasPlataformas

Page 260: UP: Comunicación

BDBD

Page 261: UP: Comunicación

Otras habilidadesOtras habilidades

Page 262: UP: Comunicación

CertificacionesCertificaciones

Page 263: UP: Comunicación

CertificacionesCertificaciones

Page 264: UP: Comunicación

Problemas de Comunicación

Page 265: UP: Comunicación

Ejemplo de Metodologías

• Problema: El profesor se encuentra actualmente ante una necesidad de extrema importancia. Necesita realizar una corbata para ir a una junta en donde se encontrarán altos empresarios del sector informático, el detalle es que no sabe a ser un nudo de corbata

• ¿Cómo podría resolver el problema?

Page 266: UP: Comunicación

Ejemplo de Metodologías• La solución más fácil es realizar outsorcing

(que lo hagan otros).

• Sino se puede, se deberá realizar en base a tres formas básicas de solución de problemas:

• Conocimiento• Experiencia• Sentido Común

Page 267: UP: Comunicación

Ejemplos de Metodologías

• La forma más fácil es a través de una metodología para realizar nudos de corbatas como la planteada en http://www.nudo-de-corbata.com/

• Lo primero que se tiene que saber es si debe ser un tipo especial de corbata o no. Los tipos pueden ir desde nudo de corbata simple, doble, windsor, medio windsor, nudo pequeño.

Page 268: UP: Comunicación

Simple

Page 269: UP: Comunicación

Doble

Page 270: UP: Comunicación

Windsor

Page 271: UP: Comunicación

Medio Windsor

Page 272: UP: Comunicación

Nudo pequeño.

Page 273: UP: Comunicación

Nudo Cruzado

Page 274: UP: Comunicación

RequerimientosRequerimientos• Un requisito no es otra cosa que una

condición o capacidad de un usuario o sistema para satisfacer un objetivo o resolver un problema.

• Los requerimientos pueden ser funcionales (explícitos) o no funcionales (implícitos).

Page 275: UP: Comunicación

RequerimientosRequerimientos

• Las características que deben perseguir los requerimientos son: necesario, conciso, completo, consistente, no ambiguo, verificable.

• Los problemas que presenta la Ingeniería de Requerimientos son muchos:

Page 276: UP: Comunicación

RequerimientosRequerimientos• Los requerimientos no son obvios y

provienen de muchas fuentes.

• Son difíciles de expresar en palabras.

• Un requerimiento puede cambiar en el transcurso del proyecto.

Page 277: UP: Comunicación

RequerimientosRequerimientos• Lo que se pretende con una buena

Ingeniería de Requerimientos es reducir costos y retrasos del proyecto, mejorar la calidad del software, evitar el rechazo de los usuarios finales entre otras cuestiones.

Page 278: UP: Comunicación

RequerimientosRequerimientos• Es muy importante definir los límites y

alcances del sistema.

• El éxito de la obtención de requerimientos consiste en ponernos en los zapatos de nuestros clientes y no desarrollando a nuestros gustos.

272788

Page 279: UP: Comunicación
Page 280: UP: Comunicación

Diferentes VistasDiferentes Vistas

Page 281: UP: Comunicación

Diferentes VistasDiferentes Vistas

Page 282: UP: Comunicación

Diferentes VistasDiferentes Vistas

Page 283: UP: Comunicación

RequerimientosRequerimientos

• Se deben evaluar y negociar cada uno de los requerimientos con el fin de priorizar cada uno de los requerimientos.

• Se deben documentar cada uno de los requerimientos obtenidos así como el control del cambio.

Page 284: UP: Comunicación

RequerimientosRequerimientos• Para obtener requerimientos se siguen

muchas técnicas. Las más populares son las entrevistas y cuestionarios.

• Tips para Diseñar Cuestionarios.

• Es necesario realizar un muestreo de los datos para encontrar necesidades.

Page 285: UP: Comunicación

RequerimientosRequerimientos

• Se deberán poner escalas (preguntas cerradas) para cuantificar lo que se pretende.

• Actividad: diseñar un cuestionario sobre el proyecto y aplicarlo a por los menos a 20 personas. Se sugiere utilizar sistemas en líneas para realizar los cuestionarios. (Diseño:20%, Aplicación:80%)

Page 286: UP: Comunicación

Request For Proposal

• Solicitud de Propuesta 1:

• Desarrollar un sistema de cómputo móvil para la ayuda en la toma de requerimientos de proyectos de software.

• El sistema deberá sincronizarse con un servidor en donde se centralizará la información y podrá compartirse con otros a través de un portal Web.

Page 287: UP: Comunicación

Request For Proposal

• El Sistema de cómputo móvil deberá tener la capacidad de implantar las técnicas de obtención de requerimientos más comunes (cuestionarios, encuestas, prototipos, FODA, FURPS, etc.) y plasmarlo en una lista de requerimientos que permita obtener un diccionario de datos y algún modelo visual como los diagramas de casos de uso.

Page 288: UP: Comunicación

Request For Proposal

• Solicitud de Propuesta 2:

• Realización de un sistema LBS que permita conocer la ruta “ideal” entre dos puntos de la ciudad de Morelia para utilizarse en sistemas de Taxi.

• La aplicación deberá de ser de preferencia para un dispositivo móvil con GPS o 3G.

Page 289: UP: Comunicación

Request For Proposal• Otra forma de realizarse es a través de un

“mashup” para la Web utilizando la API de Google Map o Google Earth.

• Se deberá calcular costos utilizando la información espacial disponible.

• Se excluyen elementos como tráfico, manifestaciones y otra información no disponible en el modelo.

Page 290: UP: Comunicación

RequerimientosRequerimientos• Tips para realizar entrevistas:

• Utilizar una técnica de rombo de preguntas cerradas, abiertas y cerradas.

• Observación del mundo (STROBE).• Tener un guión flexible (improvisación).

292900

Page 291: UP: Comunicación

RequerimientosRequerimientos

• Tarea: realizar una entrevista a personal relacionado con el proyecto. Primera parte diseño entrevista (50%) una vez aprobada por el profesor (entrega martes 10 junio) se procede a la aplicación (50%).

• En metodologías ágiles el cliente participa de manera activa en el desarrollo del sistema.

292911

Page 292: UP: Comunicación

FODAFODA• Se pueden utilizar técnicas como la Lluvia

de Ideas o análisis FODA, el cual consiste en hacer una relación entre elementos:

• Fortaleza: Factor interno positivo.• Oportunidades: Factor externo positivo.• Debilidades: Factor interno negativo.• Amenazas: Factor externo negativo.

Page 293: UP: Comunicación

RequerimientosRequerimientos• Actividad: Realizar un análisis FODA del

proyecto. Cada integrante del equipo se encarga de un área y se junta (100%)

• Otras técnicas de obtención de requerimientos son:

• Matriz de requisitos• Metodología FURPS+

Page 294: UP: Comunicación

Metodología FURPS+Metodología FURPS+• Funcional (Functional): características,

capacidades y seguridad.

• Facilidad de Uso (Usability): factores humanos, ayuda, documentación.

• Fiabilidad (Reliability): frecuencia de fallos, capacidad de recuperación.

Page 295: UP: Comunicación

Metodología FURPS+Metodología FURPS+• Rendimiento (Performance): tiempos de

respuesta, productividad, precisión, disponibilidad, uso de los recursos

• Soporte (Supportability): adaptabilidad, facilidad de mantenimiento, internacionalización, configurabilidad.

Page 296: UP: Comunicación

Metodología FURPS+Metodología FURPS+• +:• Implementación: limitación de recursos,

lenguajes y herramientas, hardware • Interfaz: restricciones impuestas para la

interacción humana• Operaciones: gestión del sistema• Empaquetamiento• Legales: licencias, auditorias, etc.

Page 297: UP: Comunicación

Métodología FURPSReq F U R P S +

Consultas a través de un celular

Deberán realizarse a través de SMS/MMS, la respuesta será en MMS

Pocos movimientos del teclado

Optimizado para desplegar información importante

Soporte en Plataformas J2ME

Ejecutarse con Equipos Nokia serie 60

Sistema Web de Captura Indicadores

Seguridad por autenticación y huella digital

Optimizado para navegador Opera

… ….

Page 298: UP: Comunicación

Metodología FURPS+Metodología FURPS+• Actividad: una vez identificado los

posibles requerimientos del proyecto se comienza por hacer una matriz de estos, colocando en cada una de las una de las letras de FURPS+ para evaluarlo y poder darle prioridad e identificar Factores Críticos de Éxito. Matriz FURPS grupal 100%, al menos 5 requisitos evaluados.

Page 299: UP: Comunicación

Factores Críticos de ÉxitoFactores Críticos de Éxito• La metodología de Factores Críticos de

Éxito sirven para determinar aquellas áreas o cosas que son críticas para la empresa.

• El FCE nos ayuda a enfocar nuestros esfuerzos y en determinar como se debe monitorear cada una de nuestras alternativas.

Page 300: UP: Comunicación

FCEFCE

• No son medidas estándar para toda la industria, ni para todos los negocios. Son específicos para una situación particular en un momento dado.

• Pueden ser medidos cuantitativa o cualitativamente

Page 301: UP: Comunicación

FCEFCE• Existen factores:

– Internos– Externos– De seguimiento de operaciones– De seguimiento de planes

Page 302: UP: Comunicación

FCEFCE

• Principales fuentes (según Rockart):– La industria– La estrategia competitiva o posición

en la industria– Factores del medio ambiente– Factores temporales– Posición administrativa

Page 303: UP: Comunicación

FCEFCE

• Algunos FCE de la Industria Automotriz:

• Economía en el combustible• Imagen• Organización eficiente de agencias• Control de costos de manufactura,

etc.

Page 304: UP: Comunicación

FCEFCE• Se deben considerar los siguientes

elementos:

• Información crítica: información necesaria para dar seguimiento a los FCE (extraída de otros SI, comprada, etc.)

Page 305: UP: Comunicación

FCEFCE

• Supuestos críticos: Los objetivos y FCE están basados en supuestos. Deben ser validados constantemente. Ej. Actividades de la competencia, inflación, etc.

• Decisiones críticas: Determinar cuáles son las decisiones críticas que se deben hacer. Ej. ¿dar de baja un producto?, ¿compra o desarrollo?, máximo riesgo aceptable.

Page 306: UP: Comunicación

FCEFCE

Fase 1. Formación de un equipo de trabajo– Pocos recursos– Reconocimiento y posibilidad de

comunicación con la alta dirección– Conocimiento de la industria, sus

problemas, puntos clave, etc.– Entender la empresa, y su posicionamiento,

estructura, cultura y política, posición competitiva.

Page 307: UP: Comunicación

FCEFCE

Fase 2. El equipo se prepara para el

estudio– Estudiar la metodología– Estudiar la técnica de entrevistas

seleccionada– Familiarizarse sobre la situación de la

empresa y su entorno

Page 308: UP: Comunicación

Metodología para generar FCEMetodología para generar FCE Fase 3. Sesión introductoria con la alta

administración, para:– Obtener apoyo– Obtener lista de personas a entrevistar en la

siguiente fase– Obtener un primer nivel de FCE, problemas,

oportunidades, etc...de todo el negocio, no sólo de informática.

Page 309: UP: Comunicación

FCEFCE

• ¿Cuáles son las cosas que ud. ve como FCE en su trabajo?

• ¿Cuál es el área que más le perjudicaría si fallase?, ¿Dónde le molestaría más que se fallase?

• Si lo aislaran del negocio 3 semanas, ¿sobre qué sería lo primero que quisiera que lo enterarán en relación al negocio?

Page 310: UP: Comunicación

FCEFCE

Fase 4. Sintetizar el resultado de las entrevistas

– Sintetizar los resultados, combinando respuestas, eliminando duplicidades y priorizando (como un primer resultado).

Page 311: UP: Comunicación

FCEFCE

Fase 5. Reunión de enfoque del equipo directivo (paso clave):– El equipo se reúne con los ejecutivos– Los ejecutivos determinarán los FCE de

acuerdo a la información recolectada– Mejores resultados si la reunión es con

participación abierta

Page 312: UP: Comunicación

RúbricaRúbrica

• Una rúbrica es un elemento que nos permite definir en forma tabular los requisitos que debe tener un producto en general y evaluarlos en base a un criterio determinado.

Page 313: UP: Comunicación

Ejemplo de RúbricaEjemplo de Rúbrica

Page 314: UP: Comunicación

Desarrollo de PrototiposDesarrollo de Prototipos• Los prototipos son una excelente

herramienta para la obtención de requerimientos dado que el cliente puede ver elementos funcionales en operación del proyecto.

• El problema es que es una técnica muy costosa, motivo por el cual su utilización está muy restringida.

Page 315: UP: Comunicación

Diseño de PrototiposDiseño de Prototipos

Page 316: UP: Comunicación

Diseño de PrototiposDiseño de Prototipos

Page 317: UP: Comunicación

Diseño de PrototiposDiseño de Prototipos• Champcart

• Motor: Turbocargado, 2.65 litros V-8• Caja de velocidad: Manual con 6 o 7

velocidades delanteras• LLantas: Bridgestone.• Peso mínimo: 1,565 libras

Page 318: UP: Comunicación

Diseño de PrototiposDiseño de Prototipos• Formula1

• Motor: Aspirado, 3 litros (183 cubic inches) V10 Turbocarga está prohibido.

• Caja de velocidad: Semiautomática de 6 o 7 velocidades delanteras

• Llantas: sin marca• Peso mínimo: 1,322.77 libras con conductor

Page 319: UP: Comunicación

Diseño de PrototiposDiseño de Prototipos

Page 320: UP: Comunicación

Diseño de ComponentesDiseño de Componentes

Page 321: UP: Comunicación

Diseño de ComponentesDiseño de Componentes

• Chasis básico: $450,000.

• Motor: no se venden de manera individual

• Llantas: 28 llantas por evento con un costo de $1,200 por juego, alrededor de $150,000 al año

• Costo equipo: 50 personas

Page 322: UP: Comunicación

Diseño de ComponentesDiseño de Componentes

• Otras partes: $150,000 de refacciones y $350,000 de partes de la caja de velocidades.

• Costo transporte: $500,000 al año de transporte.

• Total: mínimo 2 millones, en promedio de 5-10 millones de dólares

Page 323: UP: Comunicación

Desarrollo de PrototiposDesarrollo de Prototipos• Los prototipos son versiones reducidas,

demos o conjunto de pantallas (que no son totalmente operativos) de la aplicación pedida.

• Esta técnica es útil cuando:

1. El área de aplicación no está bien definida (puede ser algo novedoso)

Page 324: UP: Comunicación

Desarrollo de PrototiposDesarrollo de Prototipos

2. El costo del rechazo de la aplicación es muy alto.

3. Es necesario evaluar primeramente el impacto del sistema en la organización.

• La técnica ayuda para visualizar la diferencia entre desarrolladores y usuarios.

Page 325: UP: Comunicación

Desarrollo de PrototiposDesarrollo de Prototipos• Aunque limitado, se dispone de un

sistema funcional en las primeras etapas de desarrollo.

• Esta técnica se resume en: “No sé exactamente lo que quiero, pero lo sabré cuando lo vea”

• Es una técnica costosa

Page 326: UP: Comunicación

Casos de UsoCasos de Uso• Otra forma de obtener requerimientos es

a través de diagramas de casos de uso dentro de UML

• Se recomienda utilizar diagramas de caso de uso ya que nos dan los macrorequisitos de la aplicación. Cada caso de uso debe ser especificado de manera correcta.

Page 327: UP: Comunicación

UMLUML

• UML (Unified Modelling Language), lenguaje de modelado unificado. Fue desarrollado en 1997 al fusionar las metodologías de Ivar Jacobson, Jame Rumbaugh y Grady Booch.

• Es un lenguaje visual, su premisa básica radica en que una imagen vale más que 1,000 líneas de código.

Page 328: UP: Comunicación

UMLUML• Al ser UML un lenguaje posee gramáticas

y alfabetos que definen como deben de estructurarse cada una de las palabras válidas del lenguaje.

• Un modelo es una representación de la realidad. No sólo se modela software sino prácticamente cualquier actividad.

Page 329: UP: Comunicación

UMLUML

• Es el lenguaje estándar para modelar proyectos de software.

• La versión más actual del lenguaje es la 2.1

• Los métodos que se fusionaron para crear UML fueron OMT (Rumbaugh), Objectory (Jacobson) y el método Booch.

Page 330: UP: Comunicación

¿Por qu¿Por qué modelaré modelar??• Casi el 80% de los proyectos de software

fallan.

• Nadie construye una casa sin un plano.

• Actualmente existen muchas herramientas que auxilian el proceso de modelado como Visio, ArgoUML, Rational Rose, Together, etc.

Page 331: UP: Comunicación

ModelosModelos• Los modelos deben ser más baratos que

la realidad.

• Es más fácil para una persona entender un diagrama que las líneas de código fuente de un programa.

• Los diagramas al igual que el texto consumen tiempo.

Page 332: UP: Comunicación

ModelosModelos• Se deben construir modelos que sean

representativos para que sean útiles (imaginense hacer un documento de 100 hojas que nadie va a leeer)

• UML define varios tipos de diagramas los cuales pueden ser extensibles.

Page 333: UP: Comunicación

Métodos Orientado a ObjetosMétodos Orientado a Objetos• UML tiene 5 diferentes vistas con

diferentes diagramas en cada una de ellas.

• Vista usuario: representa el sistema (producto) desde la perspectiva del usuario. Se suele utilizar diagramas de casos de uso.

Page 334: UP: Comunicación

Métodos Orientado a ObjetosMétodos Orientado a Objetos

• Vista estructural: modela los datos y la funcionalidad del sistema; es decir, la estructura estática (clases, objetos y relaciones).

• Vista de implementación: Los aspectos estructurales y de comportamiento se representan aquí tal y como van a ser implementados.

Page 335: UP: Comunicación

Métodos Orientado a ObjetosMétodos Orientado a Objetos

• Vista del comportamiento: representa los aspectos dinámicos o de comportamiento del sistema. También muestra las interacciones o colaboraciones entre los diversos elementos estructurales descritos en vistas anteriores.

Page 336: UP: Comunicación

Métodos Orientado a ObjetosMétodos Orientado a Objetos• Vista del entorno: aspectos estructurales

de comportamiento en el que el sistema a implementar se representa (diagramas de componentes y despliegue).

Page 337: UP: Comunicación

Tipos de diagramasTipos de diagramas• Los diagramas más utilizados en UML

son:

• Diagramas de casos de uso• Diagramas de actividades• Diagramas de clases• Diagramas de interacción

– Diagramas de secuencia– Diagramas de colaboración

Page 338: UP: Comunicación

Tipos de diagramasTipos de diagramas• Diagramas de estado• Diagramas de componentes• Otros diagramas

– Diagrama de topología del despliegue

• Los diagramas deben de reflejar lo que se pretende modelar

Page 339: UP: Comunicación

Diagramas de casos de usoDiagramas de casos de uso• Son responsables de documentar los

macrorequisitos del sistema.

• Lista de capacidades que debe brindar el sistema.

• Los elementos principales son los actores y los casos de usos que en conjunto forman un escenarios.

Page 340: UP: Comunicación

Diagramas de casos de usoDiagramas de casos de uso• Se deben establecer prioridades para las

capacidades del sistema.

• ¿Cuál es la diferencia entre un editor de textos como Notepad y Word?

• Objetivos primarios: crear, guardar e imprimir documentos de texto.

Page 341: UP: Comunicación

Diagramas de caso de usoDiagramas de caso de uso• Objetivos secundarios: guardar el archivo

en formato HTML, RTF y PDF.

• Los diagramas de uso sirven para mostrar detalles de implementación del sistema a usuarios finales.

• Los conectores asocian a los actores y los casos de uso.

Page 342: UP: Comunicación

Diagramas de caso de usoDiagramas de caso de uso• Las líneas continuas representan una

asociación y las puntuadas dependencias.

• Si el conector tiene un triangulo hueco en la punta representa una generalización que es una relación de herencia.

• Los estereotipos agregan detalles a una relación.

Page 343: UP: Comunicación

Diagramas de caso de usoDiagramas de caso de uso

• Los estereotipos más utilizados son: inclusión y de extensión.

• Muchas herramientas no implantan UML al 100% existen muchos problemas de compatibilidad entre dichas herramientas. XMI es la descripción de un diagrama UML en XML el cual utilizan varias herramientas para exportar diagramas.

Page 344: UP: Comunicación

Diagramas de caso de usoDiagramas de caso de uso• Incluir implica una dependecia de

utilización de un caso de uso.

• Las notas ayudan ha aclarar los diagramas.

• Extender da más detalle de dependecia de un caso de uso al cual se le agregan más capacidades.

Page 345: UP: Comunicación

Diagramas de caso de usoDiagramas de caso de uso• Las notas deben ser como elementos

taquigráficos.

• Se deben incluir la siguiente documentación: párrafo que describa el caso de uso, párrafo que describa cada una de las funciones primarias y secundarias, entre otros.

Page 346: UP: Comunicación

Diagramas de casos de usoDiagramas de casos de uso• Se deben detallar ejemplos de la

utilización de casos de uso.

• Los actores pueden ser usuarios o partes del sistema.

• En general los primeros diagramas que se deben construir son los casos de uso

Page 347: UP: Comunicación

Diagramas de casos de usoDiagramas de casos de uso

Page 348: UP: Comunicación

Diagramas de casos de usoDiagramas de casos de uso

Page 349: UP: Comunicación

Preguntas frecuentesPreguntas frecuentes• ¿Cuántos diagramas debo crear? No

existe una respuesta específica.

• ¿Debo hacer diagramas de todo tipo? No, sólo se deben utilizar los diagramas que mejor reflejen el modelado de la problemáticaoe

Page 350: UP: Comunicación

Preguntas frecuentesPreguntas frecuentes

• ¿Qué tan grande debe de ser un diagrama? Entre más grande sea un diagrama mayor es la confusión. Se deben realizar diagramas bien detallados, pero no tan detallados.

• ¿Cuánto texto debe complementar el modelo? Entre menos texto mejor, son como los comentarios del código fuente: pocos pero claros.

Page 351: UP: Comunicación

Modelado de softwareModelado de software

• Algunas recomendaciones para el modelado de software son:

• No tenga a los programadores esperando los modelos.

• Trabajar de una macrovista a una microvista(enfoque Top-Down).

Page 352: UP: Comunicación

Modelado de softwareModelado de software

• Se debe documentar en forma económica.

• Si es obvio no se debe de modelar.

• Hacer hincapié en la especialización.

• Utilizar patrones de diseño.

• Refactorizar.

Page 353: UP: Comunicación

Otras TécnicasOtras Técnicas

• La Ingeniería de Requerimientos comprende las actividades de obtención (captura, descubrimiento y adquisición), análisis (negociación), especificación y validación de requerimientos.

• También establece la gestión para manejar cambios, mantenimiento y seguimiento de los requerimientos.

Page 354: UP: Comunicación

JADJAD

• Joint Application Development, Desarrollo Conjunto de Aplicaciones es una técnica que consiste en realizar sesiones conjuntas entre los analistas de sistemas y los expertos del dominio.

• Con esta técnica se obtienen sistemas más enfocados a la realidad, muchas metodologías nuevas se fundamentan en esta premisa.

Page 355: UP: Comunicación

JADJAD• ¿Por qué JAD funciona?

• Por que las entrevistas son lentas, difíciles de hacer y complicadas de obtener datos.

• Al ser muchos revisores del proyecto es más fácil detectar errores.

• Problema: se requiere de mucha organización

Page 356: UP: Comunicación

ETHICSETHICS

• Implementación Efectiva de Sistemas Informáticos desde los puntos de vista Humano y Técnico.

• Fue desarrollada en 1979 por E. Mumford, se enfoca en los aspectos sociales que están presentes en el desarrollo del software, dado que un sistema no tendrá éxito sino es utilizado eficientemente por los empleados.

Page 357: UP: Comunicación

Puntos de vistaPuntos de vista

• Todos los sistemas ocupan de un grupo de usuarios interesados (stakeholders), cada uno puede tener intereses diferentes, incluso en muchas casos contradictorios.

• Existen métodos que toman los puntos de vistas de los usuarios para encontrar cosas en común, un ejemplo es VORD (Definición de Requerimientos Orientados a Puntos de Vista).

Page 358: UP: Comunicación

Puntos de vistaPuntos de vista• VORD consiste de los siguientes pasos:

• Identificación de puntos de vista• Estructuración de dichos puntos de vista• Documentación de puntos de vista

(refinación)• Trazado del punto de vista (conversión a

un diseño orientado a objetos)

Page 359: UP: Comunicación

EtnografíaEtnografía

• Es una técnica de observación que se puede utilizar para entender los requerimientos sociales y organizacionales. Se centra en los siguientes aspectos:

• La forma en la que las personas trabajan y no como el sistema los hace trabajar

• Los requerimientos se derivan de la cooperación de muchas personas

Page 360: UP: Comunicación

Tips para la obtención de Tips para la obtención de requerimientosrequerimientos

• Aprender de todos los documentos, formularios, informes y archivos existentes.

• De ser posible se observará el sistema en acción. Se tomarán notas y dibujos. Conviene que las personas no sepan que están siendo evaluadas.

Page 361: UP: Comunicación

Tips para la obtención de Tips para la obtención de requerimientosrequerimientos

• Realizar entrevistas o sesiones de trabajo en grupo para refinar los requisitos de la aplicación.

• Es necesario verificar los requerimientos nuevamente hasta estar seguros

Page 362: UP: Comunicación

ReferenciasReferencias

• Guido, J. y Clements, J., “Administración Exitosa de Proyectos”, Segunda Edición, Thomson, México, 2003, ISBN: 0-324-07168-X.

Page 363: UP: Comunicación

¿Preguntas, dudas y comentarios?