Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TRABAJO DE INVESTIGACIÓN
TEMA:
METODOLOGÍA DE DESARROLLO DE
SOTFWARE XP EXTREME PROGRAMMING
PERTENECIENTE A:
MATERIA:
ADMINISTRACIÓN DE PROYECTOS
INFORMÁTICOS
LICENCIADO:
RICHARD RAMIREZ A.
ESPECIALIDAD:
INGENIERIA EN SISTEMAS
2010 - 2011
1
VICTOR PINELA BRIONES ADMINISTRACIÓN DE PROYECTOS INFORMÁTICOS
INDICE
PAG.
ASPECTOS INTERESANTES DE XP
VALORES 4
CARACTERÍSTICAS FUNDAMENTALES 5
CONCUSIÓN
ANEXOS 6
BIBLIOGRAFÌA 7
2
VICTOR PINELA BRIONES ADMINISTRACIÓN DE PROYECTOS INFORMÁTICOS
PROGRAMACIÓN EXTREMA O EXTREME PROGRAMMING (XP)
Nació en 1996, es un enfoque de la ingeniería de software formulado por Kent Beck, autor del primer libro
sobre la materia, Extreme Programming Explained: 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.
Se puede considerar la programación extrema como la adopción de las mejores metodologías de desarrollo
de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera dinámica durante el
ciclo de vida del software.
Los requerimientos no están claros o cambian mucho: el cliente no tiene una idea clara de lo
que el sistema debería hacer. Nuestro proyecto requería la reescritura de una plataforma existente,
pero modificando la concepción original de trabajo orientándola hacia las redes sociales y la web 2.0
Los riesgos son altos: si el cliente tiene una fecha tope o si el proyecto representa una novedad
para el equipo de desarrollo. La aplicación a pesar de no ser innovadora en cuanto a sus
herramientas, sí era una novedad para los desarrolladores el uso de estándares del área de
educación. Así mismo, el nuevo enfoque que se le daba representaba una novedad para todo el
equipo. (Realmente es y será novedad para toda la comunidad).
se trabaja con un equipo de desarrollo pequeño: se recomienda equipos de entre 2 y 12
programadores.
Se dispone de un equipo multidisciplinario: el equipo debe no solo ser de desarrolladores, sino
también los gerentes y clientes, todos trabajando en conjunto.
El equipo de soporte ofrecido constaba de gente con conocimientos en las áreas de diseño,
computación y pedagogía.
El código debe poder ser probado: debe ser posible automatizar las pruebas unitarias y
funcionales. Partíamos de la idea de usar CakePHP como framework de desarrollo. Este nos ofrecía
una suite de pruebas automatizadas.
Aspectos Interesantes de XP
La documentación
XP no hace previsiones para la documentación, sin embargo es lógico que sea necesaria para que
cualquier persona fuera del proyecto se ponga en contexto. Al final todo dependerá del proyecto y del
equipo.
Para este proyecto la documentación es necesaria por una par de razones: al finalizar el proyecto serán
otras personas quienes se encarguen del mantenimiento; y por otro lado, al ser un proyecto de grado es
necesaria mucho más la documentación para convencer a los jurados
Extreme programming aboga porque ninguna parte del código sea propiedad exclusiva de alguno de los
desarrolladores, esto con la intensión de disminuir la necesidad de documentación hacia adentro del equipo
de programadores. Adicionalmente esto permite evitar cuellos de botella que entorpecen el avance.
Para lograrlo, XP exige dos cosas: mover a los desarrolladores de sus asignaciones a otras y desarrollar en
parejas de modo que la toma de decisiones y el conocimiento sobre ellas no sea un secreto.
Adicionalmente, cada día las reuniones permiten notificar estas decisiones al resto del grupo. En este
apartado, puedo decir que en gran parte se ha logrado. El desarrollo en parejas puede ser perjudicial si no
se mantiene la disciplina necesaria para concentrarse en el código y no en la cháchara.
3
VICTOR PINELA BRIONES ADMINISTRACIÓN DE PROYECTOS INFORMÁTICOS
Valores
Coraje o valentía: Los puntos anteriores parecen tener sentido común, entonces, ¿por qué coraje?.
Para los gerentes la programación en parejas puede ser difícil de aceptar, porque les parece como
si la productividad se fuese a reducir a la mitad ya que solo la mitad de los programadores está
escribiendo código. Hay que ser valiente para confiar en que la programación por parejas beneficia
la calidad del código sin repercutir negativamente en la productividad. La simplicidad es uno de los
principios más difíciles de adoptar. Se requiere coraje para implementar las características que el
cliente quiere ahora sin caer en la tentación de optar por un enfoque más flexible que permita
futuras modificaciones. No se debe emprender el desarrollo de grandes marcos de trabajo
(frameworks) mientras el cliente espera. En ese tiempo el cliente no recibe noticias sobre los
avances del proyecto y el equipo de desarrollo no recibe retroalimentación para saber si va en la
dirección correcta. La forma de construir marcos de trabajo es mediante la refactorización del código
en sucesivas aproximaciones.
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, si no orientándolos a realizarlo mejor,
obteniendo como resultado una mejor autoestima en el equipo y elevando el ritmo de producción en
el equipo.
4
VICTOR PINELA BRIONES ADMINISTRACIÓN DE PROYECTOS INFORMÁTICOS
Características fundamentales
XP resuelve volver a lo básico. Al adherirnos a este modelo haremos todo lo que debemos para tener un
desarrollo de software predecible, estable, pero no tendremos tiempo para hacer nada extra. Las cuatro
actividades que guiarán el desarrollo serán: Codificar, Testear, Atender y Diseñar.
A continuación mencionamos las Doce Prácticas de XP que nos permiten realizar desarrollos de Alta
Calidad, en Tiempo y Costo razonables:
Muchos se preguntan cómo pueden estas prácticas seguirse… La realidad es que no es recomendable
seguir algunas de ellas y otras no, ya que cada Práctica soporta a las otras; XP es una unidad. Las
debilidades de una son subsanadas con las fortalezas de otras.
CONCLUSIÓN
XP se adapta muy bien a un proyecto que requiere un código de calidad, probado y confiable. No hace
énfasis en la documentación (al contrario de RUP) lo cual nos ha ayudado a concentrarnos en lo importante
para el cliente: la funcionalidad.
Disponer del cliente/asesor realmente dedicado y concentrado es importante para acelerar el desarrollo y
evitar pasos en falso.
La planificación semanal y la planificación de las entregas es importante para mantener metas claras.
5
VICTOR PINELA BRIONES ADMINISTRACIÓN DE PROYECTOS INFORMÁTICOS
ANEXOS
6
VICTOR PINELA BRIONES ADMINISTRACIÓN DE PROYECTOS INFORMÁTICOS
BIBLIOGRAFÍA