¿Scrum, la bala de plata?

Scrum Framework Flow

Recientemente he tenido algunas conversaciones sobre Scrum que me han permitido revisar y replantear la forma en como lo entiendo. En este post planteare mi interpretación personal de Scrum.

En general cuando empezamos a aprender que es Scrum tendemos a pensar que Scrum define y cubre todas las necesidades de la gestión de un proyecto. La realidad es otra, Scrum no aspira a tanto, solo es un framework de desarrollo de producto, que no es poco.

Creo que es importante entender que Scrum es un framework de desarrollo de producto no una metodología de gestión de proyectos. Esta diferencia hace que la percepción sobre Scrum cambie radicalmente.

La principal consecuencia de que Scrum sea un framework de desarrollo de producto es que no espera cubrir todas las necesidades de los distintos ámbitos de gestión de proyectos. Si esperamos que Scrum resuelva la gestión de proyectos encontraremos muchos puntos abiertos y acabaremos por desecharlo.

Precisamente al no ser un framework/metodología de gestión de proyectos permite complementarlo externamente con todo aquello que sea necesario para la gestión de nuestro proyecto. Lo importante de este punto es tener presente que donde realmente aporta Scrum es en la construcción de un producto.

Dado que Scrum no establece nada acerca de la gestión de proyectos puede ser utilizado en muchos entornos, incluido en entornos completamente no agile. Nada nos impide utilizar Scrum en entornos donde no se siguen los principios agiles.

Creo que sin el soporte de los principios del agile manifesto, como base, Scrum pierde una gran parte de su esencia. Podemos acabar tendiendo a situaciones en las que Scrum deja de ser un impulso para la creación de producto y por tanto su uso deja de tener sentido.

Si en algún momento dejamos de dar importancia a la pronta entrega de producto, al software funcionando, a la mejora continua, a un entorno de trabajo motivado y a equipos auto-organizados no aprovecharemos los puntos fuertes de Scrum.

Sin lugar a dudas Scrum necesita un marco de aplicación basado en los principios del Agile Manifesto.

Soporte TRIM en Mac OS

Retomo de nuevo el tema de los discos SSD, en este caso me centrare en el soporte de este tipo de discos en Mac OS X Snow Leopard. Como vimos hace unos dias en el post Disco SSD en MacBook Pro, Mac OS X Snow Leopard no soporta TRIM.

La realidad es un poco mas compleja de lo que parece:

- Oficialmente Mac OS no soporta TRIM, lo hara en la proxima versión: Lion

- Equipos Apple con discos SSD con soporte TRIM en Mac OS X Snow Leopard

- Activar extraoficialmente soporte TRIM para todos los discos SDD

- ¿MacBook Air sin soporte TRIM?

Pasemos a ver en detalle cada uno de los puntos comentados. Continue reading

Activar soporte TRIM en Mac OS X

La gente de Hardmac han preparado una variante del driver que ofrece Apple para sus discos SSD para poder habilitar el soporte TRIM para cualquier marca/modelo de disco SSD en Mac OS. Este driver ha sido validado en Mac OS 10.6.6 y 10.6.7.

Obviamente este driver es una version no oficial, de manera que no hay ninguna garantia sobre su funcionamiento. Todo y que deberia funcionar sin inconvenientes se desconoce si a medio o largo plaza puede producir algun problema en el disco o en sus datos.

En algunos sitios se esta hablando de que podria reducir el rendiemnto del disco SSD pero esta por confirmar.

Si alguien ha tenido la ocasion de probarlo o lo ha activado, ya nos contara sus resultados.

Mas informacion en:

Activa el TRIM en Mac OS X con cualquier disco SSD

Como activar el soporte TRIM en Mac OS X 10.6.7 y discos SSD de Apple

[Updated] The universal solution to activate TRIM

Introduccion a TDD (Test Driven Development)

TDD son las siglas de Test Driver Development un proceso de desarrollo de software que se basa en la idea de desarrollar pruebas, codificar y refactorizar el codigo construido.

El procedimiento que hay que seguir para desarrollar aplicando TDD, Test Driver Development, es muy sencillo, a continuacion veremos como usar esta metodologia, o procedimiento de desarrollo, muy comun entre los seguidores de las metodologias agiles.

TDD se basa en la idea de realizar pruebas unitarias para el codigo que debemos construir. A diferencia del procedimiento que usamos habitualmente, construir el codigo y despues realizar las pruebas unitarias, TDD establece que primero hay que realizar una prueba y a continuación desarrollar el codigo que la resuelve.

Obviamente el metodo TDD no acaba aqui, ya que ademas añade el code refactoring, re-estructuracion del codigo implementado, un factor importante que no debemos olvidar.

Continue reading

Disco SSD en MacBook Pro

Como ya sabréis entre en el mundo mac hace 3 años, al comprar mi primer equipo de la manzana, un MacBook Pro (early 2008) por algunos es conocido como el MacBook Pro Penryn por su modelo de procesador: Intel Penryn 2.4 Un equipo de poco mas de tres años que funciona perfectamente con Mac OS X Snow Leopard, a demás a una velocidad de respuesta muy buena, sin haber actualizado su hardware.

Recientemente estuve pensando en añadir mas memoria RAM, actualmente tiene 2 SO-DIMM de DDR2 a 667MHz de 1GB cada uno, 2GB en total, pudiente soportar 4GB como máximo. Esta opción no me acababa de convencer dado que la ganancia tampoco seria mucha.

Finalmente me decante por incorporar un disco SSD en el equipo, después de hablar con Sergio y confirmarme que en su MacBook Pro 13” estaba funcionando de maravilla. Como bien sabréis los discos SSD mejoran substancialmente la velocidad de acceso a los datos respecto los discos duros convencionales.

Continue reading