PROGRAMA DE SOFTWARE CATÁLOGO CURSOS PROGRAMA DE SOFTWARE PROGRAMA DE SOFTWARE CURSO: INTRODUCCIÓN A LA CALIDAD DE SOFTWARE .................................................................................3 CURSO: DISEÑO DE SOFTWARE....................................................................................................................4 CURSO: PATRONES DE DISEÑO DE SOFTWARE ..............................................................................................5 CURSO: ARQUITECTURAS DE SOFTWARE......................................................................................................7 CURSO: LA CALIDAD EN EL DESARROLLO DE SOFTWARE ‐ VISIÓN BASADA EN PROCESOS..............................9 CURSO: INTRODUCCIÓN A LAS ÁREAS DE PROCESOS DEL MODELO CMMI. ................................................. 10 CURSO: NIVEL II DE CMMI. VERSIÓN 1.3 .................................................................................................... 13 TALLER: SCRUM ‐ AVANZADO .................................................................................................................... 19 CURSO: KANBAN EN IT Y DESARROLLO DE SOFTWARE................................................................................ 20 CURSO: EL TESTING COMO PARTE DEL PROCESO DE CALIDAD DEL SOFTWARE ............................................ 21 CURSO: TESTING DE APLICACIONES WEB ................................................................................................... 22 TALLER: AUTOMATIZACIÓN DE PRUEBAS UNITARIAS Y DE INTEGRACIÓN.................................................... 23 CURSO: TESTING DE SOFTWARE EMBEBIDO ............................................................................................... 24 CURSO: ADMINISTRACIÓN DE PROYECTOS DE SOFTWARE.......................................................................... 26 CURSO: FORMACIÓN DE TESTERS .............................................................................................................. 27 PROGRAMA DE SOFTWARE Curso:INTRODUCCIÓNALACALIDADDESOFTWARE Código de curso: INS INTRODUCCIÓN Este curso introduce a los conceptos de Calidad de Software integrando los aspectos de gestión con los criterios de calidad fijados mediante normas aceptadas a nivel internacional, a fin de satisfacer la demanda de profesionales que puedan administrar sistemas de calidad y brindar soluciones tecnológicas en su ámbito de trabajo. DURACIÓN Y ASISTENCIA 14 horas, distribuidos en 2 días de 7 horas en días contiguos en horarios a convenir. El cupo del curso es de 25 personas. DIRIGIDO A La calidad atañe a toda la organización: Dueños de empresas; Gerentes generales; Directores; Gerentes de sistemas; Gerentes y Jefes en general, Responsable de Calidad; Gerente de proyectos, Líder de proyecto; Responsables de áreas de sistemas: como ser Desarrollo, Q A, Mantenimiento de software; Consultores; Auditores y Profesores de sistemas o informática. METODOLOGÍA de la CAPACITACIÓN Los cursos serán desarrollados bajo la modalidad presencial, los mismos serán guiados por un instructor especializado, el cual desarrollará los temas teóricos a través de exposiciones apoyadas por la proyección de slides. Los conceptos teóricos serán complementados con ejercicios prácticos, fomentando el trabajo grupal y el intercambio de experiencias e ideas. Todas las sesiones son previstas de forma tal que los participantes tengan amplias oportunidades de hacer preguntas y discutir los temas desarrollados. OBJETIVOS Explicar los diferentes enfoques hacia la calidad y cómo emprender el camino para alcanzarla. Conocer las normas y los modelos de calidad, herramientas indispensables para poder realizar mejoras, tanto de los procesos como de los productos de software. Entender los beneficios y la conveniencia de implementar una norma u otra. Anticipar los problemas que pueden surgir durante la implementación de una norma o modelo de calidad del software, y los factores críticos de éxito de un proyecto de mejora. CONTENIDO Beneficios de implementar normas de calidad en los procesos de la organización. Enfoques hacia la calidad, que dirigen el camino para alcanzarla. Normas y los modelos de calidad. Calidad de Procesos Calidad de Productos Aseguramiento de la Calidad PROGRAMA DE SOFTWARE Curso:DISEÑODESOFTWARE Código de curso: DIS INTRODUCCIÓN Según estudios realizados, el esfuerzo para el mantenimiento de un producto de software comprende entre el 60% y el 80%. Gran parte de este esfuerzo podría ser reducido notablemente si el software se diseñara previendo futuros cambios (mantenibilidad). En las últimas décadas se ha avanzado notablemente en la definición de nuevas técnicas orientadas al diseño del software, las mismas han demostrado su eficacia y el valor agregado que representan para las organizaciones que las implementan. El curso “Diseño de software” es el primer módulo de la serie de cursos (“Diseño de software” ´+ “Patrones de diseño de software” + “Arquitecturas de software”), los cuales permitirán a los asistentes adquirir los conocimientos para diseñar un software: con mayor facilidad para el cambio, con menor cantidad de errores por línea de código, con menor re‐trabajo. En momentos en que existe una alta demanda de recursos que dominen lenguajes de programación, es necesario que los mismos estén provistos además de los conocimientos que le permitirán construir software de mayor calidad. DURACIÓN Y ASISTENCIA 21 horas, distribuidos en 3 días de 7 horas en días contiguos en horarios a convenir. El cupo del curso es de 25 personas. DIRIGIDO A El curso está dirigido a los cuadros técnicos involucrados en el desarrollo de software. Aquellos ingenieros o programadores que se enfrentan cotidianamente a los múltiples problemas que surgen de tener que trabajar sobre sistemas con una estructura deficiente, aquellos que no saben cómo documentar un diseño o que perciben que la documentación sugerida en la literatura resulta inadecuada, aquellos que no entienden claramente por qué es mejor una clase que otra, encontrarán los contenidos de este curso especialmente útiles tanto desde el punto de vista teórico como práctico. METODOLOGÍA de la CAPACITACIÓN Los cursos serán desarrollados bajo la modalidad presencial, los mismos serán guiados por un instructor especializado, el cual desarrollará los temas teóricos a través de exposiciones apoyadas por la proyección de slides. Los conceptos teóricos serán complementados con ejercicios prácticos, fomentando el trabajo grupal y el intercambio de experiencias e ideas. Todas las sesiones son previstas de forma tal que los participantes tengan amplias oportunidades de hacer preguntas y discutir los temas desarrollados. OBJETIVOS Comprender claramente el criterio para dividir un sistema en módulos. Aplicar dicho criterio en problemas prácticos. Entender la importancia de la herencia en el diseño. Establecer los documentos que deben comprender un diseño de software. PROGRAMA DE SOFTWARE CONTENIDO 1. 2. 3. 4. 5. 6. El diseño como etapa del proceso de producción de software Diseño vs. modelo funcional Diseño basado en ocultación de información Diseño basado en tipos abstractos de datos Diseño orientado a objetos Documentación de un diseño Este curso es el primer módulo de otros dos (Patrones de diseño de software y Arquitecturas de Software). Curso:PATRONESDEDISEÑODESOFTWARE Código de curso: PAT INTRODUCCIÓN Según estudios realizados, el esfuerzo para el mantenimiento de un producto de software comprende entre el 60% y el 80%. Gran parte de este esfuerzo podría ser reducido notablemente si el software se diseñara previendo futuros cambios (mantenibilidad). En las últimas décadas se ha avanzado notablemente en la definición de nuevas técnicas orientadas al diseño del software, las mismas han demostrado su eficacia y el valor agregado que representan para las organizaciones que las implementan. El curso “Patrones de diseño de software” es el segundo módulo de la serie de cursos (“Diseño de software” ´+ “Patrones de diseño de software” + “Arquitecturas de software”), los cuales permitirán a los asistentes adquirir los conocimientos para diseñar un software: con mayor facilidad para el cambio, con menor cantidad de errores por línea de código, con menor re‐trabajo. En momentos en que existe una alta demanda de recursos que dominen lenguajes de programación, es necesario que los mismos estén provistos además de los conocimientos que le permitirán construir software de mayor calidad. DIRIGIDO A El curso está dirigido a los cuadros técnicos involucrados en el desarrollo de software. Aquellos ingenieros o programadores que se enfrentan cotidianamente a los múltiples problemas que surgen de tener que trabajar sobre sistemas con una estructura deficiente, aquellos que no saben cómo documentar un diseño o que perciben que la documentación sugerida en la literatura resulta inadecuada, aquellos que no entienden claramente por qué es mejor una clase que otra, encontrarán los contenidos de este curso especialmente útiles tanto desde el punto de vista teórico como práctico. DURACIÓN Y ASISTENCIA 21 horas, distribuidos en 3 días de 7 horas en días contiguos en horarios a convenir. El cupo del curso es de 25 personas. METODOLOGÍA de la CAPACITACIÓN Los cursos serán desarrollados bajo la modalidad presencial, los mismos serán guiados por un instructor especializado, el cual desarrollará los temas teóricos a través de exposiciones apoyadas por la proyección de slides. PROGRAMA DE SOFTWARE Los conceptos teóricos serán complementados con ejercicios prácticos, fomentando el trabajo grupal y el intercambio de experiencias e ideas. Todas las sesiones son previstas de forma tal que los participantes tengan amplias oportunidades de hacer preguntas y discutir los temas desarrollados. OBJETIVOS Que los asistentes puedan aplicar patrones de diseño para estructurar los sistemas que deban desarroll l ar. desarrol Que los asistentes comprendan la relación de estos con el diseño de software en general. CONTENIDO Vocabulario, conceptos y problemas Un caso de estudio para la aplicación de patrones de diseño Patrón de diseño: Composite Patrón de diseño: Abstract Factory Patrón de diseño: Bridge Patrón de diseño: Strategy Patrón de diseño: Visitor Patrón de diseño: Iterator Patrón de diseño: Command Patrón de diseño: Decorator (Wrapper) Este curso es el segundo módulo después de Diseño de software y antes de Arquitecturas de Software). PROGRAMA DE SOFTWARE Curso:ARQUITECTURASDESOFTWARE Código de curso: ARQ INTRODUCCIÓN Según estudios realizados, el esfuerzo para el mantenimiento de un producto de software comprende entre el 60% y el 80%. Gran parte de este esfuerzo podría ser reducido notablemente si el software se diseñara previendo futuros cambios (mantenibilidad). En las últimas décadas se ha avanzado notablemente en la definición de nuevas técnicas orientadas al diseño del software, las mismas han demostrado su eficacia y el valor agregado que representan para las organizaciones que las implementan. El curso “Arquitecturas de software” es el tercer módulo de la serie de cursos (“Diseño de software” ´+ “Patrones de diseño de software” + “Arquitecturas de software”), los cuales permitirán a los asistentes adquirir los conocimientos para diseñar un software: con mayor facilidad para el cambio, con menor cantidad de errores por línea de código, con menor re‐trabajo. En momentos en que existe una alta demanda de recursos que dominen lenguajes de programación, es necesario que los mismos estén provistos además de los conocimientos que le permitirán construir software de mayor calidad. DIRIGIDO A El curso está dirigido a los cuadros técnicos involucrados en el desarrollo de software. Aquellos ingenieros o programadores que se enfrentan cotidianamente a los múltiples problemas que surgen de tener que trabajar sobre sistemas con una estructura deficiente, aquellos que no saben cómo documentar un diseño o que perciben que la documentación sugerida en la literatura resulta inadecuada, aquellos que no entienden claramente por qué es mejor una clase que otra, encontrarán los contenidos de este curso especialmente útiles tanto desde el punto de vista teórico como práctico. DURACIÓN Y ASISTENCIA 21 horas, distribuidos en 3 días de 7 horas en días contiguos en horarios a convenir. El cupo del curso es de 25 personas. METODOLOGÍA de la CAPACITACIÓN Los cursos serán desarrollados bajo la modalidad presencial, los mismos serán guiados por un instructor especializado, el cual desarrollará los temas teóricos a través de exposiciones apoyadas por la proyección de slides. Los conceptos teóricos serán complementados con ejercicios prácticos, fomentando el trabajo grupal y el intercambio de experiencias e ideas. Todas las sesiones son previstas de forma tal que los participantes tengan amplias oportunidades de hacer preguntas y discutir los temas desarrollados. PROGRAMA DE SOFTWARE OBJETIVOS Comprender claramente el criterio para dividir un sistema en módulos. Aplicar dicho criterio en problemas prácticos. Entender la importancia de la herencia en el diseño. Establecer los documentos que deben comprender un diseño de software. CONTENIDO Laboratorio de Calidad en Tecnologías de la Información Introducción a la arquitectura de software: diferencias y semejanzas con el diseño Estilos arquitectónicos Invocación implícita Tubos y filtros Sistemas Estratificados Control de procesos Blackboard systems Cliente/Servidor de Tres Capas Este curso es el tercer módulo de otros dos (Diseño de software y Patrones de diseño de software). PROGRAMA DE SOFTWARE Curso:LaCalidadeneldesarrollodeSoftware‐Visión basadaenprocesos Código de curso: ISO OBJETIVO Comprender los conceptos de la Norma ISO 9001:2008, sus objetivos y alcance. Conocer todos los requisitos de la Norma ISO 9001:2008 aplicada a empresas de software/IT, a través de ejemplos prácticos y experiencias reales. Revisar las etapas de un proceso de implementación y certificación de la Norma ISO 9001:2008 en empresas de software, usando como guía la Norma ISO 90003:2006. Y conceptos de CMMI. Aprender a redactar los documentos básicos del sistema; saber cómo funcionan las auditorías de los sistemas de calidad. Obtener criterios y aptitudes necesarios para la autoevaluación de la gestión de la calidad y, en base a ello, afrontar la mejora continua. Foco en mejorar la gestión, reducir costos y aumentar la productividad aplicando las buenas prácticas propuestas por esta norma, aplicada a empresas de software/IT. DESTINATARIOS Responsables de áreas de calidad / QA tanto en el sector privado como público, Desarrolladores, testers e implementadores de software, asesores y consultores TICs, estudiantes avanzados de carreras afines. CONTENIDO DIA 1: Por qué comenzar el camino apuntando a la calidad. Fundamento. Importancia de la calidad en el software. Norma ISO 9001: 2008, objetivo y campo de aplicación. Definición, alcance. Estructura documental de un SGC (Sistema de Gestión de la Calidad). basado en ISO 9001. Gestión de documentación. Aplicación de herramientas efectivas para el control de documentos. DIA 2: Manual de Calidad. Política de la Calidad. Objetivos de la Calidad. Compromiso de la dirección. Requisitos del cliente, revisión por la dirección. Motivación del personal: Involucramiento de toda la empresa con la mejora continua. Gestión de los Recursos Humanos. Recursos de Infraestructura y de medio ambiente necesarios para lograr conformidad del Produc‐ to/servicio. DIA 3: Realización del producto / prestación del servicio. Modelos de ciclo de vida en el desarrollo de software. Definición y acuerdo de requisitos. Administración de la configuración – Control de cambios. Verificación y validación ‐ testing. Modelo de ciclo de vida en V. PROGRAMA DE SOFTWARE DIA 4: Compras Acuerdo con Proveedores. Trabajo práctico PC Desarrollo Control de la producción. Trazabilidad como concepto clave. Análisis y gestión de riesgos. Taller. DIA 5: Satisfacción del Cliente: encuestas, seguimiento continuo, manejo positivo de quejas y reclamos. Detección y tratamiento de producto no conforme. Análisis de datos como hechos objetivos. Mejora a través de las Acciones correctivas y preventivas. Auditoría interna. Desarrollo Cinco jornadas de 4 hs cada una, incluye break. Curso:INTRODUCCIÓNALASÁREASDEPROCESOSDEL MODELOCMMI. Código de curso: INTRO OBJETIVOS Y ALCANCE DE LA CAPACITACIÓN El objetivo de esta capacitación, es introducir a los participantes, en los desafíos de la implementación de un proceso de mejoras, su alcance y riesgos, las responsabilidades de los participantes, los beneficios que aporta y los conceptos fundamentales desarrollados por el Modelo CMMI DEV V1.3 en lo que respecta a estructura, objetivos, productos de trabajo, y demás componentes correspondientes a las siguientes áreas de proceso: Administración de Requerimientos Planificación de Proyectos Monitoreo y Control de Proyectos Administración de la Configuración Aseguramiento de la Calidad de Productos y Procesos METODOLOGÍA DE IMPLEMENTACIÓN Los cursos se desarrollan bajo la modalidad presencial, los mismos serán guiados por un instructor especializado, el cual desarrolla los temas teóricos a través de slides. Todas las sesiones son previstas de forma tal que los participantes tengan amplias oportunidades de hacer preguntas y discutir los temas desarrollados. Los cursos están orientados a asistentes que se están iniciando en el camino de implementar un proceso de mejora continua en su organización. INSTRUCTORES La totalidad del personal afectado ha recibido capacitación oficial del SEI relacionadas con los temas a desarrollar, respaldan su conocimiento teórico a través de su experiencia como responsables en la implementación de las mejoras en empresas que ya han sido evaluadas satisfactoriamente mediante el método SCAMPI y en la actualidad se desarrollan como Consultores y Gerentes de proyectos de Consultoría de Mejora de Procesos basadas en el modelo CMMI. PROGRAMA DE SOFTWARE MATERIAL A ENTREGAR El primer día del curso los asistentes recibirán un libro de notas con las copias de los slides que se desarrollarán a lo largo del curso. Se entregarán certificados de asistencia. DURACIÓN 14 horas, distribuidos en 2 días de 7 horas en días contiguos en horarios a convenir. El cupo del curso es de 25 personas. CONTENIDO A continuación se describe el contenido del curso “Introducción a la mejoras de procesos de software: CMMI‐DEV”. El mismo está orientado a satisfacer las necesidades de una audiencia que posee el interés de comprender como es la implantación de un proceso de mejoras continua en el desarrollo de software, los beneficios y los riesgos asociados a la misma, la estructura del Modelo CMMI‐DEV y una introducción a las prácticas del nivel 2. PROGRAMA DE SOFTWARE NECESIDAD DE LA MEJORA CONTINUA ¿Por qué mejorar? ¿Qué mejorar? ¿Quiénes se benefician? INTRODUCCIÓN AL MODELO CMMI‐DEV VERSIÓN 1.3 El enfoque en procesos Origen del Modelo Niveles de Madurez Representación continua/Representación escalonada – Cuál elegir. Estructura del Modelo Áreas de proceso Objetivos a cumplir Prácticas a cumplir Breve introducción a las áreas de proceso de nivel 2 Administración de requerimientos Planificación de proyectos Monitoreo y Control de proyectos Administración de la configuración Aseguramiento de la calidad en productos y procesos Administración de acuerdo con proveedores Medición y análisis ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ IMPLEMENTACIÓN CMMI Alcances de un proceso de mejoras ◦ ¿En qué nivel estoy? ◦ ¿Quiénes están involucrados? ¿Cómo están involucrados? ◦ ¿Qué se debe cambiar? ◦ ◦ ¿Qué esfuerzo insume? Factores de éxito en la implementación de un proceso de mejoras El rol del CEO ◦ ◦ El rol de los equipos de desarrollo Riesgos en la implementación ◦ Beneficios asociados ◦ Calidad y productividad ◦ Estandarización ◦ Como afecta a mis Clientes ◦ Como afecta a mis Proveedores PROGRAMA DE SOFTWARE Curso:NIVELIIDECMMI.VERSIÓN1.3 Código de curso: CMMI Objetivos y Alcance de la capacitación El objetivo de esta capacitación es introducir a los participantes a los conceptos fundamentales desarrollados por el Modelo CMMI DEV V1.3 en lo que respecta a estructura, objetivos, productos de trabajo, y demás componentes de las áreas de proceso: Administración de Requerimientos Planificación de Proyectos Monitoreo y Control de Proyectos Administración de la Configuración Aseguramiento de la Calidad de Productos y Procesos Medición y Análisis Administración de acuerdo con Proveedores Metodología de Implementación Los cursos serán desarrollados bajo la modalidad presencial, los mismos serán guiados por un instructor especializado, el cual desarrollará los temas teóricos a través de slides. Los conceptos teóricos serán complementados con ejercicios prácticos, fomentando el trabajo grupal y el intercambio de experiencias e ideas. Todas las sesiones son previstas de forma tal que los participantes tengan amplias oportunidades de hacer preguntas y discutir los temas desarrollados. Instructores La totalidad del personal afectado ha recibido capacitación oficial del S.E.I. 1 relacionadas con los temas a desarrollar, respaldan su conocimiento teórico a través de su experiencia como responsables de la implementación de las mejoras en empresas que ya han sido evaluadas satisfactoriamente mediante el método SCAMPI y en la actualidad se desarrollan como Consultores y Gerentes de proyectos de Consultoría de Mejora de Procesos basadas en el modelo CMMI. Material a Entregar El primer día del curso los asistentes recibirán un libro de notas con las copias de los slides y los ejercicios prácticos a desarrollar a lo largo del curso. Administración de Requerimientos Desarrollo del propósito de la administración de requerimientos y la necesidad de identificar las inconsistencias entre los requerimientos, los planes y los productos de trabajo generados por un proyecto. Desarrollo del Objetivo específico de la Administración de Requerimientos y los lineamientos para su cumplimiento 1 Software Engineering Institute PROGRAMA DE SOFTWARE Desarrollo de las prácticas específicas de la Administración de requerimientos: — — — Obtener un entendimiento de los Requerimientos Obtener un compromiso con los requerimientos Administrar los cambios a los requerimientos — Mantener una trazabilidad bidireccional entre los requerimientos y los demás productos de trabajo. — Identificar inconsistencias entre los requerimientos y los productos de trabajo del proyecto. Objetivos Genéricos y la Administración de Requerimientos Concepto de Línea Base de Requerimientos Clasificación de los Requerimientos Priorización de Requerimientos Roles y Responsabilidades asociados a la Administración de Requerimientos Controles relacionados a la Administración de Requerimientos Duración: 7 horas Planificación de Proyectos Desarrollo del propósito de la Planificación de Proyectos y la necesidad de establecer y mantener planes para las actividades a desarrollar en el proyecto. Desarrollo de los Objetivos específicos de la Planificación de Proyectos y los lineamientos para el cumplimiento de los mismos — — Establecer Estimaciones Desarrollar un Plan de Proyecto — Obtener un compromiso con el Plan Desarrollo de las prácticas específicas de la Planificación de Proyectos: — Establecer el Alcance del Proyecto — Establecer estimaciones de Productos de Trabajo y atributos de tareas — — — — — — — — — — — Definir el Ciclo de Vida del Proyecto Determinar estimaciones de Esfuerzo y Costo Establecer un Cronograma y un Presupuesto Identificar los Riesgos del Proyecto Planificar la Administración de los Datos del Proyecto Planificar los Recursos del Proyecto Planificar los Skills y necesidades de Capacitación Planificar el Involucramiento de los Stakeholders Establecer un Plan de Proyecto Revisar los planes que afectan al Proyecto Reconciliar tareas y niveles de Recursos — Obtener un compromiso con el Plan Objetivos Genéricos y la Planificación de Proyectos Concepto de WBS PROGRAMA DE SOFTWARE Administración de Riesgos Los Ciclos de vida del Proyecto Roles y Responsabilidades asociados a la Planificación de Proyectos Controles relacionados a la Planificación de Proyectos Duración: 7 horas Monitoreo y Control de Proyectos Desarrollo del propósito del Monitoreo y Control de Proyectos y la necesidad de proveer una comprensión del progreso que permita tomar acciones correctivas cuando la performance del proyecto se desvíe significativamente con respecto a lo planificado. Desarrollo de los Objetivos específicos del Monitoreo y Control de Proyectos y los lineamientos para el cumplimiento de los mismos — Monitorear el Proyecto contra el Plan — Gestionar Acciones Correctivas hasta su cierre Desarrollo de las prácticas específicas del Monitoreo y Control de Proyectos: — — — — — — — — — Monitorear los Parámetros de la Planificación del Proyecto Monitorear los Compromisos Monitorear los Riesgos del Proyecto Monitorear la Administración de Datos del Proyecto Monitorear el Involucramiento de los Stakeholders Conducir Revisiones de Progreso Conducir Revisiones ante Hitos Analizar Issues Tomar Acciones Correctivas — Gestionar Acciones Correctivas Objetivos Genéricos y el Monitoreo y Control de Proyectos Concepto de WBS Administración de Riesgos Los Ciclos de vida del Proyecto Roles y Responsabilidades asociados a la Monitoreo y Control de Proyectos Controles relacionados a la Monitoreo y Control de Proyectos Duración: 7 horas Administración de la Configuración Desarrollo del propósito de la Administración de la Configuración y la necesidad de establecer y mantener la integridad de los productos de trabajo, utilizando identificación, control, contabilidad de estado y auditorias de configuración. Desarrollo de los Objetivos específicos de la Administración de la Configuración y los lineamientos para el cumplimiento de los mismos — Establecer Líneas Base PROGRAMA DE SOFTWARE — Realizar un Seguimiento y Control de Cambios — Establecer Integridad Desarrollo de las prácticas específicas de la Administración de la Configuración: — — — — — — Identificar Ítems de Configuración Establecer un Sistema de Administración de la Configuración Crear o Liberar Líneas Base Seguimiento de Requerimientos de Cambio Control de los ítems de Configuración Establecer Registros de la Administración de la Configuración. — Realizar Auditorias de Configuración Objetivos Genéricos y la Administración de la Configuración Concepto de Ítems de Configuración Concepto de Ambientes Circuito de Cambios Roles y Responsabilidades asociados a la Administración de la Configuración Controles relacionados a la Administración de la Configuración Duración: 7 horas Aseguramiento de la Calidad de Productos y Procesos Desarrollo del propósito del Aseguramiento de la Calidad de Productos y Procesos y la necesidad provee necesidad proveer una adherencia objetiva a los Productos y Procesos. Desarrollo de los Objetivos específicos del Aseguramiento de la Calidad de Productos y Procesos y los lineamientos para el cumplimiento de los mismos — — Evaluar Objetivamente Procesos y Productos de Trabajo Proveer un entendimiento Objetivo Desarrollo de las prácticas específicas del Aseguramiento de la Calidad de Productos y Procesos: — — — — Evaluar Objetivamente Procesos Evaluar Objetivamente Productos de Trabajo y Servicios Comunicar y asegurar la resolución de No Conformidades Establecer Registros del Aseguramiento de la Calidad de Productos y Procesos. Objetivos Genéricos y el Aseguramiento de la Calidad de Productos y Procesos Informes de Calidad Issues Roles y Responsabilidades asociados al Aseguramiento de la Calidad de Productos y Procesos Controles relacionados al Aseguramiento de la Calidad de Productos y Procesos Duración: 7 horas PROGRAMA DE SOFTWARE Medición y Análisis Desarrollo del propósito de Medición y Análisis. Desarrollo de los Objetivos específicos de medición y Análisis — — — Alinear las actividades de medición y análisis Establecer objetivos de medición. Proveer resultado de las mediciones Desarrollo de las prácticas específicas de Medición y análisis y los lineamientos para el cumplimiento de los mismos. — — — — — — — — Establecer objetivos de medición. Especificar mediciones. Especificar procedimientos de recolección y almacenaje. Especificar procedimiento de análisis. Recolectar datos de mediciones. Analizar datos de mediciones. Almacenar datos de mediciones y resultados. Comunicar los resultados. Objetivos Genéricos en medición y análisis Roles y Responsabilidades asociados Controles relacionados Duración: 7 horas Administración de acuerdos con Proveedores Desarrollo del propósito de Administración de acuerdo con Proveedores. Desarrollo de los Objetivos específicos — Establecer Acuerdo con Proveedores — Satisfacer el Acuerdo con Proveedores Desarrollo de las prácticas específicas de Medición y análisis y los lineamientos para el cumplimiento de los mismos. — — — — — — — Determinar tipo de adquisición. Seleccionar Proveedores. Establecer acuerdos con proveedores Revisar productos COTS Ejecutar el acuerdo con Proveedores Aceptación del producto adquirido Transicionar productos Objetivos Genéricos en Administración de acuerdo con Proveedores Roles y Responsabilidades asociados PROGRAMA DE SOFTWARE Controles relacionados Duración: 7 horas Taller:SCRUM‐GESTIÓNÁGILDEPROYECTOSDE SOFTWARE Código de curso: SCR Objetivo Es este curso se presentará Scrum y se harán ejercicios grupales orientados aprehender la dinámica de trabajo de Scrum. Luego de esta experiencia, los asistentes tendrán herramientas para implementar Scrum y cumplir el rol de Scrum Master en sus equipos de trabajo. El Scrum Master es un facilitador y coach del equipo. Dirigido a: Estudiantes y profesionales del área de sistemas, que quieran experimentar formas de administración de proyectos en entornos rápidamente cambiantes. Duración y asistencia 14 hs, distribuidos en 2 días de 7 hs. El cupo del curso es de 25 personas. Contenido Se presentará el Framework Scrum, y los roles que define: Equipo, Scrum Master y Product Owner. Se harán ejercicios grupales orientados aprehender la dinámica de trabajo de Scrum y la interacción entre ellos. Tanto los clientes como los niveles gerenciales piden predecibilidad a los grupos de desarrollo. Con las características de los ambientes ágiles, con requerimientos de alta volatilidad, ¿se puede planificar a corto y largo plazo? La respuesta es que se puede, pero la forma de planificar no es la misma que en otros contextos. Se presentarán las formas de estimación (Tamaño, Esfuerzo y Velocidad), cuando usar cada una, el manejo de la priorización y la generación de valor al usuario, la forma en que se controla e informa estado, con las diferencias correspondientes a corto (iteración) y largo (release) plazo. Se harán ejercicios prácticos en el que los participantes formaran equipos de 5 o 6 personas, que resolverán problemas y construirán productos aplicando Scrum. Agenda Por qué y cuándo Scrum es una buena forma de trabajo La dinámica, los roles, los artefactos Práctica de Scrum Estimación, Planificación y Control Scrum smells (que puede andar mal) Práctica Cómo implementar Scrum en una organización. PROGRAMA DE SOFTWARE Taller:SCRUM‐AVANZADO Código de curso: SCRA Objetivo Este curso es para personas que ya utilizan Scrum o realizaron el Taller inicial y necesitan tratar con más profundidad algunos temas organizativos: Planificación, estimación, seguimiento, requerimientos y retrospectivas. Destinatarios Estudiantes y profesionales del área de sistemas, que quieran experimentar formas de administración de proyectos en entornos rápidamente cambiantes. Duración 14 horas, en dos días consecutivos, de 9:00 a 17:00, con una hora de pausa. De ser en vuestras instalaciones podemos convenir otra distribución horaria. Contenido Preparación y realización de reuniones de requerimientos, planificación y retrospectivas. Diseño de tableros de tareas para control visual de estado del proyecto. Prototipado de baja fidelidad para descubrimiento de requerimientos y validación temprana de los mismos, Entregables y priorización basada en los objetivos y procesos de negocio soportados. PROGRAMA DE SOFTWARE Curso:KANBANENITYDESARROLLODESOFTWARE Código de curso: KAN Objetivo Conocer y experimentar los principios y herramientas basadas en Lean, en particular KANBAN, que pueden ser utilizadas en el desarrollo de software y la operación de áreas de tecnología de la información. Evaluar la aplicabilidad de estas herramientas, y su adaptación a diferentes contextos. Destinatarios Miembros de equipos de desarrollo de software y de operaciones de áreas de IT, y responsables de esas áreas. KANBAN es muy útil cuando: Las tareas imprevistas surgen continuamente, y por lo tanto son difíciles de planificar El equipo no tiene control sobre todo el proceso de desarrollo o operaciones El equipo de desarrollo u operaciones tienen roles definidos (las personas no pueden hacer todas las tareas del proceso) Duración y asistencia 1 jornada de 7 hs. El cupo del curso es de 20 personas. Qué es KANBAN A diferencia de Scrum y XP, en KANBAN no se tienen iteraciones de duración fija. Se trabaja en un flujo, orientados a lograr que este flujo sea óptimo a traves de: Visualización del flujo: dividir el trabajo en partes pequeñas, y visualizar como estas partes recorren el proceso de trabajo. Limitar el trabajo en proceso (WIP) Medir el lead time (tiempo que toma a una parte en recorrer todo el proceso) y optimizarlo. Agenda La capacitación se realiza a través de presentaciones, actividades y discusiones sobre su aplicación a los contextos de los asistentes: Por qué y cuándo usar KANBAN Tableros y visualización del trabajo. Actividad de diseño de tableros. Mapas de procesos desde el punto de vista Lean: Value Stream Mapping. Creación de un mapa de la situación de los asistentes. Cómo medir y mejorar el proceso: Lead Time, trabajo acumulado (WIP). Cómo limitar el WIP. Implementación de KANBAN y análisis de casos. PROGRAMA DE SOFTWARE Curso:ELTESTINGCOMOPARTEDELPROCESODECALIDADDEL SOFTWARE Código de curso: TEST1 OBJETIVOS Brindar a los participantes una introducción de todos los aspectos el mantenimiento del sistema. Instruir sobre la metodología y las técnicas específicas de generación de los casos de prueba. DURACIÓN Y ASISTENCIA 21 horas, distribuidos en 3 días de 7 horas en días contiguos en horarios a convenir. De ser en vuestras instalaciones podemos convenir otra distribución horaria. El cupo del curso es de 25 personas. METODOLOGÍA de la CAPACITACIÓN Los cursos serán desarrollados bajo la modalidad presencial, los mismos serán guiados por un instructor especializado, el cual desarrollará los temas teóricos a través de exposiciones apoyadas por la proyección de slides. Los conceptos teóricos serán complementados con ejercicios prácticos, fomentando el trabajo grupal y el intercambio de experiencias e ideas. Todas las sesiones son previstas de forma tal que los participantes tengan amplias oportunidades de hacer preguntas y discutir los temas desarrollados. DIRIGIDO A Programadores y profesionales con formación afín que deseen iniciarse en el testing de software. Profesionales involucrados en el desarrollo de sistemas. Especialistas en tecnología. Analistas funcionales. CONTENIDO El testing como parte del proceso de Calidad. ¿Qué es calidad?, Calidad de Software, Costo de la calidad y de la no‐calidad, SQA. El testing como parte del proceso de Desarrollo. ¿Qué es probar?, El costo de no probar. Verificación y validación. El testing dentro del ciclo de vida del proceso de desarrollo. El modelo V. Introducción al testing de software. Definición de testing. Necesidades de testing en el desarrollo de software. Principios del testing. Introducción a la gestión de configuración. Necesidad. Normativas y estándares. Modelo de proceso. Control de configuración – conceptos clave. Control de versiones. Control de errores/cambios. Gestión de cambios. Entorno de un ambiente de pruebas. ¿Qué incluye?. Alcance, características y limitantes. Dado un conjunto de casos de prueba, ¿cómo aseguro el ambiente?. Seguimiento de un entorno de pruebas. Restauración de un entorno de pruebas. Control sobre un entorno de pruebas. Documentación de un entorno de pruebas. Metodología de pruebas. Pruebas sistemáticas. Especificaciones testeables. Casos de prueba. Pruebas de regresión. Ciclo de vida de las pruebas. Planeamiento. Diseño. Desarrollo. Ejecución. Evaluación. Seguimiento. Automatización del testing. Prueba manual vs. prueba automatizada. Ciclos de prueba utilizando herramientas de automatización. PROGRAMA DE SOFTWARE AGENDA Jornada 1 Introducción al testing de software El testing de software en el proceso de calidad El testing de software en el proceso de desarrollo Jornada 2 Metodologías de testing de Software Derivación de casos de Pruebas Ambiente de pruebas Jornada 3 Ciclo de vida de las pruebas Automatización de testing Introducción a la Gestión de la configuración Curso:TESTINGDEAPLICACIONESWEB Código de curso: TESTW OBJETIVOS Brindar a los participantes una introducción de todos los aspectos del proceso testing de aplicaciones web. Capacitar a los asistentes en la implementación y ejecución de pruebas sobre aplicaciones web. DURACIÓN Y ASISTENCIA 14 horas, distribuidos en 2 días de 7 horas en días contiguos en horarios a convenir. El cupo del curso es de 25 personas. METODOLOGÍA de la CAPACITACIÓN Los cursos serán desarrollados bajo la modalidad presencial, los mismos serán guiados por un instructor especializado, el cual desarrollará los temas teóricos a través de exposiciones apoyadas por la proyección de slides. Los conceptos teóricos serán complementados con ejercicios prácticos, fomentando el trabajo grupal y el intercambio de experiencias e ideas. Todas las sesiones son previstas de forma tal que los participantes tengan amplias oportunidades de hacer preguntas y discutir los temas desarrollados. DIRIGIDO A Programadores y profesionales con formación afín que deseen iniciarse en el testing de aplicaciones web. Profesionales involucrados en el desarrollo de aplicaciones web. Se requiere conocimientos en estructuras y lenguajes de programación. CONTENIDO Introducción al testing de aplicaciones web PROGRAMA DE SOFTWARE Técnicas de diseño de casos de prueba Entornos de prueba Automatización de pruebas web Pruebas de características no funcionales. Taller:AUTOMATIZACIÓNDEPRUEBASUNITARIASYDE INTEGRACIÓN Código de curso: PRU OBJETIVOS Interiorizar a los asistentes en los conceptos fundamentales de calidad de software, las metodologías mas utilizadas y los beneficios de su integración en el proceso de desarrollo de software. Capacitar en la implementación y ejecución de pruebas unitarias y de integración utilizando herramientas de automatización de pruebas. Instruir en los patrones de programación que facilitan el proceso de implementación,ejecución y evaluación de las pruebas. DURACIÓN Y ASISTENCIA 14 horas, distribuidos en 2 días de 7 horas en días contiguos en horarios a convenir. El cupo del curso es de 20 personas. METODOLOGÍA de la CAPACITACIÓN Todas las sesiones son previstas de forma tal que los participantes tengan amplias oportunidades de hacer preguntas y discutir los temas desarrollados. Es conveniente que cada participante traiga un computador portátil con acceso W iF i para poder ejercitar y disponer de las herramientas que se brindarán. El curso está organizado en 2 jornadas de siete horas cada una. El punto 1 está organizado de forma general y poco técnica, para que asistan tanto los desarrolladores, como los cargos medios y altos de la organización si resultara de interés. Los puntos restantes tiene modalidad de presentación, demostración de las herramientas y técnicas, y ejercicios sencillos para familiarizarse con la notación y la metodología (este código fuente será provisto). Se contará con un espacio con proyector y capacidad suficiente para todos los asistentes y estaciones de trabajo lo que permitirá trabajar con las herramientas, ya sea individualmente o en grupo. DIRIGIDO A Programadores y testers con nivel medio de conocimiento en los lenguajes de programación Java o C#.NET y SQL. PROGRAMA DE SOFTWARE REQUISITOS Para la ejercitación es necesario que los equipos que cuenten con las siguientes herramientas: PHP 5.3.8 PHPUnit 3.5 XDebug 2.1.2 PEAR 1.9.2 Guia de instalacion en Windows: http://jsdoodnauth.wordpress.com/2008/11/05/installing‐wamp‐and‐phpunit‐onwindows/ Guia de Instalacion en Ubuntu: $ sudo pear upgrade pear $ sudo pear channel‐discover pear.phpunit.de $ sudo pear channel‐discover components.ez.no $ sudo pear channel‐discover pear.symfony‐project.com $ sudo pear install ‐‐alldeps phpunit/PHPUnit CONTENIDO 1. Introducción: conceptos elementales de calidad de software, testing, proceso de desarrollo y proceso de prueba; conceptos fundamentales de automatización, sus objetivos y principios; testing como especificación. 2. Pruebas unitarias: concepto de prueba y granularidad; su automatización utilizando xUnit Frameworks; componentes de un xUnit Framework; integración con IDEs; estructuración y composición de test de unidad; anotaciones. 3. Construcción de suites de testing: criterios y técnicas de diseño de casos de prueba; pruebas de caja blanca, criterios de cobertura; pruebas de caja negra; composición y organización de suites utilizando xUnit Frameworks; técnicas y herramientas para la medición de cobertura. 4. Dobles de test: concepto de doble y su necesidad; estrategias de integración; clases de dobles: dummy, stubs, spy, fakes, mocks; herramientas para su automatización. Curso:TESTINGDESOFTWAREEMBEBIDO Código de curso: TESTE OBJETIVOS Brindar a los participantes una introducción de todos los aspectos del proceso testing como parte del ciclo de vida del producto. DURACIÓN Y ASISTENCIA 21 horas, distribuidos en 3 días de 7 horas en días contiguos en horarios a convenir. El cupo del curso es de 25 personas. METODOLOGÍA de la CAPACITACIÓN Los cursos serán desarrollados bajo la modalidad presencial, los mismos serán guiados por un instructor especializado, el cual desarrollará los temas teóricos a través de exposiciones apoyadas por la proyección de slides. Los conceptos teóricos serán complementados con ejercicios prácticos, fomentando el trabajo grupal y el intercambio de experiencias e ideas. Todas las sesiones son previstas de forma tal que los participantes tengan amplias oportunidades de hacer PROGRAMA DE SOFTWARE preguntas y discutir los temas desarrollados. DIRIGIDO A El curso está dirigido a profesionales y estudiantes de la informática con conocimiento en el desarrollo de software en entornos embebidos. CONTENIDO Introducción al testing de software embebido Fases del testing en ciclos de vida para sistemas embebidos Estrategias de testing basadas en análisis de riesgo Técnicas de diseño de pruebas Análisis de Cobertura Testing basado en modelos Entornos de prueba del software embebido AGENDA Jornada 1 Introducción al testing de software embebido Fases del testing en ciclos de vida para sistemas embebidos Jornada 2 Estrategias de testing basadas en análisis de riesgo Técnicas de diseño de pruebas Análisis de Cobertura Jornada 3 Testing basado en modelos Entornos de prueba del software embebido PROGRAMA DE SOFTWARE Curso:ADMINISTRACIÓNDEPROYECTOSDESOFTWARE Código de curso: APS OBJETIVO Permitir a personas que trabajan en desarrollo de software entender y ejercitar los conceptos y herramientas de la Administración de Proyectos, tanto en su forma tradicional como en algunas formas de administración más recientes. El enfoque es eminentemente práctico, sobre todos los temas se harán prácticas. Luego de este curso, los participantes podrán seleccionar y usar las herramientas que sean más apropiadas para un proyecto particular. DURACIÓN Y ASISTENCIA 21 horas, distribuidos en 3 días de 7 horas en días contiguos en horarios a convenir. El cupo del curso es de 25 personas. CONTENIDO Administración tradicional ¿Qué es un proyecto?, fases de un proyecto, WBS, PERT/GANTT, estimación, planificación, control, manejo de hitos. Se harán prácticas de estimación, desde el punto de vista de calendarización. Se indicarán las condiciones para que una administración tradicional sea apropiada. Se comentarán los costos y beneficios de la planificación, y como optimizarlo. Contexto de los proyectos Los proyectos no están aislados, y no podemos manejarlos correctamente sin comprender el contexto. Veremos un modelo de procesos de las organizaciones, revisando los procesos que originan proyectos (Requerimientos internos, Ventas, Manejo de Producto) y la operación del producto resultado del proyecto (ITIL) Se comentará la influencia que tienen otros proyectos y el concepto de cartera de proyectos. Se harán prácticas de identificación de temas de contexto relevantes al proyecto. Manejo de riesgos y proyectos iterativos e incrementales Identificación y manejo de riesgos. Clasificación de los riesgos. Descripción de los proyectos organizados según ciclo de vida iterativo o incremental, y como se relaciona con los riesgos del proyecto. Implicancia en cuanto a técnicas de ingeniería de software utilizadas. Práctica de detección y manejo de riesgos. Cadena crítica Presentación del método de Cadena Crítica. Comparación con los métodos tradicionales, ejercitación de calendarización. El factor humano Formas de liderazgo (autocrático y democrático). Grupos de alto rendimiento (o autodirigidos). Características de los líderes de grupos de alto rendimiento, y sus funciones. Diferencias con el líder tradicional. Introducción a Scrum. La comunicación y la calidad Manejo de las expectativas y los interesados (stakeholders). Toma de requerimientos y información de avance. Impacto de los diferentes ciclos de vida en la calidad y el testing. PROGRAMA DE SOFTWARE Curso:FORMACIÓNDETESTERS Código de curso: FT OBJETIVO Desarrollar la temática de Aseguramiento de la Calidad del Software (SQA) con el objetivo de incorporar los conocimientos esenciales para mejorar el desempeño en la actividad laboral. Entregar un producto de calidad que permita al asistente aumentar su nivel de confianza respecto a las competencias necesarias para desempeñarse en el área de SQA. La capacitación brindará un marco teórico, el cual permitirá dejar conocimiento persistente en el tiempo y de suma utilidad a la hora de realizar la labor práctica de la actividad. Permitir el conocimiento y la incorporación de una metodología de trabajo que mejore la eficiencia y la productividad. DURACIÓN Y ASISTENCIA 21 horas, distribuidos en 6 días de 3,5 horas, ej Lun/Mie/Vie de 9:00 a 12:30hs. El cupo del curso es de 15 personas. DESTINATARIOS Este curso se orienta a Analistas de QA, estudiantes de sistemas y a aquellas personas vinculadas al desarrollo de software pero inclinadas hacia la calidad, mejora y perfeccionamiento de las aplicaciones. CONTENIDO 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. Concepto de Calidad: calidad en general y calidad de sistemas Metodologías y Modelos de Madurez en el desarrollo de software Áreas y ambientes de sistemas Definición de QA Verificación y validación de software Criterios de Testeabilidad Niveles de pruebas: definición Tipos de pruebas: definición La documentación funcional Casos de uso y casos de prueba: concepto y diferencias El plan de pruebas Casos de prueba: Métodos de derivación según documentación Datos y ambiente de prueba: control, armado y documentación Ejecución de las pruebas Verificación de los resultados: Conceptos básicos de SQL Aparición de errores: procedimiento y ejemplos Reporte de defectos Pruebas de regresión: cuándo y cómo planificarlas y ejecutarlas Versionado conceptos básicos Seguimiento de bugs Fin de las pruebas: criterios e informes Test automatizado Test de carga/performance/stress Test de integración Test de aceptación Test de usabilidad/navegabilidad Test de instalación Herramientas de gestión, de automatización y de stress