Si, como leen, Bertrand alias "Design by Contract" o "Eiffel" Meyer estará en Febrero por la Argentina, primero paseando por Buenos Aires, donde estamos trando que de una conferencia en la UTN y luego en Rio Cuarto (Cba.) para participar de la 16ª Escuela de Verano de Ciencias Informáticas.
Realmente no tengo más que decir, sino esperar con muchas ansias para que se defina la fecha (una vez que la facu abra) y repasar un poco de Eiffel que justo estabamos hablando en el laburo de comenzar a verlo, sin saber que venía Meyer... realmente es una señal.
lunes, enero 19, 2009
lunes, diciembre 15, 2008
Cerrando el año - Lo bueno
Estamos terminando el año y si bien no me gustan los balances pero tengo el blog un poco descuidado, voy a compartir mis buenos y malos momentos resumidamente.
Primero las buenas:
Primero las buenas:
- Como Padre este año siento que crecí muchísimo, ya Andrés comenzó a depender mucho más de mi y yo logre pasar muchos de los miedos de que la madre no esté. Ya dice que es hincha de All Boys (aloy), pide jugar el Futbol (ubol), juega a la play (apei), me llama a la noche cuando no se puede dormir (bue, eso no es tan bueno). Creo que lo que queda ahora en más va a ser genial, todavía tengo mucho por mejorar pero creo que estoy mucho mejor que antes.
- Tuve mi primera release como Arquitecto formalmente nombrado y se pudo cumplir con el objetivo de la versión que llevamos a producción. Realmente no fue nada fácil, mucha política, gente nueva, revisiones de arquitecturas, presentaciones a más de 50 personas de todo el mundo por teléfono, desarrolladores alrededor del mundo, etc, etc, etc a veces es muy dificil ser arquitecto y buscar el tiempo para bajar a tierra y escribirse un par de test cases, pero de vez en cuando me dí el lujo de hacerlo :)
- Ruby2Real, este año me pude dar el lujo de llevar a la realidad a Ruby, hicimos varias cosas en IBM y ya forma parte de la estrategia como para comenzar a vender servicios en dicha plataforma. Junto con Damian Garcia y Leandro Godon armamos planes de capacitación, capacitamos, creamos dos aplicaciones internas que todavía no se usan y un pequeño componente de autenticación interno que ya tiene varios downloads. La verdad que formar parte de un equipo de gente tan grosa como hay en IBM es genial.
- Uno de los aspectos que más me involucré este año fue con el aprendizaje, evangelización e implementación de las metodologías ágiles. Ya saben que hace años que vengo molestando con el tema. Ya el año pasado tuve algunas experiencias dando cursos y implementandolas en sistemas pequeños internos. Pero este año, en el proyecto que estoy como Arquitecto, pude ir un paso más in convencer al Cliente de utilizarlas, ahora estamos a puntos de darle un moñito y trabajando muy duro para tener todo listo, ya voy a postear sobre esto.
- Con respecto a las charlas que di/escuché que había propuesto a principio de año, en balance más del 70% se hicieron realidad, escuché charlas de rails, javascript, grails, etc Y tambien di charlas de continuations, ruby, rails, tdd, arquitectura, etc. Obviamente faltaron temas como earlang, SOA que ya me viene irritando un poco, pero bue.
- Creo que APIT está impecable, se mejoró mucho en varios aspectos de la materia, los últimos aportes fueron de lo mejor, Esteban Lorenzano y Santiago Blanco, creo que si seguimos reclutando los cereblos de los alumnos van a explotar. Creo que en cuanto a transmitir los conceptos de Arquitectura yo tambien he mejorado, este año también di un curso de tres días muy importante de la carrera de Arquitectos en IBM y obviamente me sirve mucho para hacer sinergia con lo que damos en la UTN.
- Comencé a tratar de stress!!! Creo que eso me permitió llegar vivo a fin de año :) Igualmente no estoy del todo bien, sigo el tratamiento que por sierto todavía tengo que llamar al doctor para coordinar la proxima sesión del MDS. Pero en conclusión pude seguir conociéndo, entender como funciona el stress (y muchas veces afectando mi salud) y pude tomar acción para evitar la parte negativa de este, haciendo deporte, saliendo más con mecha, etc, etc.
Etiquetas:
metodologias agiles,
personal,
rol del arquitecto,
ror,
ruby,
tdd
sábado, noviembre 29, 2008
Otro cuatrimestre, otro parcial
Como todos los cuatrimestres, aca está el parcial que tomamos en APIT, fue algo parecido al parcial del cuatrimestre pasado pero esta vez, utilizamos un BPM (simplificado) como base para tomar las decisiones arquitectónicas.

Obviamente el objetivo de este parcial es poder hacer pensar a los estudiantes como un arquitecto sin tener que estudiar de memoria, cosa que detesto. Está claro que fue complicado ya que con una sola clase de SOA e Integración, el BPM es uno de los conceptos más complicados.
Como pueden ver pudimos lograr unificar todos las unidades de la materia, el único tema que quedó afuera fueron las metodolgías que realmente son un punto fundamental en la materia.
Asi que comentearios, sugerencias?

Obviamente el objetivo de este parcial es poder hacer pensar a los estudiantes como un arquitecto sin tener que estudiar de memoria, cosa que detesto. Está claro que fue complicado ya que con una sola clase de SOA e Integración, el BPM es uno de los conceptos más complicados.
Como pueden ver pudimos lograr unificar todos las unidades de la materia, el único tema que quedó afuera fueron las metodolgías que realmente son un punto fundamental en la materia.
Asi que comentearios, sugerencias?
Etiquetas:
apit,
arquitectura de software,
atributos de calidad,
utn
domingo, octubre 19, 2008
TDD desde una perspectiva arquitectural
La semana pasada di una conferencia por teléfono para todos los arquitectos que trabajan para proyectos internos de IBM y que con planes de utilizar metodologías ágile y/o ya están utilizando. Fue una linda y desafiante experiencia debido a que había gente de muchas partes del mundo (USA, Francia, India, Sudamerica, etc), nunca había dado una charla técnica en inglés (sacando las presentaciones de arquitectura de la aplicación) y yo pongo un 4, creo que aprobé, pero tengo mucho que mejorar. Independientemente de esto, creo que lo más interesante que quiero comentar en el post es sobre las influencias que tiene TDD en lo arquitectural, esto es el resultado a una pequeña investigación que vengo haciendo para APIT sobre Arquitecturas y Metodologías Agiles. El contenido básicamente fue el siguiente.
Facts acerca de TDD
Como siempre digo, las decisiones arquitecturales habilitan los atributos de calidad, pero obviamente no siempre los garantizan, hay otros aspectos y decisiones que entran en juego y el arquitecto no siempre puede manejar. Pero inevitablemente, la Arquitectura es la principal responsable de garantizarlos, y como arquitectos debemos buscar las formas, y TDD es una de ellas, con lo cual considero que TDD permite lograr los siguientes atributos de calidad:
Maintainability: Siguiendo las guías de Feathers, primero haciendo fallar el test case y luego corregirlo, la mantenibilidad se vuelve un detalle, lo mismo pasa con lo simple que queda el código y con la no necesidad de perder tiempo en un debugger. No nos olvidemos del regression test aca.
Extensibility / Modifiability: Esto es básico, como excelente técnica de diseño, al tiempo de aplicarla la productividad aumenta y el código queda mucho mas simple.
Reliability: Tiene que ver con la robustez en lo que respecta a las reestructuraciones o cambios en la arquitectura, un codigo que se construyo utilizando TDD, difícilmente sea complicado de modificar a cambios inesperados
Geographic (including Localization): TDD es una excelente técnica de comunicación, para equipos distribuidos es fundamental, tener bien claro y definido cual es el comportamiento esperado, no se paga con mastercard
Time: Ya hablé de la Productividad que trae aparejada el Test First, aca hay un paper que habla de los estudios que aumenta la productividad, hasta que lo leí fue solo un feeling mio y personal, ahora se ve que está probado.
Decisiones Arquitectónicas para Soportar TDD
Ahora, como (re) diseñamos nuestra arquitectura para soportar el uso de TDD, bueno, lo encaré desde el punto de vista de "Tácticas y Principios de Diseño" y "Estilos Arquitectónicos y Diseño Estratégico":
Tácticas y Principios de Diseño
Mas allá de cosas específicas, hay estilos arquitectónicos que ayudan muchísimo al uso de TDD en aplicaciones empresariales, estos son algunos:
Quejas de otros profesionales para implementar TDD y como solucionarla
No siempre es fácil convencer el uso del TDD, hay muchas quejas que hay que afrontar, aca puse las que fui recolectando, en algún otro post voy a poner lo que dije verbalmente, así que por ahora se lo dejo a uds para que piensen :)
Project Managers
Facts acerca de TDD
- TDD se compone de, Unit Test, Test Automation, Test First y Enfoque iterativo con refactoring
- TDD es una técnica de diseño y es utilizada por Desarrolladores (Código).
- TDD incrementa la calidad en el código facilitando el cambio en el software
- TDD reduce defectos y permite tener un testeo de regresion constante
- El manejo de dependencias es la parte más dificil de TDD
Como siempre digo, las decisiones arquitecturales habilitan los atributos de calidad, pero obviamente no siempre los garantizan, hay otros aspectos y decisiones que entran en juego y el arquitecto no siempre puede manejar. Pero inevitablemente, la Arquitectura es la principal responsable de garantizarlos, y como arquitectos debemos buscar las formas, y TDD es una de ellas, con lo cual considero que TDD permite lograr los siguientes atributos de calidad:
Maintainability: Siguiendo las guías de Feathers, primero haciendo fallar el test case y luego corregirlo, la mantenibilidad se vuelve un detalle, lo mismo pasa con lo simple que queda el código y con la no necesidad de perder tiempo en un debugger. No nos olvidemos del regression test aca.
Extensibility / Modifiability: Esto es básico, como excelente técnica de diseño, al tiempo de aplicarla la productividad aumenta y el código queda mucho mas simple.
Reliability: Tiene que ver con la robustez en lo que respecta a las reestructuraciones o cambios en la arquitectura, un codigo que se construyo utilizando TDD, difícilmente sea complicado de modificar a cambios inesperados
Geographic (including Localization): TDD es una excelente técnica de comunicación, para equipos distribuidos es fundamental, tener bien claro y definido cual es el comportamiento esperado, no se paga con mastercard
Time: Ya hablé de la Productividad que trae aparejada el Test First, aca hay un paper que habla de los estudios que aumenta la productividad, hasta que lo leí fue solo un feeling mio y personal, ahora se ve que está probado.
Decisiones Arquitectónicas para Soportar TDD
Ahora, como (re) diseñamos nuestra arquitectura para soportar el uso de TDD, bueno, lo encaré desde el punto de vista de "Tácticas y Principios de Diseño" y "Estilos Arquitectónicos y Diseño Estratégico":
Tácticas y Principios de Diseño
- Separation of Concerns.
Una correcta separación de módulos, permite un mejor manejo de la complejidad y también permite el reuso del lado de los Test Cases (que no es poco) - Separación de la interface de la implementación.
Hace falta explicar esto? Bueno, principalmente es para el manejo de dependencias y el trabajo en paralelo - Design by Contract
Dos técnicas complementarias en el bajo nivel, desde un punto de vista arquitectural, definir los pre/post conditions entre módulos es básico - Informacion hiding
Previene cambios no deseados - Prevent Ripple Effects
Con 8 tipos de dependencias entre módulos, nos ayuda a no tener dependencias ocultas entre módulos, esto es muy importante, muchas veces hay modulos que dependen en variables de contexto y está oculta, TDD ayuda a evitarlo.
Mas allá de cosas específicas, hay estilos arquitectónicos que ayudan muchísimo al uso de TDD en aplicaciones empresariales, estos son algunos:
- Inversion of Control/Dependency Injection
Aca no hay nada que discutir, por excelencia permite permite el uso de TDD, sumado a esto la separación de interface de la implementación. - Hierarchical Layers
Estilo super conocido, con un modelo sencillo de dependencias, permite el coverage de una layer solo mockeando una layer inferior. Obviamente este patrón tiene cosas malas aparejadas, como la dificultad por encontrar las abstracciones y la modificabilidad. - Domain Driven Design
Un estilo muy interesante para dominios complejos, se lleva muy bien con el Dependency Injections y la Iteratividad. - Transaction Scripts
Modelo sencillo, en donde se puede lograr una completa de cada servicios a testear.
Quejas de otros profesionales para implementar TDD y como solucionarla
No siempre es fácil convencer el uso del TDD, hay muchas quejas que hay que afrontar, aca puse las que fui recolectando, en algún otro post voy a poner lo que dije verbalmente, así que por ahora se lo dejo a uds para que piensen :)
Project Managers
- Toma mucho tiempo para escribir test y termina impactando en la productividad.
- Me siento mal por dejar afuera del proyecto a Testers y gente de QA
- No me importa TDD, es una técnica de bajo nivel para programadores
- No es necesario to test drive el código, la arquitectura cubre todas las posibilidades
- Toma mucho tiempo en correr los test cases
- No es mi trabajo testear mi código
- Pero compila!
- A mi me pagan por escribir código, no para escribir tests
- Las dependencias son difíciles de manejar y toman mucho tiempo
jueves, octubre 02, 2008
Visión Visión Visión
Y si, según mechi cada 3 palabras que digo, menciono la palabra "visión"4 veces, al igual que "abstracción" o sus derivadas. En fin, son dos palabras que me sientan muy bien y creo que son básicas en los dos laburos que más me gusta hacer, "Liderar" y "Arquitecturar".
Hace un tiempo en IBM, vengo cumpliendo un nuevo rol de liderazgo desde un aspecto técnico como líder de la práctica Web (Java, .NET, Notes, etc) con implicancias en todos los proyectos que usen dichas tecnologías, y esta semana estoy teniendo una serie de reuniones con todos los profesionales, son como 80. Lo que quiero compartir en este Blog es la visión que tengo sobre la organización que quiero armar. Está claro que se aceptan críticas, insultos, etc...
Hace un tiempo en IBM, vengo cumpliendo un nuevo rol de liderazgo desde un aspecto técnico como líder de la práctica Web (Java, .NET, Notes, etc) con implicancias en todos los proyectos que usen dichas tecnologías, y esta semana estoy teniendo una serie de reuniones con todos los profesionales, son como 80. Lo que quiero compartir en este Blog es la visión que tengo sobre la organización que quiero armar. Está claro que se aceptan críticas, insultos, etc...
- Quiero convertir a Argentina en un Centro de Excelencia para IBM de todo el mundo en lo que el desarrollo Web respecta. Le explico el contexto, IBM tiene 8 centros de desarrollo globales, uno de ellos es Argentina, y un poco la idea es de que cada uno se especialice en una o más plataformas como para que cualquier IBM mundial (USA, España, Francia, etc) pueda requerir servicios de desarrollo de software y poder particionar de acuerdo a la especialidad. Con lo cual si Argentina se especializa en Web, cualquier proyecto que IBM (en todo el mundo) venda a sus clientes, Argentina sería el principal referente, esto posibilidad tener una estructura paralela de investigación, innovación y generación de conocimientos financiada por IBM Mundial que podría ser más que interesaante. Osea un area de investigación para la generación de metodologías, frameworks, componentes, buenas prácticas, etc que permitirían diferenciarse en calidad y en productividad. Está claro que Argentina está muy bien parado en cuando a skills en RIA (JS/AJAX o FLEX) creo que por ahi debería venir la mano.
- Quiero formar una "Organización que Aprende", obviamente focalizándome en los profesionales que la componen. No quiero hacer un post sobre esto, pero realmente estoy muy alineado con la idea de Peter Sengue, y sus 5 disciplinas. Sobre todo en el desarrollo de software que es una actividad que depende 80&% en la gente y 20 en vaya a saber quien. No concibo pensar en una organización con gente que realice tareas automáticas, prefiero tener menos personas y más programas. La capacidad y los procesos de selección de personal son claves, y realmente no importa el volumen sino la calidad de los profesionales.
- Quiero fomentar el Ease @ Work. La idea es buscar un ambiente confortable de trabajo para generar los resultados deseados. No quiero perjuicios, quiero que los profesionales se sientan libres de hablar, sin perjuicios, sin pensar en el "que diran" cuando expresamos nuestras ideas. Es fundamental intentar concebir un ambiente de trabajo que fomente la creatividad, soy un apasionado de eso, cuando uno se siente confortable, sabiendo que solo se tiene que preocupar de su trabajo y los objetivos del equipo las posibilidades de fracasos son mínimas, como así tambien la capacidad de innovar es infita. Este es un concepto que vengo ideando y fue llevado a la practiva por Kent Beck, please google it.
- Sigo insistiendo, el diferenciador de Argentina es la Calidad, y no el Costo. No podemos depender en la economía con picos tan bajos cada 10 años. Lamentablemente es asi, el costo es una variable ajena al software y la tenemos que dejar fluctuar, nunca depender del costo. Tenemos que focalizarnos en vender soluciones/servicios que dependan totalmente en la calidad, y que generen un valor agregado al negocio. Si logramos brindar servicios con calidad, vamos a ser siempre una potencia en el desarrollo de software, pero si solo pensamos en la paridad cambiaria, es muy "cortoplacista", hay que entender que por más que pensemos en el cambio, la inflación termina impactando tambien.
- Y por último, el 5to item de visión que tengo para mi organización es en la innovación constante. La innovación a esta altura no se discute, obviamente esto es un cambio de mentalidad y dejar de pensar un poco en el corto plazo, pero esta claro que los proyectos son finitos y siempre se piensa a corto plazo, y es por eso que quiero pensar en formas de fomentar la innovación y que eso sirva como retroalimentación a los proyectos.
Etiquetas:
ibm,
liderazgo,
metodologias agiles,
offshoring,
rol del arquitecto
lunes, septiembre 29, 2008
Empezando mal...
Me parece que tengo que tomarme unas vacaciones, relato los hechos...
1) Salgo de casa 7:45 rumbo al garaje, obvio que me mojo.... y me doy cuenta que me faltaron los papeles del auto, vuelvo, los agarro... tipo precavido (y mojado) tomo un paraguas que no tenía.
2) Salgo, no llueve más.... me subo al auto, y escucho quejas José (del estacionamiento) que la lluvia es todo culpa mía, que como lavo el auto cada tres meses siempre llueve, y si... lo lavé el sábado y era lógico que llueva, yo me lo busqué.
3) El tema es que salgo, en plaza serrano escucho un ruido feo así que vuelvo (exactamente di una vuelta manzana) y me voy al mecánico a 4 cuadras de casa, uno nuevo recomendado por el mismo José que se me quejó minutos atrás, y lo dejo ahí, no hay peor sensación que la que te deja un nuevo mecánico, por lo menos esta vez viene recomendado
4) Vuelvo cabizbajo para casa, mitad del camino y se vuelve a largar a llover (esta vez mal) y obvio el paraguas había quedado en el auto.
En fin, para que me levanté!!!! espero que la semana cambie, quien lea este post le pido por favor que me trate bien.
1) Salgo de casa 7:45 rumbo al garaje, obvio que me mojo.... y me doy cuenta que me faltaron los papeles del auto, vuelvo, los agarro... tipo precavido (y mojado) tomo un paraguas que no tenía.
2) Salgo, no llueve más.... me subo al auto, y escucho quejas José (del estacionamiento) que la lluvia es todo culpa mía, que como lavo el auto cada tres meses siempre llueve, y si... lo lavé el sábado y era lógico que llueva, yo me lo busqué.
3) El tema es que salgo, en plaza serrano escucho un ruido feo así que vuelvo (exactamente di una vuelta manzana) y me voy al mecánico a 4 cuadras de casa, uno nuevo recomendado por el mismo José que se me quejó minutos atrás, y lo dejo ahí, no hay peor sensación que la que te deja un nuevo mecánico, por lo menos esta vez viene recomendado
4) Vuelvo cabizbajo para casa, mitad del camino y se vuelve a largar a llover (esta vez mal) y obvio el paraguas había quedado en el auto.
En fin, para que me levanté!!!! espero que la semana cambie, quien lea este post le pido por favor que me trate bien.
domingo, septiembre 28, 2008
Salimos el Jueves ? - PAMPA YAKUZA

El jueves pasado finalmente pude ir al último recital del ciclo, "Salimos el Jueves?" de la gran banda Pampa Yakuza. Realmente no puedo explicar las sensaciones que tuve en este recital 1 hora y media, fue realmente increible, si bien no puedo tener una opinión objetiva desde el punto de vista "musical" aunque podría decir que cada nota, de cada instrumento que salió desde el escenario lo pude sentir, como toda la gente (bastante) que estaba ahí.
Si tendría que decir cuales fueron los mejores mis mejores 5 recitales de mi vida, indiscutidamente los dos recitales de pampa están ahí, no hay discusión... los que faltan creo que sería uno de Los Fabulosos y Los Cafres gratuito que fue en Pampa y Figueroa Alcorta, en los Bs As Vivo que hacía chupete un par de años atrás o cuando Bersuit hizo su presentación de Libertinaje en mi querido club de Floresta (recuerdo atener la barra del recital con 17 años...) y uno de los piojos en el Pepsi del 06' creo.
Si realmente tienen ganas de escuchar una banda nueva, yo se las recomiendo... desde mi punto de vista tiene una onda may parecida a Bersuit, sumandole Reggae y bastante percusión es una banda puramente Argentina 100 x 100, se los aseguro no los va a desfraudar. El disco Orillas es el que más me gusta y el tema "Contra las cuerdas", con el que abrieron el jueves la rompe y podría decir que es el que más me gusta.
Aca les dejo un par de links para que escuchen temas, fotos, etc:
http://www.purevolume.com/pampayakuza
http://www.myspace.com/pampayakuza
http://www.fotolog.com/pampayakuza
http://es.youtube.com/pampayakuzavideos
Etiquetas:
musica,
pampayakuza,
personal
lunes, septiembre 01, 2008
Esto es poesia - FEST Fluent Assertions Module
Si bien, cada día que me voy acercando a Ruby, Java me da más bronca, todavía creo mantener cierta objetividad como para ver cosas copadas que se van logrando en Java, y este es el caso de FEST Fluent Assertions Module, si bien no le llega ni a los talones a BDD, creo que se merecen un aplauso:

Ya lo había visto hace unos años, gracias a Java Lobby y me gustó bastante. Ahora en ASIT ya hace unos meses Gaby Benmergui, uno de mis nerds preferidos de IBM lo está utilizándolo con TestNG, espero ver sus frutos.
Ya lo había visto hace unos años, gracias a Java Lobby y me gustó bastante. Ahora en ASIT ya hace unos meses Gaby Benmergui, uno de mis nerds preferidos de IBM lo está utilizándolo con TestNG, espero ver sus frutos.
domingo, agosto 31, 2008
Me casé con una nerd - Segunda Entrega
Si bien tengo muchos hechos que lo demuestran, voy entregando de a poco....
Este es un chat que tenía por el Sametime con Mecha, obviamente junto con otros 20 y una call de por medio, aca se la ve enojada por que no le contesto o no la endiendo (vaya a saber que).

Eso si, se nota que está estudiando para Sistemas Operativos :)
Este es un chat que tenía por el Sametime con Mecha, obviamente junto con otros 20 y una call de por medio, aca se la ve enojada por que no le contesto o no la endiendo (vaya a saber que).
Eso si, se nota que está estudiando para Sistemas Operativos :)
Etiquetas:
comico,
Me casé con una nerd,
personal,
utn
lunes, agosto 25, 2008
Estimaciones de Software, algunos pensamientos
Ahora que se me rompió la laptop de IBM, tengo un tiempito libre setupeando mi laptop personal (una Dell Latitud D610, viejita pero se la banca) hasta que el soporte técnico se digne a arreglarla. Quería de hablar de un tema bastante heavy del software y siempre trae lindas discusiones en la materia.
El Viernes, con Esteban Lorenzano, antes de dar la charla en Cafelug, nos colgamos hablando del tema y vimos que hay dos cosas totalmente equivocadas o mitos sobre las estimaciones que no estamos de acuerdo para nada, y son:
El Viernes, con Esteban Lorenzano, antes de dar la charla en Cafelug, nos colgamos hablando del tema y vimos que hay dos cosas totalmente equivocadas o mitos sobre las estimaciones que no estamos de acuerdo para nada, y son:
- Querer establecer un modelo matemático para poder justificar un metodo de estimación. Si bien sería algo ideal, es algo imposible (desde nuestro punto de vista) y principalmente por que la unidad de trabajo (ya sea, LoC, UCP, FP, CocomoFuckingFactors) es inmedible, recuerden que la construcción de software es un proceso creativo y no repetible!!! y no solo eso las personas importan y no hay proceso que pueda hacer repetible ninguna tarea de construcción de software.
- Los profesionales del software no entienden que quiere decir una Estimación. No quieren entender que es un Pronóstico, una simple (o compleja, de acuerdo a que método uses) predicción del esfuerzo (tiempo, costo y scope) que puede tomar la construcción. Nunca debe tomarse como un hecho, ni tampoco se puede planificar detalladamente y menos que menos controlar en base a una planificación errónea asumiendo estimación... o sea, todo mal. Con lo cual, tomemos el resultado de una estimación como debe ser, algo que nos permita tener una idea y tengamos en cuenta que es errónea desde un principio.
- Separar lo que es un restricción del negocio (para cuando se quiere el software) de una estimación de esfuerzos, son cosas diferentes... no hay que confundirlas.
- Muchas veces, la estimación es un problema de ineptitud del Equipo que la ejecuta el proyecto. Esto puede ser por falta de comunicación de la estimación y los fundamentos de esa estimación, falta de recursos en tiempo, mal manejo de requerimientos, etc, etc.
- Hay que tener muy en cuenta el nivel de in/certidumbre por falta de información u otros temas, y eso no solo se mitiga agregando más tiempo a la estimación, sino poniendo el % de desvío correspondiente.
- Tener en cuenta que el software es algo creativo y depende muuuuuuucho de las personas, y aca se te va la estimación a la mierda, aca es donde hay que estimar "constantemente" por cada iteración para generar un compromiso del team para lograr algo, y eso va ajustando el estimación original que nunca es precisa.
- Segun McConnel, (opino lo mismo) siempre está mejor sobre estimar que estimar menos de lo que es, ya que estar siempre atras de lo que se estimó genera más ruido, más comunicación, mas reuniones de tracking, mal ambiente que sigue atrasando el proyecto... pero obviamente hay que tener cuidado con la ley de parkinson.
- No solo se estima tiempo, sino que se estima esfuerzo y costo, ojo aca
- Las factores son un excelente medio de ir perfeccionando una estimación, pero cuidado con los pesos que se le ponen a dichos factores por que pueden ser comienzo del problema, creo que definir una serie de factores que ajusten la estimación es correcto (no más de 10/15) ya después entra la subjetividad.
- Está claro que Wideband Delphi es el método que puede tener mejores resultados, pero es muy costoso hacerlo. Y lo que te queda es irte a las estadísticas de la organización para buscar proyectos similares, con tecnologías iguales y dominios similares.
Que lindo sería una materia de esto, no? Aunque prefiero antes que la gente aprenda a construir software como la gente, luego aprender a estimar, asi que todavía tenemos un largo camino que transitar.
Etiquetas:
apit,
estimaciones,
rol del arquitecto
domingo, agosto 24, 2008
Que cosas no ayudan al TDD - Revisited
La semana pasada encontré una herramienta muy interesante que mide la testeabilidad de un programa Java y me pareció muy interesante desde el punto de vista arquitectural y seguramente fue esta la que me hizo pensar que evitar a la hora del TDD que dió origen al post anterior. Todavía no la probé, pero en breve seguramente la incluya a mi lista de herramientas que ayudan a sacar métricas interesantes para un arquitectos sobre el código (buen título para un post).
Bueno, la idea de este post era la de contar que el autor (Miško Hevery) de la herramienta tiene un blog super interesante y ya hizo el post un poco más completo que el mio y lo que agregó Pablo (BTW Gracias!).
Me cayó muy bien el tipo de posts, evidentemente odia más el Singleton que yo :)
Bueno era eso, el post van a encontrar otras cosas que no ayudan.
Bueno, la idea de este post era la de contar que el autor (Miško Hevery) de la herramienta tiene un blog super interesante y ya hizo el post un poco más completo que el mio y lo que agregó Pablo (BTW Gracias!).
Me cayó muy bien el tipo de posts, evidentemente odia más el Singleton que yo :)
Bueno era eso, el post van a encontrar otras cosas que no ayudan.
Etiquetas:
design,
rol del arquitecto,
tdd
jueves, agosto 21, 2008
Que cosas no ayudan al TDD
Hoy tuve un viaje bastante pesadito de MDQ a BA, 8 horitas, se rompió el auto, llegamos BA a las 19 (o sea todos volviendo del trabajo) y que se yo... en fin estuve pensando en que cosas molestan y mucho al la hora hacer TDD, obviamente tienen más que ver con el el buen diseño y la programación también, estas fueron mis ideas:
Métodos Estáticos
Esta es una de las cosas que más me molesta y sobre todo se vuelve un problema cuando los desarrolladores no utilizan los conceptos de OO y siguen trabajando o pensando en Estructurado. Los métodos estáticos son una mala práctica, realmente no justifico su utilización. Para los que no los notaron, los métodos estáticos son un problema a la hora de querer modificar su comportamiento para poder ejecutar cierto escenario del comportamiento unitesteado, existe varias técnicas para poder evitarlos.
Singletons.
Hay algo para decir aca? Realmente yo a los Singleton los veo como un Anti Pattern, raramente justifico el uso. No solo son dificiles de mokear sino que tambien son muy complicados para unitestear, siempre tenes que caer en agregar un método solo para la hora del testeo.
Service Locators
Piensen lo siguiente, como se implementa un Service Locator, Singleton + Métodos Estáticos, o sea que más puedo decir :) y si, algo más tengo para decir, si bien está claro que IoC es muy superior en terminos de manejo de dependencia y el 60% de los problemas del TDD tienen que ver con el manejo de dependencias, la implementación incorrecta de un Service Locator puede obligarte a no testear absolutamente nada de tu código. Está claro que si se implementa correctamente (no métodos estaticos y no singleton) puede no ser tan malo en terminos de TDD, igualmente dudo que decida utilizar TDD utilice un Service Locator en vez de IoC y DI.
Hasta aquí son las tres cosas que más podrían molestar o en algunos casos fracasar el uso de TDD, y ahora que estoy terminando el post veo que todos tienen que ver con el manejo de la dependencia de objetos... en conclusión, si queres usar TDD y tenes posibilidades de tomar decisiones sobre como se está construyendo un sistema, sinceramente te recomiendo que evites estas tres cosas y trates de focalizarte en como vas a hacer el manejo de dependencias, no estoy diciendo que tengas que usar si o si un IoC framework (cosa que tiene mucha onda en muchos casos) pero si que lo tengas muy en cuenta.
Está claro que lo que acabo de decir puedo asegurar que aplica principalmente con java, todavía quiero ver que pasa con lenguajes dinámicos como Ruby o Smalltalk, creo que no debería cambiar mucho, pero por algo DI no es algo que se usa en Smalltalk, quizá sea o por que son cerrados o realmente no lo necesitan por las características del lenguaje. Es una charla que me debo con Esteban Lorenzano, siempre que intenté tenerla nos fuimos por la tangente. En el caso de Ruby, lo poco que hice la injección de dependencia fue bastante sucia redefiniendo en runtime el comportamiento de las clases, cosa que no está del todo mal, pero prefiero el DI.
Métodos Estáticos
Esta es una de las cosas que más me molesta y sobre todo se vuelve un problema cuando los desarrolladores no utilizan los conceptos de OO y siguen trabajando o pensando en Estructurado. Los métodos estáticos son una mala práctica, realmente no justifico su utilización. Para los que no los notaron, los métodos estáticos son un problema a la hora de querer modificar su comportamiento para poder ejecutar cierto escenario del comportamiento unitesteado, existe varias técnicas para poder evitarlos.
Singletons.
Hay algo para decir aca? Realmente yo a los Singleton los veo como un Anti Pattern, raramente justifico el uso. No solo son dificiles de mokear sino que tambien son muy complicados para unitestear, siempre tenes que caer en agregar un método solo para la hora del testeo.
Service Locators
Piensen lo siguiente, como se implementa un Service Locator, Singleton + Métodos Estáticos, o sea que más puedo decir :) y si, algo más tengo para decir, si bien está claro que IoC es muy superior en terminos de manejo de dependencia y el 60% de los problemas del TDD tienen que ver con el manejo de dependencias, la implementación incorrecta de un Service Locator puede obligarte a no testear absolutamente nada de tu código. Está claro que si se implementa correctamente (no métodos estaticos y no singleton) puede no ser tan malo en terminos de TDD, igualmente dudo que decida utilizar TDD utilice un Service Locator en vez de IoC y DI.
Hasta aquí son las tres cosas que más podrían molestar o en algunos casos fracasar el uso de TDD, y ahora que estoy terminando el post veo que todos tienen que ver con el manejo de la dependencia de objetos... en conclusión, si queres usar TDD y tenes posibilidades de tomar decisiones sobre como se está construyendo un sistema, sinceramente te recomiendo que evites estas tres cosas y trates de focalizarte en como vas a hacer el manejo de dependencias, no estoy diciendo que tengas que usar si o si un IoC framework (cosa que tiene mucha onda en muchos casos) pero si que lo tengas muy en cuenta.
Está claro que lo que acabo de decir puedo asegurar que aplica principalmente con java, todavía quiero ver que pasa con lenguajes dinámicos como Ruby o Smalltalk, creo que no debería cambiar mucho, pero por algo DI no es algo que se usa en Smalltalk, quizá sea o por que son cerrados o realmente no lo necesitan por las características del lenguaje. Es una charla que me debo con Esteban Lorenzano, siempre que intenté tenerla nos fuimos por la tangente. En el caso de Ruby, lo poco que hice la injección de dependencia fue bastante sucia redefiniendo en runtime el comportamiento de las clases, cosa que no está del todo mal, pero prefiero el DI.
Etiquetas:
design,
inversion of control,
rol del arquitecto,
ruby,
tdd
miércoles, agosto 20, 2008
Cruzando Fronteras - Jornadas Regionales del CafeLug
Este viernes, con Esteban Lorenzano, vamos a dar nuevamente la charla "Cruzando Fronteras", si, la misma que dimos en el Snoop Update 08' y que? :) Pero esta vez con los amigos del Cafelug en el contexto de las Jornadas Regionales 2008.
Esta es la descripción de la charla para los que nos quieran venir a pelear, insultar, hablar bien de Java o SOA, estamos dispuestos a dar combate.
Título: Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applications (Rails y Seaside)
Tiempo estimado de duración: 1 hora
Día, Hora y Lugar: 22 de Agosto, a las 16hs. Universidad de Belgrano, Zabala 1837, Capital Federal
Inscripción: El evento es gratuito pero Inscripción Obligatoria.
Breve descripción de la charla: Cruzando Fronteras, es el resultado de una investigación que intenta analizar el estado actual del arte, en lo que al desarrollo de aplicaciones webdentro de las organizaciones respecta, principalmente en plataformas como Java y .NET, y enfatizar en la crisis que se está viviendo y como respuestas revolucionares en otras plataformas como Ruby y Seaside están ayudando a cambiar y mejorar las arquitecturas actuales de las Aplicaciones Web
Presentación: http://www.slideshare.net/EstebanLM/cruzando-fronteras-respuestas-revolucionarias-a-la-crisis-de-las-webapplications-rails-y-seaside-359454?src=embed
Los espero, creo que esta vez es la última reutilización de la muy interesante investigación que hicimos, no intenta enseñar nada de RoR (que hace mucho que no codeo nada) ni de Seaside, solo compartir unas conclusiones de como creemos que puede venir la mano respecto al desarrollo de aplicaciones web.
Esta es la descripción de la charla para los que nos quieran venir a pelear, insultar, hablar bien de Java o SOA, estamos dispuestos a dar combate.
Título: Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applications (Rails y Seaside)
Tiempo estimado de duración: 1 hora
Día, Hora y Lugar: 22 de Agosto, a las 16hs. Universidad de Belgrano, Zabala 1837, Capital Federal
Inscripción: El evento es gratuito pero Inscripción Obligatoria.
Breve descripción de la charla: Cruzando Fronteras, es el resultado de una investigación que intenta analizar el estado actual del arte, en lo que al desarrollo de aplicaciones webdentro de las organizaciones respecta, principalmente en plataformas como Java y .NET, y enfatizar en la crisis que se está viviendo y como respuestas revolucionares en otras plataformas como Ruby y Seaside están ayudando a cambiar y mejorar las arquitecturas actuales de las Aplicaciones Web
Presentación: http://www.slideshare.net/
Los espero, creo que esta vez es la última reutilización de la muy interesante investigación que hicimos, no intenta enseñar nada de RoR (que hace mucho que no codeo nada) ni de Seaside, solo compartir unas conclusiones de como creemos que puede venir la mano respecto al desarrollo de aplicaciones web.
Etiquetas:
conferencias,
ror,
ruby,
seaside
martes, julio 15, 2008
All Boys Campeon!!!! Esta vez me toco festejar desde EEUU
Este es un post un poco tarde, pero no quería dejar de publicarlo ya que muchos de uds saben que sos hincha del Club Atlético All Boys, Floresta, Argentina... y durante mi estadía en EEUU salió campeón de la Primera B frente a los amargos de Atlanta y en su cancha con un par de fechas adelantadas, en fin, algo parecido a lo que pasó en 1993 cuando le ganamos a Defensores de Belgrano en la cancha de Ferro, aquella vez salimos campeones en la última fecha del torneo. Recordando aquella vez se me pone la piel de gallina, ver lagrimear a mi viejo (cosa que nunca en mi vida vi), volver caminando desde Caballito hasta Floresta para dar la vuelta olímpica con mi viejo y mi mejor amigo de aquel entonces (el tanito). En fin, esta vez no lo pude hacer, pero estuvo mi hermana Bárbara con mi viejo en mi representación :=)
Aca les dejo unas fotos en USA festejando a mi manera...
Aca les dejo unas fotos en USA festejando a mi manera...
sábado, julio 05, 2008
Parcial de Arquitectura (APIT) esta vez le tocó al Broker
El martes pasado tomamos el parcial de la materia. A diferencias de casi todas las materias de la UTN, nuestro parcial apunta a que los alumnos piensen como Arquitectos dada ciertas restricciones y puedan tomar las decisiones justificando correctamente, realmente cada una de las pregunta tiene infinitas respuestas como así también sus justificaciones. Estamos muy conformes (al igual que los alumnos de años anteriores) con esta metodología, ya que estudies lo que estudies, si no conceptualizaron los elementos de la Arquitectura de Software que enseñamos en la materia, es dificil que aprueben, es más permitimos apuntes, presentas... o sea carpeta abierta que realmente no sirve para mucho si no estás dispuesto a pensar.
Aca les dejo una copia y ojala yo hubiese tenido más parciales de estos en aquellos años felices como estudiante :)

Voy a ver si a lo largo del finde escribo algunas respuestas que podrían haber sido correctas :) todavía estoy corrigiendo los parciales.
Aca les dejo una copia y ojala yo hubiese tenido más parciales de estos en aquellos años felices como estudiante :)

Voy a ver si a lo largo del finde escribo algunas respuestas que podrían haber sido correctas :) todavía estoy corrigiendo los parciales.
Etiquetas:
apit,
arquitectura de software,
broker,
rol del arquitecto,
utn
domingo, junio 29, 2008
Dave Matthews Band en Argentina?
Todavía no puedo creer lo que estoy escribiendo, pero hace tres semanas que lo vengo escuchando de parte de mi mejor amigo (Fede), un par de veces en la R&P, un par de foros y en dbmla.com... todavía no quiero ilusionarme, pero parece bastante real, asi que tenemos que ir preparándonos, estoy seguro que no soy el único fana, pero si hay otro que lea este blog tan poco actualizado, cual son tus canciones favoritas? las mías serían (de dificil y rápida elección) son:
Aca les dejo otras referencias:
http://www.dmbla.com/
http://www.dmbfans.com.ar/forum/viewtopic.php?f=3&t=3&st=0&sk=t&sd=a
- Crush
- Grace is Gone
- Say Goodbay
- So Right
- The best of what's around
Aca les dejo otras referencias:
http://www.dmbla.com/
http://www.dmbfans.com.ar/forum/viewtopic.php?f=3&t=3&st=0&sk=t&sd=a
jueves, mayo 22, 2008
Assus EEE PC 4G
Luego de una recomendacion de Damian Garcia, le compre a mi mama la TripeE en NY, USA. La verdad que para lo que da la maquina tiene un precio espectacular que van de 299 a 399.
La que compré fue la 4G Surf, o sea, 4 GB, 512 de RAM, WinXP y WebCAM.
Por el momento puedo decir que esta espectcular, llevo poco tiempo usando y ya se la tengo que dar a mi vieja.
La que compré fue la 4G Surf, o sea, 4 GB, 512 de RAM, WinXP y WebCAM.
Por el momento puedo decir que esta espectcular, llevo poco tiempo usando y ya se la tengo que dar a mi vieja.
Las cosas que me encantaron fueron
- Bootea en no mas de 25 segundos
- Extremadamente compacta y liviana, me encantaria tenerla como para llevarla a lugares y no estar incomodo.
- Le Web CAM tiene una muy buena resolucion.
- Provee salida SVGA, 3 USBs y posibilidad de meterle sticks de memoria SD y MMC (esto la rompe)
- El LCD es bastante bueno
viernes, mayo 16, 2008
Comida Internacional
Un de las cosas que tengo que destacar de este viaje, fue que estuve bastante abierto a probar nuevas comidas y platos, como que a mi me cuesta mucho... pero la verdad que no podía comer todos los días Hamburguesas con Panceta y Queso :)
Antes de este viaje pensaba que aca solo que comía eso, solo fafud (fastfood) pero no, realmente estoy sorprendido como las diferentes culturas fueron ganando terreno en el ambito de la gastronomía, aca voy a describir algunas comidas que recuerdo y su origen...
Antes de este viaje pensaba que aca solo que comía eso, solo fafud (fastfood) pero no, realmente estoy sorprendido como las diferentes culturas fueron ganando terreno en el ambito de la gastronomía, aca voy a describir algunas comidas que recuerdo y su origen...
- Comida China Americanizada en P.F. Chang's Bistro, fue la primer noche que salimos con los compañeros del team y nos llevaron a este lugar. La verdad que la atención fue excelente y la comida bastante buena, comí unos pedacitos de carne bien cocida y super picante con con arroz que me gustó, punto. El puntaje que le voy a dar van a ser 7 Breys.
- Comida Italiana en Magiano's, aca fue una invitación de IBM, fuimos como 25, aca la verdad que la comida fue buena. He comida mejores lasañas, milanesas de mozzarella y ravioles. Lo bueno fue que conocimos más al team de USA. Le doy 4 Breys. En Argentina tenemos muuuuuucho mejor comida italiana (por que será? ajjaj).
- Otro día nos fuimos con Anand (que es de India y vive hace 20 años en USA) y Ronni (es de Indonesia y vive en Singapore) a un restoran Indio de comida del Norte de India. La verdad que quedé alusinado, nunca comí tan bien, una entrada más que interesante y luego unos platos para compartir de Camaorones, Cordero y otro de Pollo, los tres con diferentes salsas muy picantes, como los comías con Pan, el picante no te mataba. La gente de india tiene como tradición, solo comer con una mano, sin cubiertos, con lo cual todo lo levantabas con el pan en tu plato. Tambien se acompañaba con arroz blanco. Aca está la descripción de lo que comimos, me la pasó Anand por chat en ingles. "chicken tikka masala (chicken in spiced tomato sauce), lamb vindaloo (lamb curry in spiced sauce with potatoes) and crab masala (crab meat in spiced creamy sauce); Dessert platter had: gulab jamun (deep fried balls of dough soaked in sugar syrup) and kheer (rice pudding with cardamom flavoring plus cashews/raisins in it)". Le voy a dar 10 Breys.
- Los Viernes, la gente de IBM, suele ir a un lugar tipo "Buffet" o tenedor libre en criollo, llamado Con-Fusion. Básicamente es comida de Japon, Korea y China. A mi me gustó, comí diferentes tipos de pollo y nuddles. Le doy 6 Breys.
- Lo que tambien nos cansamos fue de comer Burritos y Tacos, comida mexicana por todos lados y la verdad que muy rica. Creo que la que más me gustó fue la de la cafetería de IBM. Le doy 8 Breys.
- Ayer fuimos despues de hacer unas compras, terminamos comiendo en un lugar de comida armenia. 6 Breys.
- Y hoy, la gente de IBM Raleigh, nos invitaron a comer comida Griega a ,comí unos Kabos con unas ensaladas, una de ellas muy fuertes que ni la pude poner cerca de mi boca, la otra era arroz con porotos y cebolla salteada, un manjar. Le vamos a dar tambien 7 Breys
Etiquetas:
el buen gusto,
rtp08,
viajes
lunes, mayo 12, 2008
Que lindo que te extraño...
... por que se que te amo como nunca, y eso es lo lindo del amor, poder llorar y reír al mismo tiempo escribiendo un post en el blog :)
En estas pocas palabras te quiero dedicar este tema....
En estas pocas palabras te quiero dedicar este tema....
To see you when I wake up
Is a gift I didn't think could be real.
To know that you feel the same as I do
Is a three-fold, Utopian dream.
You do something to me that I can't explain.
So would I be out of line if I said "I miss you"?
I see your picture.
I smell your skin on
The empty pillow next to mine.
You have only been gone ten days,
But already I'm wasting away.
I know I'll see you again
Whether far or soon.
But I need you to know that I care,
And I miss you.
Is a gift I didn't think could be real.
To know that you feel the same as I do
Is a three-fold, Utopian dream.
You do something to me that I can't explain.
So would I be out of line if I said "I miss you"?
I see your picture.
I smell your skin on
The empty pillow next to mine.
You have only been gone ten days,
But already I'm wasting away.
I know I'll see you again
Whether far or soon.
But I need you to know that I care,
And I miss you.
Fin de semana de descanso
Bueno, llegó el segundo fin de semana y me llegó el cansancio todo de una. Una semana bastante agitada pero con muy buenos resultados.
Por un lado estamos tratando de entender funcionalmente que es lo que hace la aplicación, y se me ocurrió la idea de ir definiendo los casos de uso y que el Arquitecto que creó la aplicación nos explique que es lo que la aplicación hace, obviamente esto no solo va a dejar la aplicación documentada desde el punto de vista funcional, sino que también me va a servir a mi para poder evaluar los futuros cambios, tanto para corrección como para mejoras, también va a servir a los desarrolladores para entender como lo funcional termina impactando el estado de la aplicación por cada interacción con el usuario.
Creo que haber tomado esa decisión fue muy acertada y bien recibida, ya que la gente que nos tiene que contar la aplicación no tiene mucho tiempo para dedicarnos ni tampoco algo documentado, entonces este tipo de especificación sirve muchísimo para organizar las ideas. Antes de que alguno me diga "pero si tenes el código, por que no mirás ahi que es la mejor documentación de lo que hace la aplicación", bueno, si... comparto, tengo el código que veo como la aplicación resolvió un problema, pero no tengo que es lo que la aplicación tiene que hacer, o sea el "que". Aparte de que el código, lamentablemente, no está muy programmer-friendly, hay mucho codigo de presentación y negocio muy pegoteado y sin mucha reutilización y uso extremo de ifs.
Por otro lado, como la aplicación requiere nuevas versiones cada mes y en producción, con eso me bastó como para proponer el uso de alguna metodología ágil y como en IBM USA, por fin, le están dando algo de bola, picaron... por suerte tengo al Chief Architect (un arquitecto bastante cross) y al Arquitecto de Build bastante al tanto del tema, podría decir que en breve finalmente voy a poder poner en practica todo lo que vengo investigando (desde el 2004), implementando pequeños approachs y enseñando... todo en práctica, con lo cual de aca a Julio, voy a estar, junto con la Project Manager (que es una grande y muy abierta) y otros roles del proyectos tratando de adaptar alguna de las metodologías ágiles disponibles.
En fin, profesionalmente creo que nos está yendo bastante bien, aunque calculo que los resultados se verán en un tiempo. Lo lindo de este viaje, es que conocí gente muy copada de India, USA, Singapore y se pudo trabajar muy muy bien.
Por un lado estamos tratando de entender funcionalmente que es lo que hace la aplicación, y se me ocurrió la idea de ir definiendo los casos de uso y que el Arquitecto que creó la aplicación nos explique que es lo que la aplicación hace, obviamente esto no solo va a dejar la aplicación documentada desde el punto de vista funcional, sino que también me va a servir a mi para poder evaluar los futuros cambios, tanto para corrección como para mejoras, también va a servir a los desarrolladores para entender como lo funcional termina impactando el estado de la aplicación por cada interacción con el usuario.
Creo que haber tomado esa decisión fue muy acertada y bien recibida, ya que la gente que nos tiene que contar la aplicación no tiene mucho tiempo para dedicarnos ni tampoco algo documentado, entonces este tipo de especificación sirve muchísimo para organizar las ideas. Antes de que alguno me diga "pero si tenes el código, por que no mirás ahi que es la mejor documentación de lo que hace la aplicación", bueno, si... comparto, tengo el código que veo como la aplicación resolvió un problema, pero no tengo que es lo que la aplicación tiene que hacer, o sea el "que". Aparte de que el código, lamentablemente, no está muy programmer-friendly, hay mucho codigo de presentación y negocio muy pegoteado y sin mucha reutilización y uso extremo de ifs.
Por otro lado, como la aplicación requiere nuevas versiones cada mes y en producción, con eso me bastó como para proponer el uso de alguna metodología ágil y como en IBM USA, por fin, le están dando algo de bola, picaron... por suerte tengo al Chief Architect (un arquitecto bastante cross) y al Arquitecto de Build bastante al tanto del tema, podría decir que en breve finalmente voy a poder poner en practica todo lo que vengo investigando (desde el 2004), implementando pequeños approachs y enseñando... todo en práctica, con lo cual de aca a Julio, voy a estar, junto con la Project Manager (que es una grande y muy abierta) y otros roles del proyectos tratando de adaptar alguna de las metodologías ágiles disponibles.
En fin, profesionalmente creo que nos está yendo bastante bien, aunque calculo que los resultados se verán en un tiempo. Lo lindo de este viaje, es que conocí gente muy copada de India, USA, Singapore y se pudo trabajar muy muy bien.
Etiquetas:
ibm,
personal,
rol del arquitecto,
rtp08,
viajes
Suscribirse a:
Entradas (Atom)
