Sergio’s Blag

Junio 27, 2009

Microblogging

Archivado en: General — ZeRoX @ 5:44 pm

He aquí un pequeñísimo update a mi tan olvidado blog, ya que no puedo actualizarlo formalmente (y vaya que tengo una cola larga de posts comenzandos y sin concluir) cualquiera que por curiosidad quisiera enterarse qué hago, puede seguirme agregandome como @walsen en twitter o como @zerox por identi.ca :)

Abril 15, 2009

Metodologías Ágiles (parte 1)

Archivado en: Educación, Ingeniería Informática — ZeRoX @ 12:46 am

Mucha gente tiene la duda de qué es “Agile”, de principio es confuso porque no se parece a lo que nos enseñan en las universidades, no tiene pasos específicos, tampoco cronográmas ni procesos a la vista como los tienen las metodologías tradicionales p.e. la Cascada o el Proceso Unificado.

waterfall_modelrup_model

¿Cuál es el problema de éstos modelos?

En los modelos lineales es necesario tener los requerimientos bien especificados desde el comiendo, el análisis, diseño deben estar completos en las primeras fases y no hay manera de pasar a la implementación ántes de éstos; el testeo se hace al final (gran error) lo cuál trae problemas de integración, males que podrían ser evitados desde el principio se encuentran (a veces no) faltando poco antes del lanzamiento del producto, en éste punto la adaptabilidad del producto a cambios y nuevos requerimientos es practicamente nula, lo unico que puede hacer el desarrollador es asegurar su trabajo mediante la firma de un papel sellando los requerimientos, al final sólo asegura el pago por el trabajo, no asegura la satifacción del cliente y la calidad del producto.

En un modelo del tipo RUP, iterativo – incremental y demás, las fases siguen estando bien definidas, en cada fase se realiza un poco del trabajo, análisis, diseño, implementación, prueba y despliegue, dandole más énfasis a cada parte o conjunto de partes a medida que transcurre el ciclo; todo ésto está muy bien pero lamentablemente la metodología se vuelve un monstruo porque exige demasiada carga en la documentación, todo el detalle exigido es una perdida de tiempo, se produce monton de material muchas veces inservible gastando tiempo y recursos valiosos (diagramas hasta para ir al baño), otro punto es la especialización de los profesionales, para cada fase un determinado tipo de profesional dando puntos cruciales de la información a algunos y con el riesgo de pararse el proyecto si ellos se ausentan por algún motivo; la separación de ramas y jerarquía entre el equipo (enorme equipo) hace que muchas veces exístan diferencias e imposiciones de ideas.

Agile

Agile no son pasos, gráficas elaboradas, o un plan maestro; Agile son consejos, buenas prácticas que muchos entendidos en software han puesto a nuestra disposición para usarlas, en otras palabras comparten su experiencia en una manera ordenada y sencilla de aplicar.

Éstos conceptos se pueden ver en el Agile Manifiesto que resume éste pensamiento:

Individuos e interacciones sobre procesos y herramientas

Software que funciona sobre documentación exhaustiva

Colaboración con el cliente sobre negociación de contratos

Responder ante el cambio sobre seguimiento de un plan

La gente nos importa, las personas son el recurso más valioso que se tiene, ellos son los que desarrollan el software no las herramientas ni los procesos, un programador feliz rinde mejor que uno con estrés, un cliente contento es mejor que uno disconforme.

No nos interesa crear 100.000 diagramas en herramientas super cargadas si sólo queremos tener una idea clara, nos basta un lápiz, una hoja de papel, o una pizarra y una camara fotográfica o celular para preservarla. Además ¡queremos Software ya! necesitamos que el cliente esté seguro que lo que pide es lo que necesita, para ello un demo rápido del producto nos da un feedback excelente; un demo cada cierto tiempo corto permite muchas cosas:

  • Adaptabilidad a los cambios de requerimientos.  Los diagramas de Gantt y Pert son OBSOLETOS, si alguien realiza un modelo predictivo por pasos NO ES AGILE, dar muerte a MS Project. No se puede predecir cómo serán los cambios de requerimientos en medio del proyecto, menos al final.
  • Predictibilidad a corto plazo, el cliente nos guiará, el mercado nos guiará y en un plazo cercano, dias, las funcionalidades tomarán forma.
  • Calidad, el testeo debe ir a la par del desarrollo, los bugs se encontrarán, reparán y documentarán a medida que el software tome forma, exísten muchas técnicas ágiles para ello, una es TDD (Test Driven Development).
  • Compartición y reutilización de código. Nuestra filosofía siempre ha de ser COMPARTIR, preservar conocimiento y reutilizarlo, ahorrar tiempo y esfuerzo, evitar trabajo excesivo y distribuir la carga mental entre todo el equipo y más (todos los participantes informáticos o no).

Metodologías Ágiles

Hay varias implementaciones de metodologías ágiles:

Cada cuál sigue sus propias tendencias pero siempre respetando los principios descritos anteriormente; algunas son muy simples, otras refuerzan documentación y procesos pero la mayoría puede adaptarse al ritmo del proyecto que se vaya a ejecutar.

scrumlargelabelled

400px-es_three_layers

Abril 14, 2009

Agile Software Buildings

Archivado en: General — ZeRoX @ 1:05 am

I’ve posted a little paper about the Agile Architect and the Software Buildings development, is an essay which gives an idea about real development and the rol of the people on the process, please read it and post your comments.

http://docs.google.com/Doc?docid=df728hnw_57zggk4hcf&hl=en

Contributions are always welcome :)

Abril 1, 2009

De vuelta… otra vez…

Archivado en: General — ZeRoX @ 10:37 pm

Sí he conseguido hacerme de internet por segunda vez en el año ya que es mi segunda mudanza, sólo que esta vez vivo bastante lejos y tenía poco tiempo para ir a contratar al ISP y demás; como sea acá de nuevo aunque con muy poco tiempo para escribir.

Una cosa que DEBO hacer es pedir disculpas a muchas personas a las que les comprometí mi tiempo y alguna tarea, lo siento muchísimo debí ausentarme por muchas razones: salud, trabajo, cambio de domicilio, falta de tiempo y más; espero que no se molesten mucho conmigo, sigo tratando de estabilizarme y ordenar mis ocupaciones para hacer tanto mi trabajo y mis tareas como voluntario del Software Libre (que es lo que me gusta más :D )

Bueno, espero poder seguir escribiendo seguido y comunicarme con todos, por lo menos de vez en cuando. :)

Febrero 14, 2009

porque…

Archivado en: Reflexiones — ZeRoX @ 7:45 pm

Hay algo que no termino de entender, estoy seguro que cada uno tiene su manera de hacer las cosas pero… ¿porque nos cuesta tanto integrarnos al mundo? porqué tenemos que copiar todo, y sin ningún aporte…  ¿porqué no podemos interactuar con personas que están más allá de nuestras fronteras y competir de igual a igual? ¿será miedo al rechazo y posterior frustración? ¿será inseguridad a no encajar con otros que pensamos son muy superiores? ¿por qué no lanzarnos y hacerlo por nuestra propia voluntad? ¿Por qué cada propuesta nueva es un rotundo NO ya que NO va a funcionar? … talves funcione para alguien más… ¿acaso nuestra cultura está tan ensimismada que es un sacrilegio romper sus costumbres, y más sacrilegio aún dejar a otro de los nuestros que lo intente y lo aconseje?

Frustrante…

Febrero 8, 2009

Cómo sacar ISOS de CD/DVD mediante consola

Archivado en: General, Linux, Software Libre — ZeRoX @ 10:00 pm

Ésto es sencillisimo, con una línea de comando tenemos una imágen de nuestro CD/DVD y podemos usarla como copia de seguridad o para montarla usando máquinas virtuales o a un directorio del sistema. El código es:

dd if=/dev/cdrom of=/ruta/destino/archivo.iso

if=Input File (Archivo de entrada)

of=Output File (Archivo de salida)

Nota: /dev/cdrom podría ser /dev/cdrom1 o /dev/cdrom2 o /dev/hdc dependiendo cómo está configurada su unidad en el fichero /etc/fstab.

Cómo… Montar una imágen ISO en Linux

Son unos cuánto pasos:

1. Crear un directorio por donde se va a acceder a los archivos de la imágen:

# mkdir /mnt/iso

2.a. Montar la imágen ISO en el directorio creado, en modo de sólo lectura:

# mount imagen.iso /mnt/iso/ -t iso9660 -o ro,loop=/dev/loop0

2.b. Montar la imágen ISO en el directorio creado, en modo de escritura:

# mount imagen.iso /mnt/iso/ -t iso9660 -o loop=/dev/loop0


* imagen.iso es el archivo de imágen que se quiere montar.
* -t iso9660 es el parámetro que le indica que el archivo tiene formáto de imágen ISO.
* -o Opciones que se aplicarán.
* ro le dice que debe montar la imágen en modo de sólo lectura.
* -o loop=/dev/loop0 es el dispositivo virtual que manejará la imágen.
Si loop0 está ocupado seguir secuencialmente loop1, loop2…, etc.

Éste truco es interesante porque podemos modificar archivos dentro del ISO sin tener que desempaquetar y reempaquetar y personalizamos lo que deseemos ahí dentro :P

Enero 26, 2009

De vuelta a la red

Archivado en: General — ZeRoX @ 7:57 pm

Hola, para aquel visitante casual que se le ocurra leerme, he estado completamente alejado de mi pequeño blog, no por mi gusto sino porque cambié repentinamente de residencia y de actividad; ahora vivo en Cochabamba y estoy en capacitación para entrar a una empresa de desarrollo software. No es algo que vaya con mis ideales pero bueno hay que sobrevivir, además que es un punto importante para explorar el mundo desde otra perspectiva.

Respecto a mis proyectos y a todo el software que dejé botado ahí poco puedo hacer ahora, no tengo mi “dev box” acá aún, hasta que logre traerla intentaré actualizar lo que ésta portátil me permita, lo demás tendrá que esperar.

Enero 17, 2009

Muerte por sonido

Archivado en: General — ZeRoX @ 8:56 am
Tags: ,

Si, mi laptop muere cuando reproduce audio consecutivamente durante mas de 1 hora, el problema? los drivers para linux talves, o el firmware del BIOS; como mi linda laptop es del milenio pasado espero encontrar una solucion factible, odio no poder escuchar musica o el sonido de los videos :(

Enero 13, 2009

the no day…

Archivado en: General — ZeRoX @ 11:16 am

I’m pretty sad today, many changes in my life, and sadness about things I left behind, specially one person, she was a pure light in my darkness, a consolation in my loneliness. I’m sorry dear It was not my intention to show you my obscure soul, you and me are different points of view, that’s sad because we’ll never be together, I now know, I saw it in your eyes last time we met. I’m a stray wolf with no land and no purpose and now lost without your guide, I know I must leave again, that’s Ok I don’t complain, just paid a bit more my deft to life.

Enero 11, 2009

Mudanza

Archivado en: General — ZeRoX @ 11:52 pm

Ufff  vaya que he estado alejado de aca, la causa es que me he estado mudando de casa, entre empacar, las tareas diarias, y preparar el lugar no hubo tiempo para escribir las cosas que tengo pendientes, bueh espero que dentro de un par de dias vuelva al ritmo.

P.D.: Perdon la ortografia, es un teclado en ingles.

Entradas siguientes »

Blog de WordPress.com.