SlideShare a Scribd company logo
1 of 22
CAPABILITY MATURITY MODEL INTEGRATION (CMMI)
Integración    de     modelos      de      madurez     de     capacidades      o
Capabilitymaturitymodelintegration (CMMI) es un modelo para la mejora y
evaluación de procesos para el desarrollo, mantenimiento y operación de sistemas
de software.


Modelos CMMI

Las mejores prácticas CMMI se publican en los documentos llamados modelos. En
la actualidad hay tres áreas de interés cubiertas por los modelos de CMMI:
Desarrollo, Adquisición y Servicios.

La versión actual de CMMI es la versión 1.3 la cual corresponde a CMMI-SVC,
liberada el 1 de noviembre de 2010. Hay tres constelaciones de la versión 1.2
disponible:

      CMMI para el Desarrollo (CMMI-DEV o CMMI forDevelopment), Versión 1.2
      fue liberado en agosto de 2006. En él se tratan procesos de desarrollo de
      productos y servicios.

      CMMI para la adquisición (CMMI-ACQ o CMMI forAcquisition), Versión 1.2
      fue liberado en noviembre de 2007. En él se tratan la gestión de la cadena
      de suministro, adquisición y contratación externa en los procesos del
      gobierno y la industria.

      CMMI para servicios (CMMI-SVC o CMMI forServices), está diseñado para
      cubrir todas las actividades que requieren gestionar, establecer y entregar
      Servicios.

Dentro de la constelación CMMI-DEV, existen dos modelos:

      CMMI-DEV
      CMMI-DEV + IPPD (Integrated Product and Process Development)

Independientemente de la constelaciónmodelo que opta una organización, las
prácticas CMMI deben adaptarse a cada organización en función de sus objetivos
de negocio.

Las organizaciones no pueden ser certificadas CMMI. Por el contrario, una
organización es evaluada (por ejemplo, usando un método de evaluación como
SCAMPI y recibe una calificación de nivel 1-5 si sigue los niveles de Madurez (si
bien se comienza con el nivel 2). En caso de que quiera la organización, puede
coger áreas de proceso y en vez de por niveles de madurez puede obtener los
niveles de capacidad en cada una de las Áreas de Proceso, obteniendo el "Perfil
de Capacidad" de la Organización.
OPENUP ENTERPRISE UP
OpenUP es un método y un proceso de desarrollo de software propuesto por un
conjunto de empresas de tecnología,1 quienes lo donaron en el año 2007 a la
Fundación Eclipse. La fundación lo ha publicado bajo una licencia libre2 y lo
mantiene como método de ejemplo dentro del proyecto Eclipse Process
Framework.




Principios del OpenUP

      Colaborar para sincronizar intereses y compartir conocimiento. Este
      principio promueve prácticas que impulsan un ambiente de equipo
      saludable, facilitan la colaboración y desarrollan un conocimiento
      compartido del proyecto.
      Equilibrar las prioridades para maximizar el beneficio obtenido por los
      interesados en el proyecto. Este principio promueve prácticas que permiten
      a los participantes de los proyectos desarrollar una solución que maximice
      los beneficios obtenidos por los participantes y que cumple con los
      requisitos y restricciones del proyecto.
      Centrarse en la arquitectura de forma temprana para minimizar el riesgo y
      organizar el desarrollo.
      Desarrollo evolutivo para obtener retroalimentación y mejoramiento
      continuo. Este principio promueve prácticas que permiten a los equipos de
      desarrollo obtener retroalimentación temprana y continua de los
participantes del proyecto,       permitiendo    demostrarles    incrementos
      progresivos en la funcionalidad

Organización de los componentes del OpenUP

El OpenUP está organizado en dos dimensiones diferentes pero interrelacionadas:
el método y el proceso. El contenido del método es donde los elementos del
método (roles, tareas, artefactos y lineamientos) son definidos, sin tener en cuenta
como son utilizados en el ciclo de vida del proyecto. El proceso es donde los
elementos del método son aplicados de forma ordenada en el tiempo. Muchos
ciclos de vida para diferentes proyectos pueden ser creados a partir del mismo
conjunto de elementos del método.




eXtremeProgramming (XP)

La programación extrema o eXtremeProgramming (XP) es un enfoque de la
ingeniería de software formulado por Kent Beck, autor del primer libro sobre la
materia, Extreme ProgrammingExplained: Embrace Change (1999). Es el más
destacado de los procesos ágiles de desarrollo de software. Al igual que éstos, la
programación extrema se diferencia de las metodologías tradicionales
principalmente en que pone más énfasis en la adaptabilidad que en la
previsibilidad. Los defensores de XP consideran que los cambios de requisitos
sobre la marcha son un aspecto natural, inevitable e incluso deseable del
desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de
requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y
más realista que intentar definir todos los requisitos al comienzo del proyecto e
invertir esfuerzos después en controlar los cambios en los requisitos.


Valores

Los Valores originales de la programación extrema son: simplicidad,
comunicación, retroalimentación (feedback) y coraje. Un quinto valor, respeto, fue
añadido en la segunda edición de Extreme ProgrammingExplained. Los cinco
valores se detallan a continuación:

      Simplicidad:

La simplicidad es la base de la programación extrema. Se simplifica el diseño para
agilizar el desarrollo y facilitar el mantenimiento. Un diseño complejo del código
junto a sucesivas modificaciones por parte de diferentes desarrolladores hacen
que la complejidad aumente exponencialmente. Para mantener la simplicidad es
necesaria la refactorización del código, ésta es la manera de mantener el código
simple a medida que crece. También se aplica la simplicidad en la documentación,
de esta manera el código debe comentarse en su justa medida, intentando eso sí
que el código esté autodocumentado. Para ello se deben elegir adecuadamente
los nombres de las variables, métodos y clases. Los nombres largos no
decrementan la eficiencia del código ni el tiempo de desarrollo gracias a las
herramientas de autocompletado y refactorización que existen actualmente.
Aplicando la simplicidad junto con la autoría colectiva del código y la programación
por parejas se asegura que cuanto más grande se haga el proyecto, todo el
equipo conocerá más y mejor el sistema completo.

      Comunicación:

La comunicación se realiza de diferentes formas. Para los programadores el
código comunica mejor cuanto más simple sea. Si el código es complejo hay que
esforzarse para hacerlo inteligible. El código autodocumentado es más fiable que
los comentarios ya que éstos últimos pronto quedan desfasados con el código a
medida que es modificado. Debe comentarse sólo aquello que no va a variar, por
ejemplo el objetivo de una clase o la funcionalidad de un método. Las pruebas
unitarias son otra forma de comunicación ya que describen el diseño de las clases
y los métodos al mostrar ejemplos concretos de como utilizar su funcionalidad. Los
programadores se comunican constantemente gracias a la programación por
parejas. La comunicación con el cliente es fluida ya que el cliente forma parte del
equipo de desarrollo. El cliente decide que características tienen prioridad y
siempre debe estar disponible para solucionar dudas.

      Retroalimentación (feedback):

Al estar el cliente integrado en el proyecto, su opinión sobre el estado del proyecto
se conoce en tiempo real. Al realizarse ciclos muy cortos tras los cuales se
muestran resultados, se minimiza el tener que rehacer partes que no cumplen con
los requisitos y ayuda a los programadores a centrarse en lo que es más
importante. Considérense los problemas que derivan de tener ciclos muy largos.
Meses de trabajo pueden tirarse por la borda debido a cambios en los criterios del
cliente o malentendidos por parte del equipo de desarrollo. El código también es
una fuente de retroalimentación gracias a las herramientas de desarrollo. Por
ejemplo, las pruebas unitarias informan sobre el estado de salud del código.
Ejecutar las pruebas unitarias frecuentemente permite descubrir fallos debidos a
cambios recientes en el código.

      Coraje o valentía:

Muchas de las prácticas implican valentía. Una de ellas es siempre diseñar y
programar para hoy y no para mañana. Esto es un esfuerzo para evitar
empantanarse en el diseño y requerir demasiado tiempo y trabajo para
implementar todo lo demás del proyecto. La valentía le permite a los
desarrolladores que se sientan cómodos con reconstruir su código cuando sea
necesario. Esto significa revisar el sistema existente y modificarlo si con ello los
cambios futuros se implementaran mas fácilmente. Otro ejemplo de valentía es
saber cuando desechar un código: valentía para quitar código fuente obsoleto, sin
importar cuanto esfuerzo y tiempo se invirtió en crear ese código. Además,
valentía significa persistencia: un programador puede permanecer sin avanzar en
un problema complejo por un día entero, y luego lo resolverá rápidamente al día
siguiente, solo si es persistente.

      Respeto:

El respeto se manifiesta de varias formas. Los miembros del equipo se respetan
los unos a otros, porque los programadores no pueden realizar cambios que
hacen que las pruebas existentes fallen o que demore el trabajo de sus
compañeros. Los miembros respetan su trabajo porque siempre están luchando
por la alta calidad en el producto y buscando el diseño óptimo o más eficiente para
la solución a través de la refactorización del código. Los miembros del equipo
respetan el trabajo del resto no haciendo menos a otros, una mejor autoestima en
el equipo y elevando el ritmo de producción en el equipo.



SCRUM

Scrum es un marco de trabajo para la gestión y desarrollo de software basada en
un proceso iterativo e incremental utilizado comúnmente en entornos basados en
el desarrollo ágil de software.
Aunque Scrum estaba enfocado a la gestión de procesos de desarrollo de
software, puede ser utilizado en equipos de mantenimiento de software, o en una
aproximación de gestión de programas: Scrum de Scrums.
Características de Scrum

Scrum es un modelo de referencia que define un conjunto de prácticas y roles, y
que puede tomarse como punto de partida para definir el proceso de desarrollo
que se ejecutará durante un proyecto. Los roles principales en Scrum son el
ScrumMaster, que mantiene los procesos y trabaja de forma similar al director de
proyecto, el ProductOwner, que representa a los stakeholders (interesados
externos o internos), y el Team que incluye a los desarrolladores.

Durante cada sprint, un periodo entre una y cuatro semanas (la magnitud es
definida por el equipo), el equipo crea un incremento de software potencialmente
entregable (utilizable). El conjunto de características que forma parte de cada
sprint viene del ProductBacklog, que es un conjunto de requisitos de alto nivel
priorizados que definen el trabajo a realizar. Los elementos del ProductBacklog
que forman parte del sprint se determinan durante la reunión de Sprint Planning.
Durante esta reunión, el ProductOwner identifica los elementos del
ProductBacklog que quiere ver completados y los hace del conocimiento del
equipo. Entonces, el equipo determina la cantidad de ese trabajo que puede
comprometerse a completar durante el siguiente sprint. 2 Durante el sprint, nadie
puede cambiar el Sprint Backlog, lo que significa que los requisitos están
congelados durante el sprint.

Scrum permite la creación de equipos autoorganizados impulsando la co-
localización de todos los miembros del equipo, y la comunicación verbal entre
todos los miembros y disciplinas involucrados en el proyecto.

Un principio clave de Scrum es el reconocimiento de que durante un proyecto los
clientes pueden cambiar de idea sobre lo que quieren y necesitan (a menudo
llamado requirementschurn), y que los desafíos impredecibles no pueden ser
fácilmente enfrentados de una forma predictiva y planificada. Por lo tanto, Scrum
adopta una aproximación pragmática, aceptando que el problema no puede ser
completamente entendido o definido, y centrándose en maximizar la capacidad del
equipo de entregar rápidamente y responder a requisitos emergentes.

Existen varias implementaciones de sistemas para gestionar el proceso de Scrum,
que van desde notas amarillas "post-it" y pizarras hasta paquetes de software.
Una de las mayores ventajas de Scrum es que es muy fácil de aprender, y
requiere muy poco esfuerzo para comenzarse a utilizar.



INFORMATION TECHNOLOGY INFRASTRUCTURE LIBRARY (ITIL)
La Biblioteca de Infraestructura de Tecnologías de Información, frecuentemente
abreviada ITIL (del inglésInformationTechnologyInfrastructure Library), es un
conjunto de conceptos y prácticas para la gestión de servicios de tecnologías de la
información, el desarrollo de tecnologías de la información y las operaciones
relacionadas con la misma en general. ITIL da descripciones detalladas de un
extenso conjunto de procedimientos de gestión ideados para ayudar a las
organizaciones a lograr calidad y eficiencia en las operaciones de TI. Estos
procedimientos son independientes del proveedor y han sido desarrollados para
servir como guía que abarque toda infraestructura, desarrollo y operaciones de TI.


Historia

Aunque se desarrolló durante los años 1980, ITIL no fue ampliamente adoptada
hasta mediados de los años 1990. Esta mayor adopción y conocimiento ha llevado
a varios estándares, incluyendo ISO/IEC 20000, que es una norma internacional
cubriendo los elementos de gestión de servicios de TI de ITIL. ITIL se considera a
menudo junto con otros marcos de trabajo de mejores prácticas como la
InformationServicesProcurement Library (ISPL, „Biblioteca de adquisición de
servicios de información‟), la ApplicationServices Library (ASL, „Biblioteca de
servicios de aplicativos‟), el método de desarrollo de sistemas dinámicos (DSDM,
DynamicSystemsDevelopmentMethod), el Modelo de Capacidad y Madurez
(CMM/CMMI) y a menudo se relaciona con la gobernanza de tecnologías de la
información    mediante        COBIT    (Control    ObjectivesforInformation  and
relatedTechnology).

El concepto de gestión de servicios de TI, aunque relacionado con ITIL, no es
idéntico: ITIL contiene una sección específicamente titulada «Gestión de Servicios
de TI» (la combinación de los volúmenes de Servicio de Soporte y Prestación de
Servicios, que son un ejemplo específico de un marco ITSM). Sin embargo es
importante señalar que existen otros marcos parecidos. La Gestión de Servicio
ITIL está actualmente integrado en el estándar ISO 20000 (anterior BS 15000).

ITIL se construye en torno a una vista basada en proceso-modelo del control y
gestión de las operaciones a menudo atribuida a W. Edwards Deming. Las
recomendaciones de ITIL fueron desarrolladas en los años 1980 por la Central
Computer and Telecommunications Agency (CCTA) del gobierno británico como
respuesta a la creciente dependencia de las tecnologías de la información y al
reconocimiento de que sin prácticas estándar, los contratos de las agencias
estatales y del sector privado creaban independientemente sus propias prácticas
de gestión de TI y duplicaban esfuerzos dentro de sus proyectos TIC, lo que
resultaba en errores comunes y mayores costes.

ITIL fue publicado como un conjunto de libros, cada uno dedicado a un área
específica dentro de la Gestión de TI. Los nombres ITIL e IT Infrastructure Library
(„Biblioteca de infraestructura de TI‟) son marcas registradas de la Office of
Government Commerce („Oficina de comercio gubernamental‟, OGC), que es una
división del Ministerio de Hacienda del Reino Unido.

En abril de 2001 la CCTA fue integrada en la OGC, desapareciendo como
organización separada.1

En diciembre de 2005, la OGC emitió un aviso de una actualización a ITIL,2
conocida comúnmente como ITIL v3, que estuvo planificada para ser publicada a
finales de 2006; habiendo sido realizada en junio de 2007. Se esperaba que la
publicación de ITIL versión 3 incluyera cinco libros principales, concretamente:
Diseño de Servicios de TI, Introducción de los Servicios de TI, Operación de los
Servicios de TI, Mejora de los Servicios de TI y Estrategias de los Servicios de TI,
consolidando buena parte de las prácticas actuales de la versión 2 en torno al
Ciclo de Vida de los Servicios.

Uno de los principales beneficios propugnado por los defensores de ITIL dentro de
la comunidad de TI es que proporciona un vocabulario común, consistente en un
glosario de términos precisamente definidos y ampliamente aceptados. Un nuevo
glosario ampliado ha sido desarrollado como entregable clave de ITIL versión 3.

Otros modelos: CMMI para el desarrollo de software y s3m,3 para el
mantenimiento del software
COBIT




COBIT es un marco creado por ISACA para la tecnología de la información (TI) y
el Gobierno de TI . Se trata de un conjunto de herramientas de apoyo que permite
a los administradores para cerrar la brecha entre las necesidades de control,
cuestiones técnicas y los riesgos de negocio.


El propósito de Cobit es brindar a la Alta Dirección de una compañía confianza en
los sistemas de información y en la información que estos produzcan. Cobit
permite entender como dirigir y gestionar el uso de tales sistemas así como
establecer un codigo de buenas practicas a ser utilizado por los proveedores de
sistemas. Cobit suministra las herramientas para supervisar todas las actividades
relacionadas                                  con                              IT.

Veamos que ventajas ofrece Cobit:

      Cobit es un marco de referencia aceptado mundialmente de gobierno IT
      basado en estándares y mejores prácticas de la industria. Una vez
      implementado, es posible asegurarse de que IT se encuentra efectivamente
      alineado con las metas del negocio, y orientar su uso para obtener ventajas
      competitivas.
      Suministra un lenguaje común que le permite a los ejecutivos de negocios
      comunicar sus metas, objetivos y resultados con Auditores, IT y otros
      profesionales.
      Proporciona las mejores prácticas y herramientas para monitorear y
      gestionar las actividades de IT. El uso de sistemas usualmente requiere de
      una inversión que necesita ser adecuadamente gestionada.
Ayuda a los ejecutivos a entender y gestionar las inversiones en IT a través
      de sus ciclo de vida, así como también proporcionándoles métodos para
      asegurarse que IT entregara los beneficios esperados.

La diferencia entre compañías que gestionan adecuadamente sus recursos IT y
las que no es enorme. Cobit permite el desarrollo de políticas claras y buenas
prácticas para la gestión de IT. Su marco de referencia permite gestionar los
riesgos de IT y asegurar el cumplimiento, la continuidad, seguridad y privacidad.

Al ser Cobit reconocida y aceptada internacionalmente como una herramienta de
gestión, su implementación es un indicativo de la seriedad de una organización.
Ayuda a Empresas y profesionales de IT a demostrar su competitividad ante las
demás compañías. Así como existen procesos genéricos de muchos tipos de
negocios, existen estándares y buenas practicas específicos para IT que deben
seguirse por las compañías cuando se soportan en IT, en donde Cobit agrupa
tales estándares y entrega un marco de referencia para su implementación y
gestión.

Una vez se identifican e implementan los principios relevantes de Cobit para una
compañía, se obtiene plena confianza en que todos los recursos de sistemas
estan               siendo              gestionados                efectivamente.

Que resultados se obtienen al implementar Cobit? Veamos:

      El ciclo de vida de costos de IT será mas transparente y predecible.
      IT entregara información de mayor calidad y en menor tiempo.
      IT brindara servicios con mayor calidad y todos los proyectos apoyados en
      IT serán mas exitosos.
      Los requerimientos de seguridad y privacidad serán más fácilmente
      identificados, y su implementación podrá ser mas fácilmente monitoreada.
      Todos los riesgos asociados a IT serán gestionados con mayor efectividad.
      El cumplimiento de regulaciones relacionadas a IT serán una práctica
      normal dentro de su gestión.

El marco de referencia Cobit en su versión 4 (a Julio de 2010), incluye lo
siguiente:

      Marco de referencia: explica como Cobitorganiza la Gestión de IT, los
      objetivos de control y buenas practicas del negocio por dominios y procesos
      de IT, relacionándolos directamente con los requerimientos del negocio.
      Este marco de referencia contiene un total de 34 niveles de objetivos de
      control, uno por cada proceso de IT, agrupados en cuatro dominios:
      Planeamiento y Organización, Adquisición e Implementación, Desarrollo y
      Soporte y Monitoreo y Evaluación (Que tal la coincidencia con el ciclo
      PHVA de las Normas ISO?)
      Descripción de procesos: Incluida para cada uno de los 34 procesos de IT,
      cubriendo todas las áreas y responsabilidades de IT de principio a fin.
Objetivos de Control: Suministra objetivos de gestión basados en las
       mejores prácticas para los procesos de IT.
       Directrices de Gestión: Incluye herramientas para ayudar a asignar
       responsabilidades y medir desempeños.
       Modelos de madurez: proporciona perfiles de los procesos de IT
       describiendo para cada uno de ellos un estados actual y uno futuro.

LEAN

QUE ES LEAN?

La idea central es maximizar el valor del cliente y reducir al mínimo los residuos.
Simplemente, delgado significa crear más valor para los clientes con menos
recursos.

Una organización ágil entiende el valor del cliente y enfoca sus procesos clave
para aumentar continuamente. El objetivo final es aportar un valor ideal para el
cliente a través de un proceso de creación de valor perfecta que tiene cero de
residuos.

Para lograr esto, los cambios de pensamiento lean el enfoque de la gestión de la
optimización de las tecnologías por separado, los activos, y los departamentos
verticales para optimizar el flujo de productos y servicios a través de cadenas de
valor enteras que fluyen horizontalmente a través de las tecnologías, los activos, y
los departamentos a los clientes.

La eliminación de los residuos a lo largo de cadenas de valor completas, en lugar
de en puntos aislados, crea procesos que requieren menos esfuerzo humano,
menos espacio, menos capital y menos tiempo para hacer los productos y
servicios a costos mucho menos y mucho menos con defectos, en comparación
con los sistemas empresariales tradicionales . Las empresas son capaces de
responder a los deseos cambiantes de los clientes con gran variedad, alta calidad,
bajo costo y con tiempos de producción muy rápidos. Además, la gestión de la
información se vuelve mucho más simple y más precisa.

Lean para la Producción y Servicios

Una creencia popular es que se apoyan es adecuado sólo para la fabricación. No
es cierto. Esbelta se aplica en todos los negocios y cada proceso. No es una
táctica o un programa de reducción de costes, sino una forma de pensar y de
actuar para toda una organización.

Los negocios en todas las industrias y servicios, incluyendo la salud y los
gobiernos, están utilizando los principios lean en su forma de pensar y hacer.
Muchas organizaciones optan por no utilizar la palabra pobre, pero para etiquetar
lo que hacen que su propio sistema, como el Sistema de Producción Toyota o el
Sistema de Negocios Danaher. ¿Por qué? Para llevar a casa el punto que se
apoyan no es un programa o un programa a corto plazo de reducción de costos,
pero la forma en que la compañía opera. La transformación de palabra o de
transformación Lean a menudo se utiliza para caracterizar a una compañía móvil
de una forma antigua de pensar que el pensamiento esbelto. Se requiere una
transformación completa de cómo una empresa realiza negocios. Esto toma una
perspectiva a largo plazo y la perseverancia.

El término "pobre" fue acuñado para describir negocio de Toyota en la década de
1980 por un equipo de investigación dirigido por JimWomack, Ph.D., en el
Programa MIT Internacional de Vehículos de Motor.

Las características de una organización ágil y cadena de suministro se describen
en el Pensamiento Lean, por Womack y Dan Jones, fundadores del Lean
Enterprise Institute y el Lean Enterprise Academy (Reino Unido), respectivamente.
Si bien hay muchos libros muy buenos sobre las técnicas Lean, Lean Thinking
sigue siendo uno de los mejores recursos para la comprensión de "lo que es
pobre", ya que describe el proceso de pensamiento, los principios básicos
generales que debe guiar sus acciones cuando la aplicación de técnicas Lean y
herramientas.



MICROSOFT SOLUTIONS FRAMEWORK
Microsoft Solutions Framework (MSF) es un conjunto de principios, modelos,
disciplinas, conceptos y directrices para la entrega de tecnología de la información
de las soluciones de Microsoft . MSF no se limita a las aplicaciones en desarrollo
solamente, es también aplicable a otros proyectos de TI como los proyectos de
implementación, redes o infraestructura. MSF no obliga al desarrollador a utilizar
un determinado método ( Cascada , Agile ), pero les permite decidir qué método
utilizar.


Principios Fundamentales

Los siguientes son los ocho principios fundamentales, que forman la columna
vertebral de los otros modelos y disciplinas de MSF:

1. Fomentar la comunicación abierta

2. Trabajar en pro de una visión compartida

3. Empoderar a los miembros del equipo

4. Establecer la rendición de cuentas clara y la responsabilidad compartida

5. Enfoque en entregar valor de negocio
6. Manténgase ágil, esperan cambiar

7. Invertir en calidad

8. Aprender de todas las experiencias

Modelos de MSF

MSF se compone de dos modelos:

1. MSF TeamModel. Esto describe el papel de los distintos miembros del equipo
en un proyecto de desarrollo de software. Los miembros de este equipo sería el
siguiente:

       Gestión del producto: se ocupa principalmente de los clientes y definir los
       requisitos del proyecto, también se asegura de que se cumplan las
       expectativas del cliente.
       Gestión del programa: Mantiene el desarrollo de proyectos y la entrega al
       cliente
       Arquitectura: Responsable de diseño de la solución, asegurándose de que
       el diseño de la solución óptima satisface todas las necesidades y
       expectativas
       Desarrollo: se desarrolla de acuerdo a las especificaciones.
       De la prueba: Pruebas y asegura la calidad del producto
       Release / Operaciones: Se asegura una implementación sin problemas y de
       las operaciones del software
       Experiencia de usuario: Soporta los problemas de los usuarios.

Una persona puede ser asignado para realizar múltiples funciones. MSF también
tiene sugerencias sobre cómo combinar las responsabilidades, tales como el
desarrollador no debe ser asignado a cualquier otro rol.

2. MSF modelo de gobernanza. Este describe las diferentes etapas en el
procesamiento de un proyecto. El Modelo de Gobierno de MSF cuenta con cinco
pistas superpuestas de la actividad (ver más abajo), cada uno con un objetivo de
calidad definido. Estas pistas de la actividad de definir lo que se necesita lograr y
dejar la forma en que se llevan a cabo con la metodología del equipo
seleccionado. Por ejemplo, estas pistas pueden ser pequeñas en su alcance y
lleva a cabo rápidamente para ser coherente con una metodología ágil, o se puede
serializar y alargado para ser coherente con una metodología de cascada.

       Envision - pensar en lo que se necesita lograr y determinar las limitaciones
       - Plan y el diseño de una solución para satisfacer las necesidades y
       expectativas dentro de esas limitaciones
       Construir - generar la solución
Estabilizar - validar que la solución cumple con las necesidades y
      expectativas ... "Sincronizar y estabilizar"
      Implementar - implementar la solución

Proceso de Gestión de Proyectos de MSF

      Integrar la planificación y el control de cambio de conducta
      Definir y gestionar el alcance del proyecto
      Prepare un presupuesto y administrar los costos
      Preparar y realizar un seguimiento de los horarios
      Asegúrese de que los recursos se asignan a la derecha del proyecto
      Administrar los contratos y proveedores y recursos procuran proyecto
      Facilitar el equipo y las comunicaciones externas
      Facilitar el proceso de gestión de riesgos
      Documentar y supervisar el proceso del equipo de gestión de calidad

MSF sobre la metodología de desarrollo ágil de software

El MSF para Agile de desarrollo de software (MSF4ASD) está destinado a ser un
peso ligero, iterativo y adaptable.

El MSF4ASD utiliza los principios del enfoque de desarrollo ágil formulada por la
Agile Alliance . El MSF4ASD proporciona una guía de procesos que se centra en
las personas y los cambios. Incluye las oportunidades de aprendizaje mediante el
uso de iteraciones y evaluaciones en cada iteración.

MSF para el Modelo de Madurez de la Capacidad metodología de mejora de
Integración de Procesos

El MSF para el Modelo de Madurez de la Capacidad de integración de Mejora de
Procesos (MSF4CMMI) tiene más objetos, más procesos, más signoffs, más
planificación y está destinado a los proyectos que requieren un mayor grado de
formalidad y ceremonia.

El MSF4CMMI es una metodología formal para la ingeniería de software.
CapabilityMaturityModel fue creado en el Software EngineeringInstitute de
Carnegie MellonUniversity , y es un enfoque de mejora de procesos que
proporciona a las organizaciones los elementos esenciales del proceso de mejora
continua que resulta en una reducción de SDLC , la capacidad de mejorar para
cumplir con los objetivos de costes y el calendario, la construcción de productos
de alta calidad. El MSF4CMMI ha ampliado la orientación MSF4ASD con la
formalidad adicional, revisiones , verificación y auditoría . Esto resulta en un
septiembre que se basa en el proceso y la conformidad de procesar en lugar de
confiar exclusivamente en la confianza y la capacidad de los miembros
individuales del equipo. El MSF4CMMI tiene más documentos obligatorios y los
informes que la versión ágil, y este proceso de desarrollo más formal reduce el
riesgo de grandes proyectos de software y ofrece un estado medible. Una de las
ventajas de utilizar el proceso de CMMI es la evaluación estándar por el cual se
puede comparar la capacidad de desarrollar software en otras organizaciones.



PROJECT MANAGEMENT INSTITUTE
El Project Management Institute (PMI®) es una organización internacional sin
fines de lucro que asocia a profesionales relacionados con la Gestión de
Proyectos. A principios de 2011, es la más grande del mundo en su rubro, dado
que se encuentra integrada por más de 260.000 miembros en cerca de 170
países. La oficina central se encuentra en la localidad de NewtownSquare, en la
periferia de la ciudad de Filadelfia, en Pennsylvania (Estados Unidos). Sus
principales objetivos son:
        Formular estándares profesionales en Gestión de Proyectos.
        Generar conocimiento a través de la investigación.
        Promover la Gestión de Proyectos como profesión a través de sus
        programas de certificación.

PMBOK®

La Guía del PMBOK® es un estándar en la Administración de proyectos
desarrollado por el Project Management Institute (PMI). La misma comprende dos
grandes secciones, la primera sobre los procesos y contextos de un proyecto, la
segunda sobre las áreas de conocimiento específico para la gestión de un
proyecto.

En 1987, el PMI publicó la primera edición del PMBOK® en un intento por
documentar y estandarizar información y prácticas generalmente aceptadas en la
gestión de proyectos. La edición actual, la cuarta, provee de referencias básicas a
cualquiera que esté interesado en la gestión de proyectos. Posee un léxico común
y una estructura consistente para el campo de la gestión de proyectos

La Guía del PMBOK es ampliamente aceptada por ser el estándar en la gestión de
proyectos, sin embargo existen algunas críticas: La mayor viene de los seguidores
de la Cadena Crítica (en oposición al Método de la ruta crítica). EL PMBOK se
encuentra disponible en 11 idiomas: inglés, español, chino simplificado, ruso,
coreano, japonés, italiano, alemán, francés, portugués de Brasil y árabe.

PMBOK®

El PMBOK es una colección de procesos y áreas de conocimiento generalmente
aceptadas como las mejores prácticas dentro de la gestión de proyectos. El
PMBOK es un estándar reconocido internacionalmente (IEEE Std 1490-2003) que
provee los fundamentos de la gestión de proyectos que son aplicables a un amplio
rango de proyectos, incluyendo construcción, software, ingeniería, etc.
El 'PMBOK' reconoce 5 grupos de procesos básicos y 9 áreas de conocimiento
comunes a casi todos los proyectos.

Los procesos se traslapan e interactúan a través de un proyecto o fase y son
descritos en términos de:

      Entradas (documentos, planes, diseños, etc.)
      Herramientas y Técnicas (mecanismos aplicados a las entradas)
      Salidas (documentos, productos, etc.).

Grupos básicos de Procesos

Los 5 grupos básicos de procesos son:

1. Iniciación:

      Define y autoriza el proyecto o una fase del mismo. Está formado por dos
      procesos.

2. Planificación:

      Define, refina los objetivos y planifica el curso de acción requerido para
      lograr los objetivos y el alcance pretendido del proyecto. Está formado por
      veinte procesos.

3. Ejecución:

      Compuesto por aquellos procesos realizados para completar el trabajo
      definido en el plan a fin de cumplir con las especificaciones del mismo.
      Implica coordinar personas y recursos, así como integrar y realizar
      actividades del proyecto en conformidad con el plan para la dirección del
      proyecto. Está formado por ocho procesos.

4. Seguimiento y Control:

      Mide, supervisa y regula el progreso y desempeño del proyecto, para
      identificar áreas en las que el plan requiera cambios. Está formado por diez
      procesos.

5. Cierre:

      Formaliza la aceptación del producto, servicio o resultado, y termina
      ordenadamente el proyecto o una fase del mismo. Está formado por dos
      procesos.
PRINCE2

PRojects IN ControlledEnvironments (PRINCE), en español: proyectos en
entornos controlados, es un método de gestión de proyectos que cubre la
administración, control y organización de un proyecto. PRINCE2 es una marca
registrada de la OGC del Reino Unido.
PRINCE2 fue originalmente desarrollado por la CCTA que actualmente forma
parte de la OGC. Desde 1989 se viene usando como un estándar para la gestión
de proyectos sobre todo en el Reino Unido. Este método fue inicialmente
desarrollado únicamente para proyectos TIC, la última versión, PRINCE2, es
compatible con la gestión de todo tipo de proyectos.
La revisión más reciente se publicó el 16 de junio de 2009 por la OGC siendo
denominada esta versión como PRINCE2:2009 Refresh.

DRA
El Desarrollo Rápido de Aplicaciones (DRA) (rapidapplicationDevelopment RAD)
es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza
un ciclo de desarrollo extremadamente corto. DRA es una adaptación a “Alta
velocidad” en el que se logra el desarrollo rápido utilizando un enfoque de
construcción basado en componentes. Si se comprenden bien los requisitos y se
limita el ámbito del proyecto, el proceso DRA permite al equipo de desarrollo crear
un “sistema completamente funcional” dentro de periodos cortos de tiempo.
Cuando se utiliza principalmente para aplicaciones de sistemas de información, el
enfoque DRA comprende las siguientes fases:
Modelado de gestión: el flujo de información entre las funciones de gestión se
modela de forma que responda a las siguientes preguntas: ¿Qué información
conduce el proceso de gestión? ¿Qué información se genera? ¿Quién la genera?
¿A dónde va la información? ¿Quién la proceso?
Modelado de datos: el flujo de información definido como parte de la fase de
modelado de gestión se refina como un conjunto de objetos de datos necesarios
para apoyar la empresa. Se definen las características (llamadas atributos) de
cada uno de los objetos y las relaciones entre estos objetos.
Modelado de proceso: los objetos de datos definidos en la fase de modelado de
datos quedan transformados para lograr el flujo de información necesario para
implementar una función de gestión. Las descripciones del proceso se crean para
añadir, modificar, suprimir, o recuperar un objeto de datos. Es la comunicación
entre los objetos.
Generación de aplicaciones: El DRA asume la utilización de técnicas de cuarta
generación. En lugar de crear software con lenguajes de programación de tercera
generación, el proceso DRA trabaja para volver a utilizar componentes de
programas ya existentes (cuando es posible) o a crear componentes reutilizables
(cuando sea necesario). En todos los casos se utilizan herramientas automáticas
para facilitar la construcción del software.
Pruebas de entrega: Como el proceso DRA enfatiza la reutilización, ya se han
comprobado muchos de los componentes de los programas. Esto reduce tiempo
de pruebas. Sin embargo, se deben probar todos los componentes nuevos y se
deben ejercitar todas las interfases a fondo.
CRYSTAL
Crystal es una metodología de desarrollo de Software ágil, más que una
metolodogía se la considera una familia de metodologías, debido a que se
subdivide en varios tipos de metodologías en función a la cantidad de persona que
vayan a estar en el proyecto. Es una metodología que ha sido creada por una
persona en particular (Alistair Cockburn ) el cuál llego la creó en base al análisis
de distintos proyectos de desarrollo de SW y su propia experiencia, lo cuál
fusionando ambos aspectos dio lugar a una metodología bastante interesante, la
cual se presenta a continuación.

                          Desarrollo de la metodología

Antecedentes

En los inicios de 1990, en un estudio realizado en IBM se llegó a los siguientes ac
uerdos (Cockburn, 2001).
Los equipos exitosos enfatizaban que no habían seguido métodos formales ni herr
amientas CASE y que habían estimulado la comunicación y los test.
Los equipos con problemas no entendían sus fallas o si habían cumplido con los m
étodos formales.


Qué es Crystal Clear

Crystal Clear no es una metodología en si misma sino una familia de metodologías
con un “código genético” común.
El nombre Crystal deriva de la caracterización de los proyectos según 2
dimensiones, tamaño y complejidad (como en los minerales, color y dureza).

Por ejemplo.
       Clear es para equipos de hasta 8 personas o menos.
       Amarillo para equipos entre 10 a 20 personas.
       Naranja para equipos entre 20 a 50 persona.
       Roja para equipos entre 50 a 100 personas.
       Azul para equipos entre 100 a 200 personas.

CC puede ser usado en proyectos pequeños y como casi todos los otros métodos,
CC consiste en valores, técnicas y procesos.

En primera instancia se especifican los antecedentes de la metodología, continuan
do con definiciones que
ayudan a estructurar la fundamentación teórica y se termina con las características
 esenciales de los diferentestipos de Crystal.
La conclusión:

Menos énfasis en la documentación exhaustiva y más en versiones que corran y p
uedan ser probadas. Lo
primero son promesas, lo segundo hechos. Cada proyecto necesita sus propios m
étodos. Alistair Cockburn en lugar de partir solamente de su experiencia personal
para construir una teoría de cómo deben hacerse las cosas
complementa su experiencia directa con la búsqueda activa de proyectos para ver
cómo trabajan.

 Él ha explorado a fondo los métodos ágiles, haciendo énfasis en la familia de met
odologías Crystal. Es una
familia porque cree que los diferentes tipos de proyectos requieren diferentes tipos
 de metodologías. Él mira
esta variación a lo largo de dos ejes: el número de personas en el proyecto, y las c
onsecuencias de los errores.

Cada metodología encaja en una parte diferente, de modo que para un proyecto d
e 40 personas que puede
perder dinero discrecionalmente tiene una metodología diferente a la de un proyec
to vital de seis personas




KANBAN
El Kanban es un sistema de información que controla de modo armónico la
fabricación de los productos necesarios en la cantidad y tiempo necesarios en
cada uno de los procesos que tienen lugar tanto en el interior de la fábrica como
entre distintas empresas. También se denomina “sistema de tarjetas”, pues en su
implementación más sencilla utiliza son tarjetas que se pegan en los contenedores
de materiales y que se despegan cuando estos contenedores son utilizados, para
asegurar la reposición de dichos materiales. Las tarjetas actúan de testigo del
proceso de producción. Otras implementaciones más sofisticadas utilizan la misma
filosofía, sustituyendo las tarjetas por otros métodos de visualización del flujo. El
Kanban se considera un subsistema del JIT.


TSP
En combinación con el Personal Software Process (PSP), el llamado Team
Software Process (TSP) proporciona un marco de trabajo de procesos definidos
que está diseñado para ayudarle a equipos de gerentes e ingenieros a organizar y
producir proyectos de software de gran escala, que tengan tamaños mayores a
varios miles de líneas de código. El objetivo del TSP es mejorar los niveles de
calidad y productividad de un proyecto de desarrollo de software de un equipo, con
el fin de ayudarlos a alcanzar los acuerdos de costos y tiempos en dicho
desarrollo.
La versión inicial del TSP fue desarrollada por Watts Humphrey en 1996, y el
primer Reporte Técnico para TSP fue publicado en el año 2000, patrocinado por el
Departamento de Defensa de los Estados Unidos. El libro de Watts Humphrey
llamado "IntroductiontotheTeam Software Process" (Addison Wesley Professional,
Massachusetts, 1999), presenta el TSP en detalle y se enfoca en el proceso de la
construcción de un equipo productor de software, estableciendo objetivos del
equipo, distribuyendo los roles, y otras actividades de trabajo en equipo.


PSP

El Personal Software Process, conocido por sus siglas como PSP, es una
metodología de reciente creación, proveniente del Instituto de Ingeniería del
Software(SEI). PSP es una alternativa dirigida a los ingenieros de sistemas, que
les permite mejorar la forma en la que construyen software. Considerando
aspectos como la planeación, calidad, estimación de costos y productividad, PSP
es una metodología que vale la pena revisar cuando el ingeniero de software está
interesado en aumentar la calidad de los productos de software que desarrolla
dentro de un contexto de trabajo individual.

CARACTERISTICAS

En PSP todas las tareas y actividades que el ingeniero de software debe realizar
durante el proceso de desarrollo de un producto de software, están puntualmente
definidas en un conjunto de documentos conocidos como scripts. Los scripts son
el punto medular de PSP, por lo que se hace mucho énfasis en que deben ser
seguidos en forma disciplinada, ya que de ello dependerá el éxito de la mejora que
se busca. Gran parte de las tareas y actividades definidas en los scripts generará
en su realización un conjunto de datos, fundamentalmente de carácter estadístico.
La aplicación de PSP en varios procesos de desarrollo, y el análisis de la
información estadística generada en cada uno de éstos, permitirán al ingeniero de
software identificar, tanto sus fortalezas como sus debilidades, y crecer a través de
un proceso de autoaprendizaje y auto mejora.
La calidad en PSP, es un aspecto fuertemente relacionado con la cantidad de
defectos que el producto de software contiene.

En este nivel se introducen algunos métodos aplicables al proceso de desarrollo
de software, dentro de un enfoque de proyectos a gran escala, pero sin lidiar con
problemas de comunicación y coordinación de los equipos de trabajo.

PASOS A SEGUIR

Los scripts se organizan en cuatro niveles, identificados del 0 al 3, atendiéndose
en cada nivel un conjunto de aspectos a mejorar del proceso de desarrollo de
software. Al primer nivel se le conoce como 0 o de medición personal, al segundo
como nivel1 o de planeación personal, al tercero, como nivel 2 o de calidad
personal, y al cuarto, como nivel 3 o cíclico personal. Cada uno de estos niveles,
con excepción del 3, tiene una versión que los extiende, introduciendo tareas y
actividades para un mejor manejo de los aspectos de interés en nivel, o bien para
incluir nuevos aspectos, verla si la siguiente figura. Cada uno de los niveles
extiende los aspectos considerados en el nivel inmediato anterior. Una de las
razones de esta clasificación puede ser el que PSP es una metodología de mejora
basada en datos estadísticos, los cuales deben ser cuidadosamente recabados
por el ingeniero de software; el aumento gradual de la cantidad de datos que debe
recolectar el ingeniero introduce, por consiguiente, el cambio en su manera de
trabajo de una manera paulatina. Se recomienda un uso incremental de PSP,
iniciando con el nivel más bajo durante un primer proyecto de desarrollo y, en
proyectos siguientes, ascendiendo a niveles superiores. Los scripts no pueden
utilizase en forma separada o desordenada.

VENTAJAS Y DESVENTAJAS PARA UTILIZAR PSP

PSP es una alternativa, de las muchas que han surgido recientemente, para
mejorar el proceso de desarrollo de software. Más que clasificar un conjunto de
sentencias como ventajas o desventajas, a continuación se citan algunas
características:

      PSP es una metodología basada en estimación. La estimación permite
      saber cuándo y cómo se desarrollan las tareas de un proceso, por lo que
      podría citarse como un aspecto importante de esta metodología el estar
      basada en métricas y estimaciones.

      La información de las métricas y estimaciones se utiliza para evaluar y
      mejorar procesos futuros. PSP parte de la premisa que, si el ingeniero de
      software conoce sus fortalezas y debilidades, puede establecer las
      acciones necesarias para erradicar o explotar los aspectos identificados en
      la forma en que desarrolla software.

      Aunque lo mencionado en el punto anterior podría sonar bastante atractivo,
      la forma de llegar a ese auto conocimiento puede resultar tediosa y, en el
peor de los casos, una pesadilla para el desarrollador. Salvo muy pocas
      excepciones, los ingenieros de software nunca realizan procedimientos
      formales para conocer la forma en que trabajan, no saben con exactitud
      cuántas líneas de código generan por hora, cuánto tiempo invierten al
      corregir un error, cuánto tiempo invierten en pruebas, etcétera.

      Los pasos de registro de información a detalle en el nivel de medición
      pueden resultar frustrantes cuando se tiene presión de tiempo.

      En los scripts de PSP no se incluyen tareas y actividades para la etapa de
      análisis de requerimientos. Siempre se parte de una definición de
      requerimientos que no va a cambiar.

      Aún no existe una herramienta automatizada que facilite el registro y
      análisis de datos generados por la aplicación de PSP.




RUP
El RationalUnifiedProcess (RUP) es un iterativoproceso de desarrollo de
software creado por el marco de Rational SoftwareCorporation, una división de
IBM desde el año 2003. [1] RUP no es un único proceso normativo concreto, sino
más bien un proceso de adaptación marco , la intención de ser medida por las
organizaciones de desarrollo de software y equipos de proyectos que se
seleccionan los elementos del proceso que son apropiados para sus necesidades.
RUP es una implementación específica del Proceso Unificado .

More Related Content

What's hot

Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Tuyo Mio
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudEliud Cortes
 
metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...
metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...
metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...Dormimundo
 
Monografia metodologia agil xp oficial
Monografia metodologia agil xp oficialMonografia metodologia agil xp oficial
Monografia metodologia agil xp oficialHarry G Portales
 
Las metodologías usadas en el Desarrollo de SW en el Perú
Las metodologías usadas en el Desarrollo de SW en el PerúLas metodologías usadas en el Desarrollo de SW en el Perú
Las metodologías usadas en el Desarrollo de SW en el PerúPagina web Peru - F5mas
 
Monografia Metodologia Agil XP
Monografia Metodologia Agil XPMonografia Metodologia Agil XP
Monografia Metodologia Agil XPJorw Yengle
 
Metodologias xp
Metodologias xpMetodologias xp
Metodologias xpElvisAR
 
Metodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareMetodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareDeisy Sapaico
 
Metodología xp
Metodología xpMetodología xp
Metodología xpPiskamen
 
Presentación Extreme Programming
Presentación Extreme ProgrammingPresentación Extreme Programming
Presentación Extreme ProgrammingADWE Team
 
Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)Cesar Acosta
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp deborahgal
 
facci Xp-scrum
facci Xp-scrumfacci Xp-scrum
facci Xp-scrumafrancoing
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xpfiremas
 
Metodologías Aágiles: TDD (Test Driven development)
Metodologías Aágiles: TDD (Test Driven development)Metodologías Aágiles: TDD (Test Driven development)
Metodologías Aágiles: TDD (Test Driven development)Martín Machuca
 

What's hot (20)

Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)Metología Agiles Desarrollo Software (XP)
Metología Agiles Desarrollo Software (XP)
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliud
 
metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...
metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...
metodologia de desarrollo de sistemas dinamicos o Dynamic Systems Development...
 
Monografia metodologia agil xp oficial
Monografia metodologia agil xp oficialMonografia metodologia agil xp oficial
Monografia metodologia agil xp oficial
 
Las metodologías usadas en el Desarrollo de SW en el Perú
Las metodologías usadas en el Desarrollo de SW en el PerúLas metodologías usadas en el Desarrollo de SW en el Perú
Las metodologías usadas en el Desarrollo de SW en el Perú
 
Monografia Metodologia Agil XP
Monografia Metodologia Agil XPMonografia Metodologia Agil XP
Monografia Metodologia Agil XP
 
Monografia metodologia xp
Monografia   metodologia xpMonografia   metodologia xp
Monografia metodologia xp
 
Metodologias xp
Metodologias xpMetodologias xp
Metodologias xp
 
Comprendiendo RUP
Comprendiendo   RUPComprendiendo   RUP
Comprendiendo RUP
 
Metodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de softwareMetodologias modernas para el desarrollo de software
Metodologias modernas para el desarrollo de software
 
Metodología xp
Metodología xpMetodología xp
Metodología xp
 
Diapositivas xp
Diapositivas xpDiapositivas xp
Diapositivas xp
 
Presentación Extreme Programming
Presentación Extreme ProgrammingPresentación Extreme Programming
Presentación Extreme Programming
 
Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)Programación Extrema (Extream Programming XP)
Programación Extrema (Extream Programming XP)
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp
 
facci Xp-scrum
facci Xp-scrumfacci Xp-scrum
facci Xp-scrum
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 
Metodologías Aágiles: TDD (Test Driven development)
Metodologías Aágiles: TDD (Test Driven development)Metodologías Aágiles: TDD (Test Driven development)
Metodologías Aágiles: TDD (Test Driven development)
 

Viewers also liked

Universidad en el perú.(word)
Universidad en el perú.(word)Universidad en el perú.(word)
Universidad en el perú.(word)jett18
 
Pedacinhos
PedacinhosPedacinhos
Pedacinhosmarlidf
 
Impuesto a la_renta_tercera_categoria_2parte
Impuesto a la_renta_tercera_categoria_2parteImpuesto a la_renta_tercera_categoria_2parte
Impuesto a la_renta_tercera_categoria_2parteElmer Pacheco
 
Importancia de los valores para una convivencia social
Importancia de los valores para una convivencia socialImportancia de los valores para una convivencia social
Importancia de los valores para una convivencia socialJuan Pablo Gallego Torres
 
Escenario de aprendizaje 4
Escenario de aprendizaje 4Escenario de aprendizaje 4
Escenario de aprendizaje 4jaizkibel
 
Aula 1 organizacao didatica da disciplina e tecido muscular
Aula 1 organizacao didatica da disciplina e tecido muscularAula 1 organizacao didatica da disciplina e tecido muscular
Aula 1 organizacao didatica da disciplina e tecido muscularReginaReiniger
 
Análise Tecnologia Kiskadi Mobile
Análise Tecnologia Kiskadi MobileAnálise Tecnologia Kiskadi Mobile
Análise Tecnologia Kiskadi Mobileoverduka
 
Universidad nacional de c himborazo
Universidad nacional de c himborazoUniversidad nacional de c himborazo
Universidad nacional de c himborazosfyl
 
A Visys tem uma ferramenta ideal para sua empresa. Conheça nossos produtos!
A Visys tem uma ferramenta ideal para sua empresa. Conheça nossos produtos!A Visys tem uma ferramenta ideal para sua empresa. Conheça nossos produtos!
A Visys tem uma ferramenta ideal para sua empresa. Conheça nossos produtos!Sonia Fernandes Bogo
 
Se isto é história, então eu gosto!
Se isto é história, então eu gosto!Se isto é história, então eu gosto!
Se isto é história, então eu gosto!Sónia Cruz
 
Atividade3johnnygonçalvesdesouza
Atividade3johnnygonçalvesdesouzaAtividade3johnnygonçalvesdesouza
Atividade3johnnygonçalvesdesouzaJOHNNYGSOUZA
 
Metricas financieras aplicadas al email marketing
Metricas financieras aplicadas al email marketingMetricas financieras aplicadas al email marketing
Metricas financieras aplicadas al email marketingSocial You, S.L.
 
Grupos Geradores para Supermercados
Grupos Geradores para SupermercadosGrupos Geradores para Supermercados
Grupos Geradores para SupermercadosLegga Geradores
 
Avaliação do aluno: a favor ou contra a democratização do ensino?
Avaliação do aluno: a favor ou contra a democratização do ensino?Avaliação do aluno: a favor ou contra a democratização do ensino?
Avaliação do aluno: a favor ou contra a democratização do ensino?0110janini
 

Viewers also liked (19)

Universidad en el perú.(word)
Universidad en el perú.(word)Universidad en el perú.(word)
Universidad en el perú.(word)
 
Mi año
Mi añoMi año
Mi año
 
9.seguridad minera (1)
9.seguridad minera (1)9.seguridad minera (1)
9.seguridad minera (1)
 
Força resultante
Força resultanteForça resultante
Força resultante
 
Pedacinhos
PedacinhosPedacinhos
Pedacinhos
 
Impuesto a la_renta_tercera_categoria_2parte
Impuesto a la_renta_tercera_categoria_2parteImpuesto a la_renta_tercera_categoria_2parte
Impuesto a la_renta_tercera_categoria_2parte
 
Andalucia
AndaluciaAndalucia
Andalucia
 
Importancia de los valores para una convivencia social
Importancia de los valores para una convivencia socialImportancia de los valores para una convivencia social
Importancia de los valores para una convivencia social
 
Escenario de aprendizaje 4
Escenario de aprendizaje 4Escenario de aprendizaje 4
Escenario de aprendizaje 4
 
Aula 1 organizacao didatica da disciplina e tecido muscular
Aula 1 organizacao didatica da disciplina e tecido muscularAula 1 organizacao didatica da disciplina e tecido muscular
Aula 1 organizacao didatica da disciplina e tecido muscular
 
Análise Tecnologia Kiskadi Mobile
Análise Tecnologia Kiskadi MobileAnálise Tecnologia Kiskadi Mobile
Análise Tecnologia Kiskadi Mobile
 
Universidad nacional de c himborazo
Universidad nacional de c himborazoUniversidad nacional de c himborazo
Universidad nacional de c himborazo
 
A Visys tem uma ferramenta ideal para sua empresa. Conheça nossos produtos!
A Visys tem uma ferramenta ideal para sua empresa. Conheça nossos produtos!A Visys tem uma ferramenta ideal para sua empresa. Conheça nossos produtos!
A Visys tem uma ferramenta ideal para sua empresa. Conheça nossos produtos!
 
Se isto é história, então eu gosto!
Se isto é história, então eu gosto!Se isto é história, então eu gosto!
Se isto é história, então eu gosto!
 
Atividade3johnnygonçalvesdesouza
Atividade3johnnygonçalvesdesouzaAtividade3johnnygonçalvesdesouza
Atividade3johnnygonçalvesdesouza
 
Metricas financieras aplicadas al email marketing
Metricas financieras aplicadas al email marketingMetricas financieras aplicadas al email marketing
Metricas financieras aplicadas al email marketing
 
Silabo mtu 2i
Silabo mtu 2iSilabo mtu 2i
Silabo mtu 2i
 
Grupos Geradores para Supermercados
Grupos Geradores para SupermercadosGrupos Geradores para Supermercados
Grupos Geradores para Supermercados
 
Avaliação do aluno: a favor ou contra a democratização do ensino?
Avaliação do aluno: a favor ou contra a democratização do ensino?Avaliação do aluno: a favor ou contra a democratização do ensino?
Avaliação do aluno: a favor ou contra a democratização do ensino?
 

Similar to CMMI, OpenUP, XP y Scrum: métodos ágiles y de madurez para el desarrollo de software

Especial ingenieria de software
Especial ingenieria de softwareEspecial ingenieria de software
Especial ingenieria de softwarealejandor reyes
 
Especial ingenieria de software
Especial ingenieria de softwareEspecial ingenieria de software
Especial ingenieria de softwarealejandor reyes
 
Metodologías de Desarrollo de Software Jr
 Metodologías de Desarrollo de Software Jr Metodologías de Desarrollo de Software Jr
Metodologías de Desarrollo de Software JrJunior Leal
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de softwaresairarcf
 
Díme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarDíme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarKiberley Santos
 
Modelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoModelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoJohita Guerrero
 
Presentacion Metodos de software
Presentacion Metodos de softwarePresentacion Metodos de software
Presentacion Metodos de softwareBrandon Betto
 
METODOLOGIAS AGILES
METODOLOGIAS AGILESMETODOLOGIAS AGILES
METODOLOGIAS AGILESmikyWatt
 
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.ppt
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.pptSEMANA 14 METODOS ÁGILES DE INNOVACIÓN.ppt
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.pptPGNaya
 
Metodologias de analisis y diseño de sistemas
Metodologias de analisis y diseño de sistemasMetodologias de analisis y diseño de sistemas
Metodologias de analisis y diseño de sistemasgrupo7inf162
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareAndhy H Palma
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareAndhy H Palma
 
Metodología Procesos de Desarrollo de Software
Metodología Procesos de Desarrollo de SoftwareMetodología Procesos de Desarrollo de Software
Metodología Procesos de Desarrollo de SoftwareEliud Cortes
 

Similar to CMMI, OpenUP, XP y Scrum: métodos ágiles y de madurez para el desarrollo de software (20)

Especial ingenieria de software
Especial ingenieria de softwareEspecial ingenieria de software
Especial ingenieria de software
 
Especial ingenieria de software
Especial ingenieria de softwareEspecial ingenieria de software
Especial ingenieria de software
 
Metodologías de Desarrollo de Software Jr
 Metodologías de Desarrollo de Software Jr Metodologías de Desarrollo de Software Jr
Metodologías de Desarrollo de Software Jr
 
ASD.pptx
ASD.pptxASD.pptx
ASD.pptx
 
Metodologia Xp
Metodologia XpMetodologia Xp
Metodologia Xp
 
Desarrollo de software
Desarrollo de softwareDesarrollo de software
Desarrollo de software
 
Díme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usarDíme que desarrollas y te diré que metodología usar
Díme que desarrollas y te diré que metodología usar
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Metodologia RUP
Metodologia RUPMetodologia RUP
Metodologia RUP
 
Modelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyectoModelo xp para desarrollo de proyecto
Modelo xp para desarrollo de proyecto
 
Metodologia scrum
Metodologia scrumMetodologia scrum
Metodologia scrum
 
Presentacion Metodos de software
Presentacion Metodos de softwarePresentacion Metodos de software
Presentacion Metodos de software
 
METODOLOGIAS AGILES
METODOLOGIAS AGILESMETODOLOGIAS AGILES
METODOLOGIAS AGILES
 
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.ppt
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.pptSEMANA 14 METODOS ÁGILES DE INNOVACIÓN.ppt
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.ppt
 
Xp Metodologia
Xp MetodologiaXp Metodologia
Xp Metodologia
 
Modelos del software
Modelos del softwareModelos del software
Modelos del software
 
Metodologias de analisis y diseño de sistemas
Metodologias de analisis y diseño de sistemasMetodologias de analisis y diseño de sistemas
Metodologias de analisis y diseño de sistemas
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
 
Unidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de softwareUnidad 3 los modelos de procesos de software
Unidad 3 los modelos de procesos de software
 
Metodología Procesos de Desarrollo de Software
Metodología Procesos de Desarrollo de SoftwareMetodología Procesos de Desarrollo de Software
Metodología Procesos de Desarrollo de Software
 

More from Luis Gutierrez (10)

Srum
SrumSrum
Srum
 
Soa
SoaSoa
Soa
 
Patron de diseño
Patron de diseñoPatron de diseño
Patron de diseño
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 
Mitos
MitosMitos
Mitos
 
Manifiesto agil
Manifiesto agilManifiesto agil
Manifiesto agil
 
Erp
ErpErp
Erp
 
Calidad
CalidadCalidad
Calidad
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Luis
LuisLuis
Luis
 

CMMI, OpenUP, XP y Scrum: métodos ágiles y de madurez para el desarrollo de software

  • 1. CAPABILITY MATURITY MODEL INTEGRATION (CMMI) Integración de modelos de madurez de capacidades o Capabilitymaturitymodelintegration (CMMI) es un modelo para la mejora y evaluación de procesos para el desarrollo, mantenimiento y operación de sistemas de software. Modelos CMMI Las mejores prácticas CMMI se publican en los documentos llamados modelos. En la actualidad hay tres áreas de interés cubiertas por los modelos de CMMI: Desarrollo, Adquisición y Servicios. La versión actual de CMMI es la versión 1.3 la cual corresponde a CMMI-SVC, liberada el 1 de noviembre de 2010. Hay tres constelaciones de la versión 1.2 disponible: CMMI para el Desarrollo (CMMI-DEV o CMMI forDevelopment), Versión 1.2 fue liberado en agosto de 2006. En él se tratan procesos de desarrollo de productos y servicios. CMMI para la adquisición (CMMI-ACQ o CMMI forAcquisition), Versión 1.2 fue liberado en noviembre de 2007. En él se tratan la gestión de la cadena de suministro, adquisición y contratación externa en los procesos del gobierno y la industria. CMMI para servicios (CMMI-SVC o CMMI forServices), está diseñado para cubrir todas las actividades que requieren gestionar, establecer y entregar Servicios. Dentro de la constelación CMMI-DEV, existen dos modelos: CMMI-DEV CMMI-DEV + IPPD (Integrated Product and Process Development) Independientemente de la constelaciónmodelo que opta una organización, las prácticas CMMI deben adaptarse a cada organización en función de sus objetivos de negocio. Las organizaciones no pueden ser certificadas CMMI. Por el contrario, una organización es evaluada (por ejemplo, usando un método de evaluación como SCAMPI y recibe una calificación de nivel 1-5 si sigue los niveles de Madurez (si bien se comienza con el nivel 2). En caso de que quiera la organización, puede coger áreas de proceso y en vez de por niveles de madurez puede obtener los niveles de capacidad en cada una de las Áreas de Proceso, obteniendo el "Perfil de Capacidad" de la Organización.
  • 2. OPENUP ENTERPRISE UP OpenUP es un método y un proceso de desarrollo de software propuesto por un conjunto de empresas de tecnología,1 quienes lo donaron en el año 2007 a la Fundación Eclipse. La fundación lo ha publicado bajo una licencia libre2 y lo mantiene como método de ejemplo dentro del proyecto Eclipse Process Framework. Principios del OpenUP Colaborar para sincronizar intereses y compartir conocimiento. Este principio promueve prácticas que impulsan un ambiente de equipo saludable, facilitan la colaboración y desarrollan un conocimiento compartido del proyecto. Equilibrar las prioridades para maximizar el beneficio obtenido por los interesados en el proyecto. Este principio promueve prácticas que permiten a los participantes de los proyectos desarrollar una solución que maximice los beneficios obtenidos por los participantes y que cumple con los requisitos y restricciones del proyecto. Centrarse en la arquitectura de forma temprana para minimizar el riesgo y organizar el desarrollo. Desarrollo evolutivo para obtener retroalimentación y mejoramiento continuo. Este principio promueve prácticas que permiten a los equipos de desarrollo obtener retroalimentación temprana y continua de los
  • 3. participantes del proyecto, permitiendo demostrarles incrementos progresivos en la funcionalidad Organización de los componentes del OpenUP El OpenUP está organizado en dos dimensiones diferentes pero interrelacionadas: el método y el proceso. El contenido del método es donde los elementos del método (roles, tareas, artefactos y lineamientos) son definidos, sin tener en cuenta como son utilizados en el ciclo de vida del proyecto. El proceso es donde los elementos del método son aplicados de forma ordenada en el tiempo. Muchos ciclos de vida para diferentes proyectos pueden ser creados a partir del mismo conjunto de elementos del método. eXtremeProgramming (XP) La programación extrema o eXtremeProgramming (XP) es un enfoque de la ingeniería de software formulado por Kent Beck, autor del primer libro sobre la materia, Extreme ProgrammingExplained: Embrace Change (1999). Es el más destacado de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad. Los defensores de XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en los requisitos. Valores Los Valores originales de la programación extrema son: simplicidad, comunicación, retroalimentación (feedback) y coraje. Un quinto valor, respeto, fue
  • 4. añadido en la segunda edición de Extreme ProgrammingExplained. Los cinco valores se detallan a continuación: Simplicidad: La simplicidad es la base de la programación extrema. Se simplifica el diseño para agilizar el desarrollo y facilitar el mantenimiento. Un diseño complejo del código junto a sucesivas modificaciones por parte de diferentes desarrolladores hacen que la complejidad aumente exponencialmente. Para mantener la simplicidad es necesaria la refactorización del código, ésta es la manera de mantener el código simple a medida que crece. También se aplica la simplicidad en la documentación, de esta manera el código debe comentarse en su justa medida, intentando eso sí que el código esté autodocumentado. Para ello se deben elegir adecuadamente los nombres de las variables, métodos y clases. Los nombres largos no decrementan la eficiencia del código ni el tiempo de desarrollo gracias a las herramientas de autocompletado y refactorización que existen actualmente. Aplicando la simplicidad junto con la autoría colectiva del código y la programación por parejas se asegura que cuanto más grande se haga el proyecto, todo el equipo conocerá más y mejor el sistema completo. Comunicación: La comunicación se realiza de diferentes formas. Para los programadores el código comunica mejor cuanto más simple sea. Si el código es complejo hay que esforzarse para hacerlo inteligible. El código autodocumentado es más fiable que los comentarios ya que éstos últimos pronto quedan desfasados con el código a medida que es modificado. Debe comentarse sólo aquello que no va a variar, por ejemplo el objetivo de una clase o la funcionalidad de un método. Las pruebas unitarias son otra forma de comunicación ya que describen el diseño de las clases y los métodos al mostrar ejemplos concretos de como utilizar su funcionalidad. Los programadores se comunican constantemente gracias a la programación por parejas. La comunicación con el cliente es fluida ya que el cliente forma parte del equipo de desarrollo. El cliente decide que características tienen prioridad y siempre debe estar disponible para solucionar dudas. Retroalimentación (feedback): Al estar el cliente integrado en el proyecto, su opinión sobre el estado del proyecto se conoce en tiempo real. Al realizarse ciclos muy cortos tras los cuales se muestran resultados, se minimiza el tener que rehacer partes que no cumplen con los requisitos y ayuda a los programadores a centrarse en lo que es más importante. Considérense los problemas que derivan de tener ciclos muy largos. Meses de trabajo pueden tirarse por la borda debido a cambios en los criterios del cliente o malentendidos por parte del equipo de desarrollo. El código también es una fuente de retroalimentación gracias a las herramientas de desarrollo. Por ejemplo, las pruebas unitarias informan sobre el estado de salud del código.
  • 5. Ejecutar las pruebas unitarias frecuentemente permite descubrir fallos debidos a cambios recientes en el código. Coraje o valentía: Muchas de las prácticas implican valentía. Una de ellas es siempre diseñar y programar para hoy y no para mañana. Esto es un esfuerzo para evitar empantanarse en el diseño y requerir demasiado tiempo y trabajo para implementar todo lo demás del proyecto. La valentía le permite a los desarrolladores que se sientan cómodos con reconstruir su código cuando sea necesario. Esto significa revisar el sistema existente y modificarlo si con ello los cambios futuros se implementaran mas fácilmente. Otro ejemplo de valentía es saber cuando desechar un código: valentía para quitar código fuente obsoleto, sin importar cuanto esfuerzo y tiempo se invirtió en crear ese código. Además, valentía significa persistencia: un programador puede permanecer sin avanzar en un problema complejo por un día entero, y luego lo resolverá rápidamente al día siguiente, solo si es persistente. Respeto: El respeto se manifiesta de varias formas. Los miembros del equipo se respetan los unos a otros, porque los programadores no pueden realizar cambios que hacen que las pruebas existentes fallen o que demore el trabajo de sus compañeros. Los miembros respetan su trabajo porque siempre están luchando por la alta calidad en el producto y buscando el diseño óptimo o más eficiente para la solución a través de la refactorización del código. Los miembros del equipo respetan el trabajo del resto no haciendo menos a otros, una mejor autoestima en el equipo y elevando el ritmo de producción en el equipo. SCRUM Scrum es un marco de trabajo para la gestión y desarrollo de software basada en un proceso iterativo e incremental utilizado comúnmente en entornos basados en el desarrollo ágil de software. Aunque Scrum estaba enfocado a la gestión de procesos de desarrollo de software, puede ser utilizado en equipos de mantenimiento de software, o en una aproximación de gestión de programas: Scrum de Scrums.
  • 6. Características de Scrum Scrum es un modelo de referencia que define un conjunto de prácticas y roles, y que puede tomarse como punto de partida para definir el proceso de desarrollo que se ejecutará durante un proyecto. Los roles principales en Scrum son el ScrumMaster, que mantiene los procesos y trabaja de forma similar al director de proyecto, el ProductOwner, que representa a los stakeholders (interesados externos o internos), y el Team que incluye a los desarrolladores. Durante cada sprint, un periodo entre una y cuatro semanas (la magnitud es definida por el equipo), el equipo crea un incremento de software potencialmente entregable (utilizable). El conjunto de características que forma parte de cada sprint viene del ProductBacklog, que es un conjunto de requisitos de alto nivel priorizados que definen el trabajo a realizar. Los elementos del ProductBacklog que forman parte del sprint se determinan durante la reunión de Sprint Planning. Durante esta reunión, el ProductOwner identifica los elementos del ProductBacklog que quiere ver completados y los hace del conocimiento del equipo. Entonces, el equipo determina la cantidad de ese trabajo que puede comprometerse a completar durante el siguiente sprint. 2 Durante el sprint, nadie puede cambiar el Sprint Backlog, lo que significa que los requisitos están congelados durante el sprint. Scrum permite la creación de equipos autoorganizados impulsando la co- localización de todos los miembros del equipo, y la comunicación verbal entre todos los miembros y disciplinas involucrados en el proyecto. Un principio clave de Scrum es el reconocimiento de que durante un proyecto los clientes pueden cambiar de idea sobre lo que quieren y necesitan (a menudo llamado requirementschurn), y que los desafíos impredecibles no pueden ser fácilmente enfrentados de una forma predictiva y planificada. Por lo tanto, Scrum adopta una aproximación pragmática, aceptando que el problema no puede ser
  • 7. completamente entendido o definido, y centrándose en maximizar la capacidad del equipo de entregar rápidamente y responder a requisitos emergentes. Existen varias implementaciones de sistemas para gestionar el proceso de Scrum, que van desde notas amarillas "post-it" y pizarras hasta paquetes de software. Una de las mayores ventajas de Scrum es que es muy fácil de aprender, y requiere muy poco esfuerzo para comenzarse a utilizar. INFORMATION TECHNOLOGY INFRASTRUCTURE LIBRARY (ITIL) La Biblioteca de Infraestructura de Tecnologías de Información, frecuentemente abreviada ITIL (del inglésInformationTechnologyInfrastructure Library), es un conjunto de conceptos y prácticas para la gestión de servicios de tecnologías de la información, el desarrollo de tecnologías de la información y las operaciones relacionadas con la misma en general. ITIL da descripciones detalladas de un extenso conjunto de procedimientos de gestión ideados para ayudar a las organizaciones a lograr calidad y eficiencia en las operaciones de TI. Estos procedimientos son independientes del proveedor y han sido desarrollados para servir como guía que abarque toda infraestructura, desarrollo y operaciones de TI. Historia Aunque se desarrolló durante los años 1980, ITIL no fue ampliamente adoptada hasta mediados de los años 1990. Esta mayor adopción y conocimiento ha llevado a varios estándares, incluyendo ISO/IEC 20000, que es una norma internacional cubriendo los elementos de gestión de servicios de TI de ITIL. ITIL se considera a menudo junto con otros marcos de trabajo de mejores prácticas como la InformationServicesProcurement Library (ISPL, „Biblioteca de adquisición de servicios de información‟), la ApplicationServices Library (ASL, „Biblioteca de servicios de aplicativos‟), el método de desarrollo de sistemas dinámicos (DSDM, DynamicSystemsDevelopmentMethod), el Modelo de Capacidad y Madurez (CMM/CMMI) y a menudo se relaciona con la gobernanza de tecnologías de la información mediante COBIT (Control ObjectivesforInformation and relatedTechnology). El concepto de gestión de servicios de TI, aunque relacionado con ITIL, no es idéntico: ITIL contiene una sección específicamente titulada «Gestión de Servicios de TI» (la combinación de los volúmenes de Servicio de Soporte y Prestación de Servicios, que son un ejemplo específico de un marco ITSM). Sin embargo es importante señalar que existen otros marcos parecidos. La Gestión de Servicio ITIL está actualmente integrado en el estándar ISO 20000 (anterior BS 15000). ITIL se construye en torno a una vista basada en proceso-modelo del control y gestión de las operaciones a menudo atribuida a W. Edwards Deming. Las recomendaciones de ITIL fueron desarrolladas en los años 1980 por la Central
  • 8. Computer and Telecommunications Agency (CCTA) del gobierno británico como respuesta a la creciente dependencia de las tecnologías de la información y al reconocimiento de que sin prácticas estándar, los contratos de las agencias estatales y del sector privado creaban independientemente sus propias prácticas de gestión de TI y duplicaban esfuerzos dentro de sus proyectos TIC, lo que resultaba en errores comunes y mayores costes. ITIL fue publicado como un conjunto de libros, cada uno dedicado a un área específica dentro de la Gestión de TI. Los nombres ITIL e IT Infrastructure Library („Biblioteca de infraestructura de TI‟) son marcas registradas de la Office of Government Commerce („Oficina de comercio gubernamental‟, OGC), que es una división del Ministerio de Hacienda del Reino Unido. En abril de 2001 la CCTA fue integrada en la OGC, desapareciendo como organización separada.1 En diciembre de 2005, la OGC emitió un aviso de una actualización a ITIL,2 conocida comúnmente como ITIL v3, que estuvo planificada para ser publicada a finales de 2006; habiendo sido realizada en junio de 2007. Se esperaba que la publicación de ITIL versión 3 incluyera cinco libros principales, concretamente: Diseño de Servicios de TI, Introducción de los Servicios de TI, Operación de los Servicios de TI, Mejora de los Servicios de TI y Estrategias de los Servicios de TI, consolidando buena parte de las prácticas actuales de la versión 2 en torno al Ciclo de Vida de los Servicios. Uno de los principales beneficios propugnado por los defensores de ITIL dentro de la comunidad de TI es que proporciona un vocabulario común, consistente en un glosario de términos precisamente definidos y ampliamente aceptados. Un nuevo glosario ampliado ha sido desarrollado como entregable clave de ITIL versión 3. Otros modelos: CMMI para el desarrollo de software y s3m,3 para el mantenimiento del software
  • 9. COBIT COBIT es un marco creado por ISACA para la tecnología de la información (TI) y el Gobierno de TI . Se trata de un conjunto de herramientas de apoyo que permite a los administradores para cerrar la brecha entre las necesidades de control, cuestiones técnicas y los riesgos de negocio. El propósito de Cobit es brindar a la Alta Dirección de una compañía confianza en los sistemas de información y en la información que estos produzcan. Cobit permite entender como dirigir y gestionar el uso de tales sistemas así como establecer un codigo de buenas practicas a ser utilizado por los proveedores de sistemas. Cobit suministra las herramientas para supervisar todas las actividades relacionadas con IT. Veamos que ventajas ofrece Cobit: Cobit es un marco de referencia aceptado mundialmente de gobierno IT basado en estándares y mejores prácticas de la industria. Una vez implementado, es posible asegurarse de que IT se encuentra efectivamente alineado con las metas del negocio, y orientar su uso para obtener ventajas competitivas. Suministra un lenguaje común que le permite a los ejecutivos de negocios comunicar sus metas, objetivos y resultados con Auditores, IT y otros profesionales. Proporciona las mejores prácticas y herramientas para monitorear y gestionar las actividades de IT. El uso de sistemas usualmente requiere de una inversión que necesita ser adecuadamente gestionada.
  • 10. Ayuda a los ejecutivos a entender y gestionar las inversiones en IT a través de sus ciclo de vida, así como también proporcionándoles métodos para asegurarse que IT entregara los beneficios esperados. La diferencia entre compañías que gestionan adecuadamente sus recursos IT y las que no es enorme. Cobit permite el desarrollo de políticas claras y buenas prácticas para la gestión de IT. Su marco de referencia permite gestionar los riesgos de IT y asegurar el cumplimiento, la continuidad, seguridad y privacidad. Al ser Cobit reconocida y aceptada internacionalmente como una herramienta de gestión, su implementación es un indicativo de la seriedad de una organización. Ayuda a Empresas y profesionales de IT a demostrar su competitividad ante las demás compañías. Así como existen procesos genéricos de muchos tipos de negocios, existen estándares y buenas practicas específicos para IT que deben seguirse por las compañías cuando se soportan en IT, en donde Cobit agrupa tales estándares y entrega un marco de referencia para su implementación y gestión. Una vez se identifican e implementan los principios relevantes de Cobit para una compañía, se obtiene plena confianza en que todos los recursos de sistemas estan siendo gestionados efectivamente. Que resultados se obtienen al implementar Cobit? Veamos: El ciclo de vida de costos de IT será mas transparente y predecible. IT entregara información de mayor calidad y en menor tiempo. IT brindara servicios con mayor calidad y todos los proyectos apoyados en IT serán mas exitosos. Los requerimientos de seguridad y privacidad serán más fácilmente identificados, y su implementación podrá ser mas fácilmente monitoreada. Todos los riesgos asociados a IT serán gestionados con mayor efectividad. El cumplimiento de regulaciones relacionadas a IT serán una práctica normal dentro de su gestión. El marco de referencia Cobit en su versión 4 (a Julio de 2010), incluye lo siguiente: Marco de referencia: explica como Cobitorganiza la Gestión de IT, los objetivos de control y buenas practicas del negocio por dominios y procesos de IT, relacionándolos directamente con los requerimientos del negocio. Este marco de referencia contiene un total de 34 niveles de objetivos de control, uno por cada proceso de IT, agrupados en cuatro dominios: Planeamiento y Organización, Adquisición e Implementación, Desarrollo y Soporte y Monitoreo y Evaluación (Que tal la coincidencia con el ciclo PHVA de las Normas ISO?) Descripción de procesos: Incluida para cada uno de los 34 procesos de IT, cubriendo todas las áreas y responsabilidades de IT de principio a fin.
  • 11. Objetivos de Control: Suministra objetivos de gestión basados en las mejores prácticas para los procesos de IT. Directrices de Gestión: Incluye herramientas para ayudar a asignar responsabilidades y medir desempeños. Modelos de madurez: proporciona perfiles de los procesos de IT describiendo para cada uno de ellos un estados actual y uno futuro. LEAN QUE ES LEAN? La idea central es maximizar el valor del cliente y reducir al mínimo los residuos. Simplemente, delgado significa crear más valor para los clientes con menos recursos. Una organización ágil entiende el valor del cliente y enfoca sus procesos clave para aumentar continuamente. El objetivo final es aportar un valor ideal para el cliente a través de un proceso de creación de valor perfecta que tiene cero de residuos. Para lograr esto, los cambios de pensamiento lean el enfoque de la gestión de la optimización de las tecnologías por separado, los activos, y los departamentos verticales para optimizar el flujo de productos y servicios a través de cadenas de valor enteras que fluyen horizontalmente a través de las tecnologías, los activos, y los departamentos a los clientes. La eliminación de los residuos a lo largo de cadenas de valor completas, en lugar de en puntos aislados, crea procesos que requieren menos esfuerzo humano, menos espacio, menos capital y menos tiempo para hacer los productos y servicios a costos mucho menos y mucho menos con defectos, en comparación con los sistemas empresariales tradicionales . Las empresas son capaces de responder a los deseos cambiantes de los clientes con gran variedad, alta calidad, bajo costo y con tiempos de producción muy rápidos. Además, la gestión de la información se vuelve mucho más simple y más precisa. Lean para la Producción y Servicios Una creencia popular es que se apoyan es adecuado sólo para la fabricación. No es cierto. Esbelta se aplica en todos los negocios y cada proceso. No es una táctica o un programa de reducción de costes, sino una forma de pensar y de actuar para toda una organización. Los negocios en todas las industrias y servicios, incluyendo la salud y los gobiernos, están utilizando los principios lean en su forma de pensar y hacer. Muchas organizaciones optan por no utilizar la palabra pobre, pero para etiquetar lo que hacen que su propio sistema, como el Sistema de Producción Toyota o el Sistema de Negocios Danaher. ¿Por qué? Para llevar a casa el punto que se
  • 12. apoyan no es un programa o un programa a corto plazo de reducción de costos, pero la forma en que la compañía opera. La transformación de palabra o de transformación Lean a menudo se utiliza para caracterizar a una compañía móvil de una forma antigua de pensar que el pensamiento esbelto. Se requiere una transformación completa de cómo una empresa realiza negocios. Esto toma una perspectiva a largo plazo y la perseverancia. El término "pobre" fue acuñado para describir negocio de Toyota en la década de 1980 por un equipo de investigación dirigido por JimWomack, Ph.D., en el Programa MIT Internacional de Vehículos de Motor. Las características de una organización ágil y cadena de suministro se describen en el Pensamiento Lean, por Womack y Dan Jones, fundadores del Lean Enterprise Institute y el Lean Enterprise Academy (Reino Unido), respectivamente. Si bien hay muchos libros muy buenos sobre las técnicas Lean, Lean Thinking sigue siendo uno de los mejores recursos para la comprensión de "lo que es pobre", ya que describe el proceso de pensamiento, los principios básicos generales que debe guiar sus acciones cuando la aplicación de técnicas Lean y herramientas. MICROSOFT SOLUTIONS FRAMEWORK Microsoft Solutions Framework (MSF) es un conjunto de principios, modelos, disciplinas, conceptos y directrices para la entrega de tecnología de la información de las soluciones de Microsoft . MSF no se limita a las aplicaciones en desarrollo solamente, es también aplicable a otros proyectos de TI como los proyectos de implementación, redes o infraestructura. MSF no obliga al desarrollador a utilizar un determinado método ( Cascada , Agile ), pero les permite decidir qué método utilizar. Principios Fundamentales Los siguientes son los ocho principios fundamentales, que forman la columna vertebral de los otros modelos y disciplinas de MSF: 1. Fomentar la comunicación abierta 2. Trabajar en pro de una visión compartida 3. Empoderar a los miembros del equipo 4. Establecer la rendición de cuentas clara y la responsabilidad compartida 5. Enfoque en entregar valor de negocio
  • 13. 6. Manténgase ágil, esperan cambiar 7. Invertir en calidad 8. Aprender de todas las experiencias Modelos de MSF MSF se compone de dos modelos: 1. MSF TeamModel. Esto describe el papel de los distintos miembros del equipo en un proyecto de desarrollo de software. Los miembros de este equipo sería el siguiente: Gestión del producto: se ocupa principalmente de los clientes y definir los requisitos del proyecto, también se asegura de que se cumplan las expectativas del cliente. Gestión del programa: Mantiene el desarrollo de proyectos y la entrega al cliente Arquitectura: Responsable de diseño de la solución, asegurándose de que el diseño de la solución óptima satisface todas las necesidades y expectativas Desarrollo: se desarrolla de acuerdo a las especificaciones. De la prueba: Pruebas y asegura la calidad del producto Release / Operaciones: Se asegura una implementación sin problemas y de las operaciones del software Experiencia de usuario: Soporta los problemas de los usuarios. Una persona puede ser asignado para realizar múltiples funciones. MSF también tiene sugerencias sobre cómo combinar las responsabilidades, tales como el desarrollador no debe ser asignado a cualquier otro rol. 2. MSF modelo de gobernanza. Este describe las diferentes etapas en el procesamiento de un proyecto. El Modelo de Gobierno de MSF cuenta con cinco pistas superpuestas de la actividad (ver más abajo), cada uno con un objetivo de calidad definido. Estas pistas de la actividad de definir lo que se necesita lograr y dejar la forma en que se llevan a cabo con la metodología del equipo seleccionado. Por ejemplo, estas pistas pueden ser pequeñas en su alcance y lleva a cabo rápidamente para ser coherente con una metodología ágil, o se puede serializar y alargado para ser coherente con una metodología de cascada. Envision - pensar en lo que se necesita lograr y determinar las limitaciones - Plan y el diseño de una solución para satisfacer las necesidades y expectativas dentro de esas limitaciones Construir - generar la solución
  • 14. Estabilizar - validar que la solución cumple con las necesidades y expectativas ... "Sincronizar y estabilizar" Implementar - implementar la solución Proceso de Gestión de Proyectos de MSF Integrar la planificación y el control de cambio de conducta Definir y gestionar el alcance del proyecto Prepare un presupuesto y administrar los costos Preparar y realizar un seguimiento de los horarios Asegúrese de que los recursos se asignan a la derecha del proyecto Administrar los contratos y proveedores y recursos procuran proyecto Facilitar el equipo y las comunicaciones externas Facilitar el proceso de gestión de riesgos Documentar y supervisar el proceso del equipo de gestión de calidad MSF sobre la metodología de desarrollo ágil de software El MSF para Agile de desarrollo de software (MSF4ASD) está destinado a ser un peso ligero, iterativo y adaptable. El MSF4ASD utiliza los principios del enfoque de desarrollo ágil formulada por la Agile Alliance . El MSF4ASD proporciona una guía de procesos que se centra en las personas y los cambios. Incluye las oportunidades de aprendizaje mediante el uso de iteraciones y evaluaciones en cada iteración. MSF para el Modelo de Madurez de la Capacidad metodología de mejora de Integración de Procesos El MSF para el Modelo de Madurez de la Capacidad de integración de Mejora de Procesos (MSF4CMMI) tiene más objetos, más procesos, más signoffs, más planificación y está destinado a los proyectos que requieren un mayor grado de formalidad y ceremonia. El MSF4CMMI es una metodología formal para la ingeniería de software. CapabilityMaturityModel fue creado en el Software EngineeringInstitute de Carnegie MellonUniversity , y es un enfoque de mejora de procesos que proporciona a las organizaciones los elementos esenciales del proceso de mejora continua que resulta en una reducción de SDLC , la capacidad de mejorar para cumplir con los objetivos de costes y el calendario, la construcción de productos de alta calidad. El MSF4CMMI ha ampliado la orientación MSF4ASD con la formalidad adicional, revisiones , verificación y auditoría . Esto resulta en un septiembre que se basa en el proceso y la conformidad de procesar en lugar de confiar exclusivamente en la confianza y la capacidad de los miembros individuales del equipo. El MSF4CMMI tiene más documentos obligatorios y los informes que la versión ágil, y este proceso de desarrollo más formal reduce el
  • 15. riesgo de grandes proyectos de software y ofrece un estado medible. Una de las ventajas de utilizar el proceso de CMMI es la evaluación estándar por el cual se puede comparar la capacidad de desarrollar software en otras organizaciones. PROJECT MANAGEMENT INSTITUTE El Project Management Institute (PMI®) es una organización internacional sin fines de lucro que asocia a profesionales relacionados con la Gestión de Proyectos. A principios de 2011, es la más grande del mundo en su rubro, dado que se encuentra integrada por más de 260.000 miembros en cerca de 170 países. La oficina central se encuentra en la localidad de NewtownSquare, en la periferia de la ciudad de Filadelfia, en Pennsylvania (Estados Unidos). Sus principales objetivos son: Formular estándares profesionales en Gestión de Proyectos. Generar conocimiento a través de la investigación. Promover la Gestión de Proyectos como profesión a través de sus programas de certificación. PMBOK® La Guía del PMBOK® es un estándar en la Administración de proyectos desarrollado por el Project Management Institute (PMI). La misma comprende dos grandes secciones, la primera sobre los procesos y contextos de un proyecto, la segunda sobre las áreas de conocimiento específico para la gestión de un proyecto. En 1987, el PMI publicó la primera edición del PMBOK® en un intento por documentar y estandarizar información y prácticas generalmente aceptadas en la gestión de proyectos. La edición actual, la cuarta, provee de referencias básicas a cualquiera que esté interesado en la gestión de proyectos. Posee un léxico común y una estructura consistente para el campo de la gestión de proyectos La Guía del PMBOK es ampliamente aceptada por ser el estándar en la gestión de proyectos, sin embargo existen algunas críticas: La mayor viene de los seguidores de la Cadena Crítica (en oposición al Método de la ruta crítica). EL PMBOK se encuentra disponible en 11 idiomas: inglés, español, chino simplificado, ruso, coreano, japonés, italiano, alemán, francés, portugués de Brasil y árabe. PMBOK® El PMBOK es una colección de procesos y áreas de conocimiento generalmente aceptadas como las mejores prácticas dentro de la gestión de proyectos. El PMBOK es un estándar reconocido internacionalmente (IEEE Std 1490-2003) que provee los fundamentos de la gestión de proyectos que son aplicables a un amplio rango de proyectos, incluyendo construcción, software, ingeniería, etc.
  • 16. El 'PMBOK' reconoce 5 grupos de procesos básicos y 9 áreas de conocimiento comunes a casi todos los proyectos. Los procesos se traslapan e interactúan a través de un proyecto o fase y son descritos en términos de: Entradas (documentos, planes, diseños, etc.) Herramientas y Técnicas (mecanismos aplicados a las entradas) Salidas (documentos, productos, etc.). Grupos básicos de Procesos Los 5 grupos básicos de procesos son: 1. Iniciación: Define y autoriza el proyecto o una fase del mismo. Está formado por dos procesos. 2. Planificación: Define, refina los objetivos y planifica el curso de acción requerido para lograr los objetivos y el alcance pretendido del proyecto. Está formado por veinte procesos. 3. Ejecución: Compuesto por aquellos procesos realizados para completar el trabajo definido en el plan a fin de cumplir con las especificaciones del mismo. Implica coordinar personas y recursos, así como integrar y realizar actividades del proyecto en conformidad con el plan para la dirección del proyecto. Está formado por ocho procesos. 4. Seguimiento y Control: Mide, supervisa y regula el progreso y desempeño del proyecto, para identificar áreas en las que el plan requiera cambios. Está formado por diez procesos. 5. Cierre: Formaliza la aceptación del producto, servicio o resultado, y termina ordenadamente el proyecto o una fase del mismo. Está formado por dos procesos.
  • 17. PRINCE2 PRojects IN ControlledEnvironments (PRINCE), en español: proyectos en entornos controlados, es un método de gestión de proyectos que cubre la administración, control y organización de un proyecto. PRINCE2 es una marca registrada de la OGC del Reino Unido. PRINCE2 fue originalmente desarrollado por la CCTA que actualmente forma parte de la OGC. Desde 1989 se viene usando como un estándar para la gestión de proyectos sobre todo en el Reino Unido. Este método fue inicialmente desarrollado únicamente para proyectos TIC, la última versión, PRINCE2, es compatible con la gestión de todo tipo de proyectos. La revisión más reciente se publicó el 16 de junio de 2009 por la OGC siendo denominada esta versión como PRINCE2:2009 Refresh. DRA El Desarrollo Rápido de Aplicaciones (DRA) (rapidapplicationDevelopment RAD) es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto. DRA es una adaptación a “Alta velocidad” en el que se logra el desarrollo rápido utilizando un enfoque de construcción basado en componentes. Si se comprenden bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite al equipo de desarrollo crear un “sistema completamente funcional” dentro de periodos cortos de tiempo. Cuando se utiliza principalmente para aplicaciones de sistemas de información, el enfoque DRA comprende las siguientes fases: Modelado de gestión: el flujo de información entre las funciones de gestión se modela de forma que responda a las siguientes preguntas: ¿Qué información conduce el proceso de gestión? ¿Qué información se genera? ¿Quién la genera? ¿A dónde va la información? ¿Quién la proceso? Modelado de datos: el flujo de información definido como parte de la fase de modelado de gestión se refina como un conjunto de objetos de datos necesarios para apoyar la empresa. Se definen las características (llamadas atributos) de cada uno de los objetos y las relaciones entre estos objetos. Modelado de proceso: los objetos de datos definidos en la fase de modelado de datos quedan transformados para lograr el flujo de información necesario para implementar una función de gestión. Las descripciones del proceso se crean para añadir, modificar, suprimir, o recuperar un objeto de datos. Es la comunicación entre los objetos. Generación de aplicaciones: El DRA asume la utilización de técnicas de cuarta generación. En lugar de crear software con lenguajes de programación de tercera generación, el proceso DRA trabaja para volver a utilizar componentes de programas ya existentes (cuando es posible) o a crear componentes reutilizables (cuando sea necesario). En todos los casos se utilizan herramientas automáticas para facilitar la construcción del software. Pruebas de entrega: Como el proceso DRA enfatiza la reutilización, ya se han comprobado muchos de los componentes de los programas. Esto reduce tiempo de pruebas. Sin embargo, se deben probar todos los componentes nuevos y se deben ejercitar todas las interfases a fondo.
  • 18. CRYSTAL Crystal es una metodología de desarrollo de Software ágil, más que una metolodogía se la considera una familia de metodologías, debido a que se subdivide en varios tipos de metodologías en función a la cantidad de persona que vayan a estar en el proyecto. Es una metodología que ha sido creada por una persona en particular (Alistair Cockburn ) el cuál llego la creó en base al análisis de distintos proyectos de desarrollo de SW y su propia experiencia, lo cuál fusionando ambos aspectos dio lugar a una metodología bastante interesante, la cual se presenta a continuación. Desarrollo de la metodología Antecedentes En los inicios de 1990, en un estudio realizado en IBM se llegó a los siguientes ac uerdos (Cockburn, 2001). Los equipos exitosos enfatizaban que no habían seguido métodos formales ni herr amientas CASE y que habían estimulado la comunicación y los test. Los equipos con problemas no entendían sus fallas o si habían cumplido con los m étodos formales. Qué es Crystal Clear Crystal Clear no es una metodología en si misma sino una familia de metodologías con un “código genético” común. El nombre Crystal deriva de la caracterización de los proyectos según 2 dimensiones, tamaño y complejidad (como en los minerales, color y dureza). Por ejemplo. Clear es para equipos de hasta 8 personas o menos. Amarillo para equipos entre 10 a 20 personas. Naranja para equipos entre 20 a 50 persona. Roja para equipos entre 50 a 100 personas. Azul para equipos entre 100 a 200 personas. CC puede ser usado en proyectos pequeños y como casi todos los otros métodos, CC consiste en valores, técnicas y procesos. En primera instancia se especifican los antecedentes de la metodología, continuan do con definiciones que ayudan a estructurar la fundamentación teórica y se termina con las características esenciales de los diferentestipos de Crystal.
  • 19. La conclusión: Menos énfasis en la documentación exhaustiva y más en versiones que corran y p uedan ser probadas. Lo primero son promesas, lo segundo hechos. Cada proyecto necesita sus propios m étodos. Alistair Cockburn en lugar de partir solamente de su experiencia personal para construir una teoría de cómo deben hacerse las cosas complementa su experiencia directa con la búsqueda activa de proyectos para ver cómo trabajan. Él ha explorado a fondo los métodos ágiles, haciendo énfasis en la familia de met odologías Crystal. Es una familia porque cree que los diferentes tipos de proyectos requieren diferentes tipos de metodologías. Él mira esta variación a lo largo de dos ejes: el número de personas en el proyecto, y las c onsecuencias de los errores. Cada metodología encaja en una parte diferente, de modo que para un proyecto d e 40 personas que puede perder dinero discrecionalmente tiene una metodología diferente a la de un proyec to vital de seis personas KANBAN El Kanban es un sistema de información que controla de modo armónico la fabricación de los productos necesarios en la cantidad y tiempo necesarios en cada uno de los procesos que tienen lugar tanto en el interior de la fábrica como entre distintas empresas. También se denomina “sistema de tarjetas”, pues en su implementación más sencilla utiliza son tarjetas que se pegan en los contenedores de materiales y que se despegan cuando estos contenedores son utilizados, para asegurar la reposición de dichos materiales. Las tarjetas actúan de testigo del
  • 20. proceso de producción. Otras implementaciones más sofisticadas utilizan la misma filosofía, sustituyendo las tarjetas por otros métodos de visualización del flujo. El Kanban se considera un subsistema del JIT. TSP En combinación con el Personal Software Process (PSP), el llamado Team Software Process (TSP) proporciona un marco de trabajo de procesos definidos que está diseñado para ayudarle a equipos de gerentes e ingenieros a organizar y producir proyectos de software de gran escala, que tengan tamaños mayores a varios miles de líneas de código. El objetivo del TSP es mejorar los niveles de calidad y productividad de un proyecto de desarrollo de software de un equipo, con el fin de ayudarlos a alcanzar los acuerdos de costos y tiempos en dicho desarrollo. La versión inicial del TSP fue desarrollada por Watts Humphrey en 1996, y el primer Reporte Técnico para TSP fue publicado en el año 2000, patrocinado por el Departamento de Defensa de los Estados Unidos. El libro de Watts Humphrey llamado "IntroductiontotheTeam Software Process" (Addison Wesley Professional, Massachusetts, 1999), presenta el TSP en detalle y se enfoca en el proceso de la construcción de un equipo productor de software, estableciendo objetivos del equipo, distribuyendo los roles, y otras actividades de trabajo en equipo. PSP El Personal Software Process, conocido por sus siglas como PSP, es una metodología de reciente creación, proveniente del Instituto de Ingeniería del Software(SEI). PSP es una alternativa dirigida a los ingenieros de sistemas, que les permite mejorar la forma en la que construyen software. Considerando aspectos como la planeación, calidad, estimación de costos y productividad, PSP es una metodología que vale la pena revisar cuando el ingeniero de software está interesado en aumentar la calidad de los productos de software que desarrolla dentro de un contexto de trabajo individual. CARACTERISTICAS En PSP todas las tareas y actividades que el ingeniero de software debe realizar durante el proceso de desarrollo de un producto de software, están puntualmente definidas en un conjunto de documentos conocidos como scripts. Los scripts son el punto medular de PSP, por lo que se hace mucho énfasis en que deben ser seguidos en forma disciplinada, ya que de ello dependerá el éxito de la mejora que se busca. Gran parte de las tareas y actividades definidas en los scripts generará en su realización un conjunto de datos, fundamentalmente de carácter estadístico. La aplicación de PSP en varios procesos de desarrollo, y el análisis de la información estadística generada en cada uno de éstos, permitirán al ingeniero de software identificar, tanto sus fortalezas como sus debilidades, y crecer a través de un proceso de autoaprendizaje y auto mejora.
  • 21. La calidad en PSP, es un aspecto fuertemente relacionado con la cantidad de defectos que el producto de software contiene. En este nivel se introducen algunos métodos aplicables al proceso de desarrollo de software, dentro de un enfoque de proyectos a gran escala, pero sin lidiar con problemas de comunicación y coordinación de los equipos de trabajo. PASOS A SEGUIR Los scripts se organizan en cuatro niveles, identificados del 0 al 3, atendiéndose en cada nivel un conjunto de aspectos a mejorar del proceso de desarrollo de software. Al primer nivel se le conoce como 0 o de medición personal, al segundo como nivel1 o de planeación personal, al tercero, como nivel 2 o de calidad personal, y al cuarto, como nivel 3 o cíclico personal. Cada uno de estos niveles, con excepción del 3, tiene una versión que los extiende, introduciendo tareas y actividades para un mejor manejo de los aspectos de interés en nivel, o bien para incluir nuevos aspectos, verla si la siguiente figura. Cada uno de los niveles extiende los aspectos considerados en el nivel inmediato anterior. Una de las razones de esta clasificación puede ser el que PSP es una metodología de mejora basada en datos estadísticos, los cuales deben ser cuidadosamente recabados por el ingeniero de software; el aumento gradual de la cantidad de datos que debe recolectar el ingeniero introduce, por consiguiente, el cambio en su manera de trabajo de una manera paulatina. Se recomienda un uso incremental de PSP, iniciando con el nivel más bajo durante un primer proyecto de desarrollo y, en proyectos siguientes, ascendiendo a niveles superiores. Los scripts no pueden utilizase en forma separada o desordenada. VENTAJAS Y DESVENTAJAS PARA UTILIZAR PSP PSP es una alternativa, de las muchas que han surgido recientemente, para mejorar el proceso de desarrollo de software. Más que clasificar un conjunto de sentencias como ventajas o desventajas, a continuación se citan algunas características: PSP es una metodología basada en estimación. La estimación permite saber cuándo y cómo se desarrollan las tareas de un proceso, por lo que podría citarse como un aspecto importante de esta metodología el estar basada en métricas y estimaciones. La información de las métricas y estimaciones se utiliza para evaluar y mejorar procesos futuros. PSP parte de la premisa que, si el ingeniero de software conoce sus fortalezas y debilidades, puede establecer las acciones necesarias para erradicar o explotar los aspectos identificados en la forma en que desarrolla software. Aunque lo mencionado en el punto anterior podría sonar bastante atractivo, la forma de llegar a ese auto conocimiento puede resultar tediosa y, en el
  • 22. peor de los casos, una pesadilla para el desarrollador. Salvo muy pocas excepciones, los ingenieros de software nunca realizan procedimientos formales para conocer la forma en que trabajan, no saben con exactitud cuántas líneas de código generan por hora, cuánto tiempo invierten al corregir un error, cuánto tiempo invierten en pruebas, etcétera. Los pasos de registro de información a detalle en el nivel de medición pueden resultar frustrantes cuando se tiene presión de tiempo. En los scripts de PSP no se incluyen tareas y actividades para la etapa de análisis de requerimientos. Siempre se parte de una definición de requerimientos que no va a cambiar. Aún no existe una herramienta automatizada que facilite el registro y análisis de datos generados por la aplicación de PSP. RUP El RationalUnifiedProcess (RUP) es un iterativoproceso de desarrollo de software creado por el marco de Rational SoftwareCorporation, una división de IBM desde el año 2003. [1] RUP no es un único proceso normativo concreto, sino más bien un proceso de adaptación marco , la intención de ser medida por las organizaciones de desarrollo de software y equipos de proyectos que se seleccionan los elementos del proceso que son apropiados para sus necesidades. RUP es una implementación específica del Proceso Unificado .