Login Barrapunto
eXtreme Programming ¿sirve?
- Es una metodología ágil pensada para proyectos cortos con requerimientos muy cambiantes o poco claros
- Apunta a una alta integración con el usuario
- La idea es ofrecer muchas entregas del sistema agregando funcionalidad paulatinamente en lapsos cortos de tiempo, esto permite que el usuario tenga más claro si el sistema hace lo que él quiere, además de comprometerlo en el desarrollo
- Programación en parejas, dos personas por máquina; esto hace el desarrollo más llevadero y el surgimiento de ideas, y la estandarización del código, además los grupos se pueden rotar (propiedad colectiva del mismo)
- Utilizar estándares de codificación
- Orientando todo a las pruebas, se realizan pruebas de unidad de los módulos incluso se diseñan antes del software
- 40 horas de trabajo semanal, las horas extras mitigan los ánimos de los desarrolladores
- Se planificado a muy corto plazo (a lo sumo un par de meses)
- Todo se centra en el resultado, es decir, cumplir con lo que se planeó y nada más
- No agregar funcionalidad, porque si los requerimientos son cambiantes no tiene sentido, lo principal el cumplir el plan
- Se realizan reuniones informales todos los días por la mañana para intercambiar experiencias del día anterior
- Se realizan pruebas de integración con frecuencia
- Refactorizar siempre que se pueda
- KISS = Keep it simple stupid!!, es decir, la solución más sencilla que cumpla con los requerimientos es la adecuada, ya iremos mejorándola si nos queda tiempo
Ahora bien, todo esto es aplicable para proyectos cortos donde algunos puntos (como el rendimiento, la eficiencia, la seguridad) no son críticos, bueno sería hacer un sistema de control de vuelo e ir haciendo entregas parciales mientras vamos agregando funcionalidad sobre la marcha (como hacer que el tren de aterrizaje funcione al aterrizar) pero es muy aplicable yo diría al 70% de los proyectos con los que nos encontramos la mayoría de nosotros.
De todos modos el profesor hizo una reflexión final que delata su desacuerdo con esta metodología, palabras textuales: "lo de las horas es para no pagar horas extras, y lo de la programación en parejas es para no tener gurús, es el típico modelo de Thailandia"
Una reflexión final, algo que alguien dijo una vez "Un cliente es aquella persona que te dice lo que quería en el momento que le entregas lo que te pidió".»

¿En qué quedamos?
(Puntos:2, Inspirado)Requerimientos cambiantes y alta integración con el usuario implican impepinablemente que no hay plan (ni tope de tiempo ni hostias). Agregar funcionalidades es casi diario. Ayer no era necesario llevar la contabilidad de los tikets de aparcamiento pero mañana si, se necesita para antes de ayer registrar las visitas de comerciales externos, etc., etc.
Yo siempre he programado así (tengo la "suerte" de ser "el programador" de la empresa) a matacaballo y con el usuario cogido de los huevos para que luego no diga que no es eso lo que quiere (a lo sumo, que se le ha olvidado pedir no se qué, pero que se le olvida pedirlo a él, no implementarlo a mi)
La XP puede que sea una metodología novedosa en algunos ámbitos, pero los que estamos a pie de obra, tenemos una cierta experiencia en la parte realmente "extrema".
Estoy de acuerdo en parte
(Puntos:2, Interesante)Es eXtreme Programming
(Puntos:1, Informativo)demasiado bonito
(Puntos:2, Interesante)( http://barrapunto.com/ )
En mi opinion el problema de XP no es tanto en la forma de trabajar, que puede ser mas o menos novedosa (parejas de programadores, pruebas antes que codigo, etc), sino en las precondiciones que requiere: nos reunimos todos por la mañana, no rotamos, el cliente siempre esta accesible, el jefe es un jefe, los papeles no hacen falta porque para eso esta la gente, compartimos todo, etc.
Realmente si tienes esas precondciones cualquier metodologia, o mas aun, hasta sin metodologia se puede sacar un proyecto.
Por ello mi conclusion es que el problema de XP es mas de aplicabilidad que de metodo. Parece extremadamente atrativo, pero como dijo Hannibal Lecter, "se empieza a codiciar aquello que se tiene cerca y no se posee"
mmhh
(Puntos:1)El comentario de tu profesor
(Puntos:5, Interesante)( http://www.pedrocarrasco.net/ )
Horas extras
Está demostrado en XP que trabajar más horas de las que te pagan por contrato (40 en nuestro caso), baja el rendimiento y la calidad del producto final. De todos modos, el tener que hacer horas extras se suele deber a dos cosas:
- O tu jefe se baja los pantalones ante el cliente. Esto es problema de tu jefe, por lo que tendrá que pagarlo él.
- O el analista se ha ido de varas al planificar (típico en planificaciones a largo plazo o de proyectos completos). Lo mismo, el problema es del analista, por lo que lo tendrá que pagar él.
En ambos casos, la culpa no es del programador por lo que no tendría que hacer las horas extras y como mínimo se las tendrían que pagar. Aún así, una de las premisas de XP es planificar los hitos a muy corto plazo (dos días como máximo es un buen punto de partida) e ir haciendo entregas de estos hitos.
Por ejemplo, en el sistema de control de vuelo que comentan más abajo: tú puedes diseñar un sistema de control de vuelo sin problemas, símplemente haces como entregable algo que tenga la funcionalidad mínima exigida. Luego lo puedes ir ampliando. Hay muchos proyectos grandes que demuestran que XP es una metodología a tener en cuenta (aunque no la única ni es la piedra filosofal).
Gurús programadores
Hoy en día un gurú en una empresa es más una carga que algo útil. Hay muchísima gente que sabe programar y para la mayoría de los proyectos sirve más un buen equipo de trabajo que un gurú que nadie sabe lo que hace y que si se va de la empresa te deja en pelotas.
Aún así, personalmente no creo en los gurús, puede que hace unos años tuviesen sentido, pero hoy en día pienso que en un equipo de trabajo hacen más daño que otra cosa. Prefiero a buenos programadores, ingenieros, etc. que al genio de la informática.
No sé cómo es el modelo de programación en Tailandia, pero te puedo asegurar que una buena metodología bien aplicada puede garantizarte el éxito del proyecto. No hablo de XP, hay varias metodologías, hay que saber elegir en función del tipo de proyecto y el equipo de desarrollo que tengas. El problema que veo en los proyectos de informática es que se suele pasar de metodologías y suelen empezar a saco, lo que suele augurar un fracaso económico del mismo (proyectos que se van de tiempos, producto final distinto del ofertado e incluso cancelación de proyectos), en este tipo de proyectos, XP te puede ser útil.
Salu2
Derfel
"De las cosas que se pueden hacer con un ordenador, la más inútil es la más divertida"
Mmmm
(Puntos:3, Divertido)( http://barrapunto.com/ )
Si! Porque somos europa ¬¬, antes no lo eramos???
Mi experiencia con extreme programming
(Puntos:3, Informativo)Abstracción y Herramientas de generacion de código
(Puntos:1)( http://barrapunto.com/ )
También te convendría nombrar herramientas de generacion de código, ya sea Anotations, XDoclet etc.
Desde que llevo usando XDoclet para configurar las aplicaciones en las que voy trabajando ahorro mucho tiempo de configuración y deploy, ademas de tener en el mismo código de una clase u objeto cómo está configurado, o mediante anotations cómo se crean los pojo's o beans clásicos que necesita.
Dos ruedas son suficientes. Cuatro, redundancia.
¿Horas extra?
(Puntos:2)( http://barrapunto.com/ )
Quizá tu profesor hace mucho que no trabaja en el sector, porque si no sabría que lo normal es hacer (muchas) horas extra gratuitas.
F. de la O.
A mi me parece un poco demasiado "Extremo"
(Puntos:3, Interesante)He de reconocer que algunas de las "reglas" del XP son buenas ideas, aunque otras son bastante raras:
- Mantener a todos los programadores en la misma sala... Está muy bien para equipos pequeños, pero para un equipo mediano-grande...
- No hay documentación en papel, el código es documentación suficiente. Mientras tanto también se intenta minimizar el número de comentarios intentando la claridad del código... Creo que un mínimo de documentación siempre es necesario por muy bien que esté el código. De hecho, en ocasiones me pierdo mirando mi propio codigo fuente cuando el número de clases es muy elevado, dado que, en ocasiones, a pesar de seguir un "estándar" de nombres de clase y paquetes que de información sobre su contenido... la memoria es finita. Teniendo en cuenta que los grupos "rotan" cada cierto tiempo esto puede llevar a mucha duplicación de código, código redundante.
- K.I.S.S. extremo. Mantenerlo simple es una cosa, no crear una "base" y "picar" el código directamente sin un mínimo de planificación y refactorizar como un loco es una muy diferente.
Existen muchos más "postulados" que son demasiado "extremos" y que, en caso de ser el proyecto de una envergadura media-grande. Tenderán a crear un código fuente caótico e inmantenible, que cumple los objetivos puntuales del usuario en el momento de la "release", pero, como muchos de nosotros sabemos, el 80% del ciclo de vida de un proyecto es el mantenimiento, y la XP intenta acelerar el primer 20% del tiempo de vida de un proyecto en detrimento del resto.
Es posible que en un grupo veterano, donde todos siguen estándards y existe una buena comunicación y un "sentido del grupo" se cree un código y una arquitectura de calidad con XP, pero también es posible que este grupo también sea capaz de finalizar el mismo proyecto en tiempo sin una metodología tan "extrema".
Creo que la XP es aplicable en ciertos momentos del desarrollo, pero no de principio a fin.
Por cierto, ¿Habéis visto cómo presenta el señor Beck esta metodología? No voy a entrar en opiniones personales salvo decir que da la impresión de que se le haya subido a la cabeza.
Saludos.
Lo peor para la calidad del software
(Puntos:2, Interesante)Este tipo de programación es el que se usa simplemente para cumplir el capricho del cliente. Esta orientado a cumplir plazos irracionales de entrega de software. Y SIEMPRE acarrea un tiempo amplisimo de corrección y mejora.
Una empresa que pretenda tener BUENOS productos software JAMAS utilizará este tipo de programación. Si verdaderamente se piensa en ofrecer productos software de calidad se deberán aplicar verdaderas metodologías de desarrollo de software (CMMi, Metrica3, etc.).
Y me no me parece correcto (es mi opinion, por supuesto) que a este tipo de programación (porque no va más allá de ser una forma de progrmación) se le califique de ingenieria del software. Yo trabajo como ingeniero del software (para eso me hice mi certificación) y puedo asegurar que el XP está prohibido de igual modo que el uso de las sentencias GOTO en cualquier lenguaje de programación.
Es más el XP es totalmente una lacra para la calidad del software.
El Profesor del Mes
(Puntos:1, Divertido)Vaya profesor más cañero!! ¿Tardó mucho en hacer aquella reflexión? con lo de "...es el típico modelo de Tailandia" es que me estoy despollando. No tiene ni idea el tío, pero claro, ahi en clase es el referente de los alumnos. Seguro que no ha programado en pareja en su vida (incluso se podría quitar lo de "en pareja").
En fin, lo que hay que oir.
Opino que sí ...
(Puntos:2, Informativo)( http://barrapunto.com/ )
Mi experiencia me dice que cuando el cliente se involucra el programa se termina antes, con más calidad y con menos quebraderos de cabeza para el equipo de desarrollo.
Los proyectos que he hecho en los que el cliente no estaba presente a menudo terminaron TODOS MAL. El cliente no se acuerda de lo que te pidió (aunque firme una ERS), te cambia los requisitos (se cree que todo es poner un botón y que el resto del tiempo te estás rascando), etc.
Pero cuando el cliente está encima (que es una de las características de la XP) va todo mejor.
Sobre lo de programar en parejas es, como han dicho, para evitar la dependencia de un programador (sea gurú o no). Porque ya sabemos, pagan poco a los programadores, pero dependen mucho de ellos.
"Si alabaras al César no tendrías que comer alubias" ->"si tú comieras alubias no tendrías que alabar al César"
Jornadas de S.L. en Asturias
(Puntos:2, Informativo)( http://barrapunto.com/~ArriKi/journal | Última bitácora: Jueves, 25 Noviembre de 2010, 16:04h )
También comentaba que las horas extra no suelen ser buenas porque el cansancio podía hacer que escribieras líneas que parecían impecables un día y al día siguiente había que tirar el código.
Definía objetivos parciales con el cliente de manera que cuando estaban planificando el proyecto definían que módulos eran mas importantes, para asegurarse un mínimo de funcionalidad en caso de retraso, y cumplir las espectativas mínimas del cliente.
Los módulos se iban probando al final de cada semana, aun sin tener el producto acabado, para ir viendo porque falla la integración. Si al final un módulo fallaba, tenían casi todo el soft. desarrollado.
Decía que el principal punto flaco era, como siempre, definir el tiempo de desarrollo e implantación.
Según comentaba, la productividad había aumentado enomemente, además del tiempo de desarrollo, pues la mayor parte de los fallos les iban corrigiendo sobre la marcha.
También me decía que iban haciendo reuniones casi semanales con el cliente, cortas pero muy efectivas. Comentaba que las especificaciones se firmaban, y cada funcionalidad extra que pedía el cliente durante el desarrollo (creo que eso es inevitable) le implicaba mucho mas tiempo y algo mas de dinero, pues e un fallo del cliente que está firmado. De esta manera, al cliente le salía rentable definirlas de mano.
Yo no creo que sea mala idea, aunque no creo que sea la única manera de hacer las cosas bien. En mi opinión esta metodología es para un tipo de programador muy definido que puede encajar en estas reglas de trabajo en equipo.
De todas maneras, el principal problema sigue en el aire, definir el proyecto, aunque creo que puede resolver muchos de los pequeños problemas de programación que luego se arrastran hasta hacerse inabarcables.
_
_
Algo de teoría
(Puntos:2, Informativo)No he tenido la oportunidad de poner en práctica en un proyecto real la programación extrema, sin embargo sí que la he aplicado de forma parcial.
La programación extrema [wikipedia.org] la idearon Kent Beck, Ward Cunningham, y Ron Jeffries. Aunque también Martin Fowler [martinfowler.com] ha hecho divulgación de esta metodología. Algunas prácticas que incluye la programación extrema son el refactoring [refactoring.com] y el test-driven development [wikipedia.org].
Una idea interesante de la programación extrema es que no tiene porqué adoptarse totalmente las metodologías extremas, si no que pueden ir adoptándose según interese. En este aspecto sí que he aplicado la programación extrema, usando ampliamente tests, usando moderadamente la programación a pares, ¿quién no hace refactoring?, etc.
Algunas de las prácticas que propone son criticables, se podrían mejorar, o pueden tener efectos negativos si se aplican de una determinada forma, pero también puedo decir que algunos aspectos como los test de unidad y el refactoring han sido indiscutiblemente positivos.
Saludos.
Si eso se ha hecho toda la vida!!!
(Puntos:5, Divertido)( http://www.ayanami.es/ )
Realizar todas las chapuzas necesarias para que el código compile y funcione (al menos los 5 minutos que el profesor va a estar trasteando con tu programa).
Como no sabes muy bien ni que te piden ni como hacerlo, cada dos lineas de código compilas de nuevo a ver si sigue funcionando lo que llevas hecho.
No añades ninguna funcionalidad fuera de lo demandado por que no tienes tiempo y si lo tienes no te atreves no sea que jodas el programa.
Esa misma falta de tiempo te lleva a intercambiar los últimos dos días fragmentos de código con el resto de compañeros...
Pues vaya un invento este del eXtreme Programing, llevamos siglos practicándolo y lo llamamos "hacer una chapucilla para salir al paso". Y lo de las dos personas solo significa que mientras una trabaja la otra tiene tiempo de ir a por un café, charlar con los de alrededor y que luego te tengan que explicar que son todas esas lineas de código nuevas que no entiendes que hacen...
(que conste que no soy informático, solo un intruso en potencia).
We're hope so that people might understand each other -- Rei & Kaworu
Ninguna metodología se puede aplicar al 100%
(Puntos:3, Interesante)( http://alacantilado.blogspot.com/ )
Por ejemplo en lo de programación por parejas.
Si el ahorro en tiempos en del 20% lo que antes costaba hacer 100 horas ahora costará 80, pero tendra un coste económico de 160, porque hay que pagar a dos programadores. Eso no hay empresa que lo soporte.
Lo que si se puede hacer es trabajar uno al lado del otro y cuando uno se atasque preguntar. a mi me ha pasado un millón de veces, se acerca el compañero y dice 'quita ese punto y coma' o algo similar. Y se ahorra mucho porque la mayoría de veces siempre es un fallo obvio que nos obcecamos en no ver.
En general la XP me gusta. Pero como con todo no hay que ser integrista.
diseño
(Puntos:2)( http://eduoliveros.com/ | Última bitácora: Martes, 28 Diciembre de 2004, 21:19h )
Lo cual, en mi opinión, es un craso error...
Verdaderas basuras se pueden generar aunque se utilice una programación basada en tests (lo cual es una idea mágnífica, de hecho fundamental para poder refactorizar).
Planificación vs reacción
(Puntos:1)En la empresa que trabajo, vamos a hacer un programa de gestión muy potente para cierta gente. Llevamos muchas horas de análisis, documentación de requisitos, planificación de características, y mil cosas más. Si hubiéramos empezado a programar con un pequeño análisis previo, seguro que estaba hecha la mitad del sistema. Para colmo, da igual lo mucho que analices EL CLIENTE SIEMPRE QUIERE CAMBIOS. Prefiero mil veces basar el desarrollo en la capacidad de reacción que en la de previsión, porque el que paga a veces quiere cosas "raras". No se le puede convencer de que lo que quiere no es lo que necesita, porque quien mejor lo sabe es él. Eso sin contar las particularidades y manías de muchos clientes.
Quizá lo mejor sea proponerle al cliente un desarrollo incremental tipo XP, y que vaya pagando según se desarrolla. Se le explican las razones para hacerlo así y ya está. Se cobra cada mes, semana o lo que sea y punto.
Está claro que hacer aplicaciones megalíticas de un plumazo está al alcance de muy pocos (¿nadie?).
XP introduce algunos conceptos muy positivos
(Puntos:1)TDD (Test Driven Development): esto es FUNDAMENTAL, la idea es escribir primero el test y luego el código esto ayuda primero a diseñar porque nos ponemos en el papel del usuario de la futura clase antes de programarla y si los test son buenos evitaremos largas horas de depuración para encontrar determinados errores. La idea es: sólo esta implementado lo que esta testeado y es demostrable que funciona, si no esta testeado no esta hecho.
Integración continua: en proyectos medios/grandes tener un proceso que automaticamente integre el código ahorra muchisimo tiempo, por ejemplo se puede configurar para que se baje del control de versiones todos los días el código y lo compile a cierta hora o bien para que compile ante eventos determinados (alguien sube código). Por otra parte esto obligla indirectamente a usar un control de versiones (algo que aunque parezca increible algunos no hacen...) y además a pensar como estará estructurado y usarlo correctamente. Esto es otro punto que puede ahorrar contidades ingentes de tiempo.
Relación cercana con el cliente: Si algo es importante en un proyecto es que el cliente este integrado en el desarrollo, sino al final entraremos en un bucle de "un paso para adelante dos para atras", cuando más cortas sean las entregas y más estrecha la relación con el cliente mejor para todos (cliente y desarrallodares).
Respecto a las criticas que hace tu profesor la primera me parece una barbaridad y con el segunda en cierto modo estoy de acuero:
- la primera es absurda porque en nuestro sector nadie paga horas extras. El trabajo de desarrollar soft es un trabajo INTELECTUAL Y CREATIVO y por tanto el estado de animo de los desarrolladores influye notablemente en la calidad del software producido, un grupo de programadores cabreados por no ver a su mujer o novia y encima sin un duro no suele ser lo mejor para producir buen software.
- Más que "gurus" lo malo es que en el equipo de desarrollo se formen "islas de conocimiento", o sea que tal cosa de la aplicación sólo la conozca juanito y cuando juanito no esta y eso falla "salvense quien pueda", para esto otra de las cosas que dice XP es que los equipos de 2 deben moverse y participar en distintas areas del desarrollo de la aplicación. A mi sin embargo no me gusta demasiado lo de trabajar en equipos de dos porque considero que cada persona necesita su espacio individual para realizar su trabajo con comodidad, y como decia antes el estado de animo de los desarrolladores es parte del exito del proyecto.
En definitiva, aunque no se aplique XP tal cual si que propone una serie de cosas muy interesantes que se pueden aplicar en cualquier proyecto. Lo importante es conocer que dice cada metodologia e intentar extraer lo mejor de cada una para resolver nuestro caso particular, no creo en una métodologia unica y magnifica que sirva para todos y para cualquier tipo de proyecto.
sobre la programación en parejas
(Puntos:2, Inspirado)Mientras tanto, en el planeta Minglanillas...
(Puntos:4, Inspirado)"Eso de la programación extrema es una rebelión de los programadores, que se han montado una paja mental para defender sus intereses por encima de los del proyecto haciéndole creer al empresario y al cliente que si el equipo de desarrollo se pasa media semana haciendo el idiota las cosas van a ir mejor.
¿Qué mierda es esa de que un programador no puede hacer horas extras? ¿Cómo se atreven a decirme que un tío tecleando y otro mirando no significa un 50% de la mano de obra tocándose los cojones? ¿Es que no se pierde bastante tiempo en reuniones ya como para ahora ir haciéndolas todos los putos días? ¿Qué clase de metodología es esa que va esquivando la planificación? ¿Qué jeta es esa de cubrir los requerimientos estipulados y nada más? ¿Eso es calidad? ¿Desde cuando los obreros controlan su forma de trabajar?
Implantaré una metodología como esa cuando se decrete la Navidad permanente."
Sin ánimo de trollear, creo honestamente que, desde la perspectiva de un empresario conservador, la valoración que os comento es bastante dura de rebatir. Estoy seguro de que muchos directivos no van a permitir que la XP salga adelante: no les suena nada bien. Parece una metodología poco seria. Son postulados que no pueden defenderse fácilmente ante un Consejo de Administración.
Vamos, que mis jefes no ven porqué los métodos de la XP les vayan a aportar ventajas competitivas. Les parece una cuestión sindical. Así de claro.
Y todo es porque la XP mezcla técnicas de trabajo con condiciones laborales en un mismo discurso. Y esa no es la forma de dirigirse a un Project Manager. Al menos no en España.
¿Alguien sabe de una empresa grande con oficinas en este país que emplee XP en sus proyectos pequeños?
Yo no.
Nada nuevo
(Puntos:1)( http://barrapunto.com/ )
Es el amor al sexo sin amor lo que me guía
Programacion Xtrema = complicar mas el tema
(Puntos:1)( http://fox.desdeguate.com/ )
Si funciona...
(Puntos:1)pero para que funcione, desde el principio hay que tener en cuenta unas cuantas cosas para que el asunto no se desmadre:
1) Los proyectos necesitan de un contrato firmado antes de empezar, con requisitos que permitan verificar que el proyecto está acabado (y listo para cobrar la pasta). Es necesario que el cliente sepa, desde el primer momento, fijar ese marco de referencia: si no los proyectos con XP no acaban nunca, empiezan siendo un huevo y acaban siendo una castaña.
2) La formalización de los requisitos se hace vía User Stories. El cliente debe comprometerse, una vez acordada cada una, a no andarla cambiando de nuevo: una cosa son requisitos flexibles y otra cambiar de idea cada día.
3) Dado que no se usa una documentación de diseño medianamente formal, requiere que el grupo de trabajo sea capaz de transmitir ese conocimiento de forma oral. Es decir: no más de 10 personas y todos trabajando juntos. Pero hay muchos proyectos que requieren la colaboración de diferentes empresas, con lo que unos están trabajando aquí y otros en la conchinchina. En estos casos ojo con XP que acabará en un cristo.
4) Pruebas unitarias... Xp se suele usar para trabajar rápido, y cuando se va rápido se tiende a pasarse por el forro las pruebas unitarias. Sin pruebas unitarias el refactoring acaba irremisiblemente en un cristo. Y sin refactoring no hay XP: hay code & fix, que resulta en la KK a que estamos acostumbrados en este mundillo.
Así que... XP si, pero sabiendo lo que te traes entre manos. Si no, acaba en un cristo del 15. Vaya, como con todas las metodologías: si al final lo que hacen falta son buenos programadores, que la metodología buena para cada proyecto la acaban definiendo ellos.
Aclaraciones tardías
(Puntos:1)( Última bitácora: Martes, 30 Noviembre de 2010, 03:16h )
Quiero aclarar, como cada vez que se habla de este tema, que XP fue pensado por y para programadores Smalltalk.
Esto quiere decir que todas las personas que anteriormente dijeron "no siempre puede ser aplicado" o "no puede ser aplicado en su totalidad" tienen razón... desde el momento en que no se programa en Smalltalk.
Como decían por ahí que se la pasan modificando los test porque modifican la función, desde el vamos esta mal planteado el test. El método X del objeto Y debe devolver un objeto Z. El test debe verificar que se cumpla el requerimiento del usuario. El test cambia si el requerimiento cambia. Si después de modificar un método no se pasa el test, entonces hay que rehacer el método. ¿Quien te dice que en otra parte del código no se está esperando que el método siga funcionando como era antes?
La función de 750 líneas. ¿En ningún otro punto del programa se hace lo mismo que en algún punto de esa función? Obviamente, como dijo el que puso el comentario, es la base de su programa y no lo va a modificar. Pero si desde un principio se intenta hacer ese sistema con XP y en Smalltalk, jamás se llegaría a 750 líneas. Refactorización, unitest, se acabó el asunto.
Ciertamente las discusiones sobre XP es una de las cosas sobre las que, cuando alguien plantea el tema, más se habla sin saber, sobre todo por las personas que creen saber de lo que están hablando.
Con respecto a los jefes, horas extra, planificaciones poco acertadas, dos por máquina, ¿realmente piensan que la baja de un programador del equipo por /stress/ les sale mas barato? Justamente en proyectos largos es donde peor les va a ir si prefieren "programación tradicional" contra XP.
Pongo una firma porque a veces abuso del <br
Re:No vale para nada
(Puntos:2)( http://www.miriamruiz.es/ )
Tal vez tu opinión sobre XP no sea buena, lo respeto, de hecho hay algún punto controvertido para el empresariado que hace que les cueste mucho aceptar una metodología así (como por ejemplo el tema del trabajo en parejas). Asímismo no es una metodología que se pueda aplicar a todo tipo de proyecto de forma universal, en mi opinión.
En todo caso, no me parece correcto que digas que en ninguna parte porque no es cierto.
Re:No vale para nada
(Puntos:1)Naturalmente...
(Puntos:5, Divertido)Para andar por casa, pues lo que hacemos todos.
Sí, yo me siento a programar a menudo con el gato ayudándome. Luego cuando teclea él, le corrijo yo. Mientras, mi canario y mi perro van preparando los módulos de pruebas. Lo único que no puedo cumplir libremente es con la rotación de los grupos, porque no puedo poner al gato con el canario ni al perro con el gato, por lo demás está claro que es lo que hacemos todos para andar por casa...
Re:Pero vamos a ver
(Puntos:1)Re:Pregunta tonta
(Puntos:3, Informativo)La ingeniería del software es mucho más que XP, de hecho, muchos te dirían que XP no se podría llamar ingeniería.
Saludos.
Re:Y esto como se factura.
(Puntos:1, Informativo)( http://esparver.blogspot.com/ )
Cada mes me pagas X por ir poniendo el sistema al dia (yo pongo los plazos, el cliente las prioridades y el precio es fijo)
O bien facturo por módulos.
La primera tiene la ventaja de la continuidad, con la segunda suelo ganar más dinero -por ahora, tampoco hace tanto que hago esto-
Re:Sin h...
(Puntos:1)( http://barrapunto.com/~Yonderboy/bitacora | Última bitácora: Martes, 03 Junio de 2008, 20:02h )
"Porque las opiniones cambian, el relativista cree que cambian las verdades." --Gómez Dávila
corregido
(Puntos:1)( http://barrapunto.com/~Yonderboy/bitacora | Última bitácora: Martes, 03 Junio de 2008, 20:02h )
"Porque las opiniones cambian, el relativista cree que cambian las verdades." --Gómez Dávila
Re:Ortografía...
(Puntos:2)( http://www.davidarcos.net/ | Última bitácora: Sábado, 09 Diciembre de 2006, 15:25h )
Hic sunt trolls [davidarcos.net]