jueves, 27 de agosto de 2009

Metodologías Ágiles y Diseño Orientada a Objetos



Hola de nuevo!

El día de ayer me llegó un correo de la revista Software Gurú y su nueva publicación, al leerlo me llamó mucho la atención acerca de lo que hablaba, y esto es, metodologías ágiles para el desarrollo de software y utilizarlo como ventaja competitiva en la industria (realmente es Desarrollo Ágil en el Mundo Real).

¿Por qué me emocionó esto?, pues debido a que hace unos meses atrás yo ya traía esa idea para implementarla en la empresa que estamos construyendo unos amigos y yo, llamada GenomaSoft. Ultimamente nos estabamos enfocando en realizar nuestro propio framework de documentación estructurada basándonos en RUP y en estándares de desarrollo de Software de la IEEE, sin embargo yo comencé a sentirme un poco incómodo con esto debido a que el cliente estaba perdiendo entusiasmo en el producto, el equipo de trabajo se estaba aburriendo de la documentación y yo también para ser sincero. No digo que no sea algo bueno, sin embargo en lo particular me estaba agobiando.

En este momento fue cuando comencé a pensar que en México la mayoría de las empresas no piden que uno tenga mil y un certificiaciones, realmente ahora me han estado llegando clientes que quieren que se les haga un software rápido, que puedan ver y no importa si se le tiene que ir corrigiendo, además, quieren que se les hagan por módulos que puedan comenzar a utilizar sin tener que esperar a que el sistema esté totalmente finalizado.

En los artículos de esta revista le dan fundamento a mis sospechas, tanto en la forma del equipo de trabajo utilizando Scrum o Kanban, como en las ventajas y necesidad de las metodologías ágiles en el mercado de hoy.

Pero bueno, eso no es todo!!!, también últimamente he estado leyendo el libro Object Oriented Analisys & Design de la serie Head First (OOA&D), muy buenos libros por cierto, donde en el primer capítulo mencionan un proceso un tanto extraño con respecto al desarrollo de software que es lo siguiente:
  1. Primero, haz que el software desempeñe la funcionalidad que el cliente desea.
  2. Terminando eso, aplica los principios de orientación a objetos a tu código.
  3. Aplica patrones de diseño a tu software.
Bueno, al inicio entré en un shock, debido a que pensé, ¿Pero esto como va a ser posible, es decir, que pasa con los pasos del desarrollo de software donde primero se toman requerimientos, luego se diseña (utilizando ya los principios y patrones) y después se programa?, realmente en mi cabeza estaba esa duda y estaba ya cuestionando el contenido del libro, porque aunque la verdad esos tres pasos que mencionan en OOA&D me parecieron muy buenos, pensé que eso solo aplicaría para proyectos académicos y no más.

Ahora viene lo bueno, al leer lo de las metodologías ágiles, creo que es posible ahora sí combinar lo antes mencionado con las metodologías ágiles, logrando así un mejor desempeño en el desarrollo de software, y por ejemplo los pasos 2 y 3 mencionados en el OOA&D supongo que se aplicarían en Scrum en las mejoras que se podrían hacer al final de cada Sprint (realmente todavía no he leído mucho de Scrum, pero en los próximos post, prometo hacerlo =) ).

Bueno, en general eso es lo que quería compartirles en estos momentos con respecto a las metodologías ágiles y el diseño orientado a objetos. Realmente me gustaría leer sus comentarios, quejas, sugerencias o material que podría ampliar el contenido de este post!.

Hasta pronto!

PHP y JQuery - Video Tutoriales

Que onda!, espero que se encuentren muy bien, a continuación les anexo las ligas de unos screencast para aprender PHP y JQuery. Lo que me encanta de estos tutoriales es que te van explicando absolutamente todo desde un inicio, tanto para el lenguaje PHP como el Framework JQuery. Espero los disfruten =).

PHP

Video 1: http://blog.themeforest.net/screencasts/diving-into-php-video-series/

Video 2: http://blog.themeforest.net/screencasts/diving-into-php-day-2/

Video 3: http://blog.themeforest.net/screencasts/diving-into-php-day-3/

Video 4: http://blog.themeforest.net/screencasts/diving-into-php-day-4/

Video 5: http://blog.themeforest.net/screencasts/diving-into-php-day-5/

Video 6: http://blog.themeforest.net/screencasts/diving-into-php-day-6/

Video 7: http://blog.themeforest.net/screencasts/diving-into-php-day-7/

Video 8: http://blog.themeforest.net/screencasts/diving-into-php-day-8/

Video 9: http://blog.themeforest.net/screencasts/diving-into-php-day-9/

Video 10: http://blog.themeforest.net/screencasts/diving-into-php-day-10/

Video 11: http://blog.themeforest.net/screencasts/diving-into-php-day-11/

Video 12: http://blog.themeforest.net/screencasts/diving-into-php-day-12/

Video 13: http://blog.themeforest.net/screencasts/diving-into-php-day-13/

Video 14: http://blog.themeforest.net/screencasts/diving-into-php-day-14/

Video 15: http://blog.themeforest.net/screencasts/diving-into-php-day-15/

Video 16: http://blog.themeforest.net/screencasts/diving-into-php-day-16/

JQuery

Video 1: http://blog.themeforest.net/screencasts/jquery-for-absolute-beginners-video-series/

Video 2: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-2/

Video 3: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-3/

Video 4: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-4/

Video 5: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-5/

Video 6: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-6/

Video 7: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-7/

Video 8: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-8/

Video 9: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-9/

Video 10: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-10/

Video 11: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-11/

Video 12: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-12/

Video 13: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-13/

Video 14: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-14/

Video 15 Parte 1: http://blog.themeforest.net/tutorials/jquery-for-absolute-beginners-day-15/

Video 15 Parte 2: http://blog.themeforest.net/screencasts/jquery-for-absolute-beginners-day-15-part-2/