Busca en este sitio:
Twitter
. Soy Novato
. Soy Gerente de Proyectos
. Quiero ganar más
. Quiero mejorar a mi empresa
y sus proyectos
. Tengo experiencia, pero no soy experto
. Soy experto (o eso creo)
.
.

Contáctanos
Escríbenos a:
contacto@liderdeproyecto.com
Para información de cursos:
cursos@liderdeproyecto.com

Teléfono en México D.F:
+52 (55) 2652 4590


Aviso de privacidad
+
.
Aliados del PMI® México

LiderDeProyecto.com es aliado estratégico del PMI® Capítulo México.
+
.
Humor del Líder

Problemas de comunicación
+
.
Glosario
Ven a conocer el glosario de administración de proyectos. Nuevas definiciones: Condiciones, Diagrama de flujo, Proceso de negocio, Producción, Secuencia.
+
.
Colaboradores

Conoce a los colaboradores de LiderDeProyecto.com. Tu puedes ser uno de ellos.
+
.
 
Artículos
 

Extreme Programming
Por Miguel Armas [ acerca del autor ]

Extreme Programming (XP) surgió a finales de los 90s, cuando la industria del software estaba bajo dos grandes influencias, el cambio de paradigma de programación estructurada a programación orientada a objetos, y el boom de internet enfatizando speed-to-market y el crecimiento de las organizaciones como factores de competitividad para los negocios.

El objetivo de XP es reducir el costo del cambio, usando principios, valores y prácticas básicas, por medio de las cuales un proyecto debe ser mas flexible al cambio.
Los objetivos que XP plantea en detalle son:

  • Un intento de reconciliar humanidad y productividad
  • Un mecanismo de cambio social
  • Un camino a la mejora
  • Un estilo de desarrollo
  • Una disciplina de desarrollo de software

XP mejora un proyecto en cuatro formas esenciales: comunicación, simplicidad, retroalimentación y coraje, las cuales se establecen como valores.

Valores XP

Comunicación: La comunicación de los requerimientos de un proyecto a los desarrolladores en un proyecto bajo una metodología formal se hace por medio de la documentación, en XP el objetivo es dar a los desarrolladores una visión compartida del sistema, alineada con la de los usuarios del sistema, favoreciendo diseños simples, metáforas comunes, la colaboración entre usuarios y programadores, comunicación verbal frecuente y retroalimentación.

Simplicidad: XP fomenta el iniciar con la solución mas simple y desarrollar a partir de esa versiones mejores. La diferencia con las metodologías convencionales es diseñar y codificar para las necesidades actuales en lugar de las futuras. XP plantea que el riesgo de codificar sin considerar cambios futuros compensa el trabajo de invertir en posibles futuros requerimientos que podrían cambiar antes de ser relevantes.

Retroalimentación: La retroalimentación se da en varios niveles.
Retroalimentación del sistema al ejecutar periódicamente pruebas unitarias e integrales los programadores conocerán el estado del sistema después de implementar cambios
Las pruebas de aceptación elaboradas por el cliente y pruebas, realizadas cada dos o tres semanas permiten al cliente retroalimentar el desarrollo.
Cuando el cliente tiene nuevos requerimientos, la retroalimentación del equipo de trabajo se da al entregar una estimación del tiempo que estos implican.

Coraje: El coraje es un valor que se aplica a varios aspectos, al diseñar y codificar para las necesidades actuales en lugar de las futuras, al alentar a los programadores a mejorar el código sin afectar el comportamiento externo (refactoring), al reconocer cuando alguna parte del código ya no sirve, al ser persistente al buscar la solución de un problema.

Respeto: En XP los miembros del equipo de trabajo deben respetarse entre si, para nunca incorporar cambios que hagan fallar las pruebas o retrasen el trabajo de otra persona. Una forma de respeto al trabajo propio es siempre buscar la mas alta calidad y las mejores soluciones al desarrollar el producto. Nadie en el equipo de trabajo debe sentirse despreciado o ignorado ya que esto mejora la motivación de todos para conseguir los objetivos del proyecto.

Principios de XP

Los principios planteados se basan en los valores establecidos para ayudar a la toma de decisiones en el proyecto. Los principios son mas concretos que los valores y mas fáciles de seguir en situaciones practicas.
La retroalimentación realizada rápidamente es mas útil, el tiempo entre una acción y su retroalimentación es critico para aprender y realizar cambios. El contacto constante con el cliente y su monitoreo en el sistema en desarrollo le permiten guiar el desarrollo de acuerdo a sus necesidades. Las pruebas unitarias indican rápidamente si los cambios realizados funcionan correctamente.
Suponer la simplicidad es tratar cada problema como si su solución fuera extremadamente simple, XP opta por cambios incrementales en lugar de muchas modificaciones al mismo tiempo.
Adoptar el cambio es aceptarlo y planear la solución de nuevos requerimientos para una nueva iteración, aun si estos han cambiado dramáticamente.

Actividades

XP considera cuatro actividades básicas en un proceso de desarrollo

Codificar
XP argumenta que lo mas importante para el desarrollo del producto de software es codificar, actividad que definen en un concepto mas amplio que la definición tradicional. Codificar en XP es hacer diagramas que generaran código, scripts para una aplicación web o código para una aplicación que necesita compilarse. Cuando se presentan varias alternativas a un problema, deben codificarse todas para elegir la mejor con pruebas automatizadas. Comunicar soluciones codificándolas es mas claro y conciso ya que no esta sujeto a interpretaciones.

Probar
No se puede asegurar que algo funcione a menos que se pruebe, las pruebas unitarias automatizadas aseguran que el desarrollador elimine esta incertidumbre si todas las pruebas son satisfactorias. Las pruebas de aceptación aseguran que el cliente tiene el producto que necesita de acuerdo a los requerimientos planteados.

Escuchar
Los programadores no necesariamente conocen el negocio del cual el sistema es una solución, la funcionalidad de este es definida por los expertos del negocio, y para entender como debe ser planteada y construida la solución, los programadores deben escuchar a los expertos del negocio.

Diseñar
En la practica, restringirse solo a codificar, probar y escuchar no basta para crear una buena solución, un buen diseño ayuda a evitar un sistema con muchas dependencias, complejo y difícil de mantener, facilitando de esta forma los cambios incrementales.

Practicas
XP considera 12 practicas agrupadas en cuatro áreas tomadas de las mejores practicas de la ingeniería de software.


Retroalimentación en detalle

Programación en pares
El juego de planeación
Desarrollo dirigido por las pruebas:
Todo el Equipo:

Proceso Continuo

Integración Continua
Diseño mejorado
Liberaciones pequeñas

Comprensión compartida

Estándares de codificación
Responsabilidad colectiva del código
Diseño simple
Sistema de metáforas

Bienestar del programador

Ritmo sustentable

 

Un diagrama dinámico mas detallado de las actividades de XP
se puede consultar en http://www.extremeprogramming.org/map/project.html


Esta página ha sido calificada como:
Califica esta página:   

Temas relacionados:
Curso de Análisis y Diseño Orientado a Objetos con UML
Curso de administración de proyectos con CMMI 2, El Proceso Unificado y UML

+



vale dijo el 16 Noviembre de 2010:
me podrias indicar de que fuente sacaste las actividades???



Gestión y actualización de los riesgos del proyecto
(Julio Matus)
+
.
.
.
Quienes somos I Base de conocimiento I Apoyo y servicios profesionales I Carrera y desarrollo profesional I Material de apoyo I Productos y souvenirs I Comunidad I Contacto I Aviso de privacidad
© LiderDeProyecto.com - Todos los derechos reservados. Capability Maturity Model® y CMM® son marcas registradas en la Oficina de Patentes de los EUA por el Software Engineering Institute (SEI) de la Universidad Carnegie Mellon®. CMM® IntegrationSM, IDEALSM y SCAMPISM son marcas de servicio de la Universidad Carnegie Mellon. PMI®, PMBOK® Guide, OPM3®, CAPM® y PMP® son marcas registradas (en EUA y otos países) del Project Management Institute, Inc. MDA®, BPMN®, SysML®, MOF®, OMG® y UML® son marcas registradas en los EUA y en otros países por el Object Management Group. Microsoft® es una marca registrada en los EUA y en otros países; Microsoft Office, Microsoft Excel y Microsoft Project son productos propiedad de Microsoft Corp. Enterprise Architect es un producto propiedad de Sparx Systems, Australia. RUP® es una marca registrada por IBM Corp.