jueves, 2 de febrero de 2012

INGENIERÍA DE SOFTWARE II

CMMI (Capability Maturity Model Integration): Es un modelo de calidad que sirve para mejorar y evaluar los procesos en fábricas de software. CMMI posee 5 niveles, los cuales permiten conocer el nivel de madurez de los procesos que se realizan en dichas instituciones para la producción de software.

Estos modelos son:
- Inicial
- Repetible
- Definido
- Gestionado
- Optimizado

OPENUP: Es un proceso de desarrollo de software mínimamente suficiente, lo que significa que sólo el contenido fundamental se incluye. Por lo tanto, no proporciona orientación sobre muchos temas que los proyectos pueden tratar, tales como tamaño de los equipos grandes, el cumplimiento, las situaciones contractuales, la seguridad o aplicaciones de misión crítica, la tecnología de orientación específica, etc.

Sin embargo, OpenUP es completa en el sentido de que puede manifestarse comoun proceso para construir un sistema. Para atender las necesidades que no están cubiertas en su contenido, OpenUP es extensible para ser utilizado como base, en el cual el contenido del proceso se puede añadir o adaptar, según sea necesario.

XP (Extreme Programming): La programación extrema es una metodología de desarrollo ligera (o ágil) basada en una serie de valores y de prácticas de buenas maneras que persigue el objetivo de aumentar la productividad a la hora de desarrollar programas, además de satisfacer las demandas del cliente.

Este modelo de programación se basa en una serie de metodologías de desarrollo de software en la que se da prioridad a los trabajos que dan un resultado directo y que reducen la burocracia que hay alrededor de la programación.

SCRUM: Más que una metodología de desarrollo software, es una forma de auto-gestión de los equipos de programadores. Un grupo de programadores deciden cómo hacer sus tareas y cuánto van a tardar en ello. Scrum ayuda a que trabajen todos juntos, en la misma dirección, con un objetivo claro.

Scrum permite además seguir de forma clara el avance de las tareas a realizar, de forma que los "jefes" puedan ver día a día cómo progresa el trabajo.
Sin embargo, Scrum no es una metodología de desarrollo, puesto que no indica qué se debe hacer para hacer el código. Debería, por tanto, complementarse con alguna otra metodología de desarrollo. Se lleva bien con las metodologías ágiles y en concreto, con la programación extrema.

ITIL (Information Technology Infrastructure Library): ITIL es el enfoque más ampliamente adoptado para la Gestión de Servicios de TICs en el mundo. Proporciona un marco práctico, para identificar, planificar, entregar y mantener los servicios de TICs con el negocio.

ITIL aboga por que los servicios de las TICs deben estar alineada a las necesidades del negocio y apoyar los procesos de negocio. Proporciona orientación a las organizaciones sobre la manera de utilizarlo como una herramienta para facilitar los negocios, la transformación y el crecimiento.

COBIT (Control Objectives for Information and related Technology): La estructura del modelo COBIT propone un marco de acción donde se evalúan los criterios de información, como por ejemplo la seguridad y calidad, se auditan los recursos que comprenden la tecnología de información, como por ejemplo el recurso humano, instalaciones, sistemas, entre otros, y finalmente se realiza una evaluación sobre los procesos involucrados en la organización.

El COBIT es un modelo de evaluación y monitoreo que enfatiza en el control de negocios y la seguridad de las TICs y que abarca controles específicos de TICs desde una perspectiva de negocios.

LEAN: Es una filosofía que emplea técnicas y herramientas para eliminar o reducir desperdicios; ya sea tiempo, materiales, defectos, eficiencia, etc. El objetivo final de ésta es tratar de aumentar la productividad, reducir costos y volverse competitivo.

MSF (Microsoft Solutions Framework): Según [M&R 1998], "más que una metodología, Microsoft Solutions Framework (MSF) es una serie de modelos flexibles interrelacionados que guían a una organización sobre como ensamblar los recursos, el personal y las técnicas necesaria para asegurar que su infraestructura tecnológica y sus soluciones cumplan los objetivos de negocio. MSF mantiene una relación clara entre los objetivos de negocio y las implementaciones tecnológicas".

[M&R 1998],  Microsoft y Rational 1998. A White Paper on the Benefits of Integrating Microsoft Solutions Framework and The Rational Process. Rational Software Corporation y Microsoft Corporation. Documento msfratprocs.doc Disponible en http://www.rational.com/uml/papers.

PMI – PMBOK: PMBOK (Project Management Body of Knowledge) es el estándar más conocido en el manejo y administración de proyectos. Fue desarrollado por PMI (Project Management Institute). Uno de los párrafos introductorios de PMBOK dice: «“Buenas prácticas” no quiere decir que los conocimientos descritos deban aplicarse siempre de manera uniforme en todos los proyectos: el equipo de dirección del proyecto es el responsable de determinar lo que es apropiado para cada proyecto determinado.»

PRINCE2 (PRojects IN Controlled Enviroments): Es un método basado en procesos para la gestión eficaz de los proyectos. Las principales características son:

- Su enfoque es dirigido a la justificación de los negocios.
- Se enfatiza en dividir el proyecto en fases manejables y controlables.
- Es flexible para ser aplicado a un nivel apropiado para el proyecto

DRA (Desarrollo Rápido de Aplicaciones): Consiste en un desarrollo acelerado del modelo lineal basándose en componente ya diseñados. Este modelo permite que el equipo de desarrollo cree un sistema funcional dentro de un período corto de tiempo.

KANBAN: Se define como "Un sistema de producción altamente efectivo y eficiente". KANBAN significa en japonés: ‘etiqueta de instrucción’. Su principal función es ser una orden de trabajo, es decir, un dispositivo de dirección automático que nos da información acerca de que se va a producir, en qué cantidad, mediante qué medios y cómo transportarlo.

KANBAN cuenta con dos funciones principales: control de la producción y mejora de procesos. Tomado de http://www.gestiopolis.com/recursos/documentos/fulldocs/ger/kanbanuch.htm

TSP (Team Software Process): Es uno de los métodos desarrollados por el SEI, para en conjunto con PSP, mejorar el desempeño de los equipos de desarrollo y la calidad de los productos que se construyen. Permite instanciar las prácticas de CMMI con elementos ya definidos y listos para utilizarse.

TSP establece un conjunto de procesos a nivel de equipos de proyecto orientados a la ejecución de las tareas, así como mecanismos de gestión e indicadores de control que permiten gestionar, de manera continua y efectiva, el desempeño del equipo.

PSP (Personal Software Process): Brinda a los ingenieros la posibilidad de mejorar su desarrollo de software estableciendo un marco de disciplina personal. El proceso PSP consiste en un conjunto de métodos, formas que muestran como planificar, medir y administrar su propio trabajo. Tomado de http://dspace.espol.edu.ec/bitstream/123456789/15865/1/Aplicaci%C3%B3n%20de%20PSP%20(Personal%20Software%20Process).pdf

RUP (Rational Unified Process): es una infraestructura flexible de desarrollo de software que proporciona prácticas recomendadas probadas y una arquitectura configurable.

Las mejores prácticas del Rational Unified Process, (RUP), son un conjunto de procesos web-enabled de ingeniería de software que dan guía para conducir las actividades de desarrollo del equipo. Como una plataforma de procesos que abarca todas las prácticas de la industria, el RUP permite seleccionar fácilmente el conjunto de componentes de proceso que se ajustan a las necesidades específicas del proyecto. Se podrán alcanzar resultados predecibles unificando el equipo con procesos comunes que optimicen la comunicación y creen un entendimiento común para todas las tareas, responsabilidades y artefactos. Desde un único sitio web centralizado de intercambio, el Software Rational, las plataformas, herramientas y expertos de dominios proveen los componentes de proceso necesarios para el éxito.