26 junio 2009
The Predictability Paradox
Todo el artículo gira alrededor de lo paradójico que puede resultar intentar alcanzar la máxima predictabilidad en un proyecto software. Como dice la autora: "La paradoja es que intentar con demasiado esfuerzo crear predictabilidad origina el efecto opuesto".
El camino propuesto comprende los siguientes principios: comenzar pronto, aprendizaje constante, comprometerse lo más tarde posible, y entregas rápidas.Y a su vez, estos principios se apoyan en cuatro focos adicionales: eliminar todo aquello que no aporta valor ("waste", pero he preferido no buscar traducción directa a esta palabra), fortalecer la autoridad del equipo de trabajo, integración completa del testeo dentro del propio desarrollo, evitar la sub-optimización descomponiendo el todo en partes más pequeñas.
Algunas de las principales ideas con las que yo me quedo son las siguientes:
- Los usuarios tienen dificultad para articular claramente lo que ellos necesitan, y las necesidades de los usuarios cambiarán una vez que ellos vean el potencial del sistema y entiendan lo que pueden llegar a hacer con él. Por ello, de la importancia de comenzar a desarrollar lo antes posible.
- Si dividimos un problema complejo en partes más pequeñas, resultará mucho más difícil centrarnos en el campo de actuación en el cual dicho problema existe, porque el esfuerzo se estará dirigiendo hacia solucionar los sub-problemas. En ese aspecto el desarrollo Lean trabaja con un enfoque de "embudo": se comienza explorando la amplitud del paisaje, para ir luego gradualmente estrechando el campo de visión.
- Los planes están basados especulaciones, puesto que realmente no conocemos todo lo necesario cuando estamos creando el plan del proyecto. Puesto que hay que asumir los cambios como algo totalmente natural en un proyecto de software, debemos tener "feetback" constante en el proceso de desarrollo, puesto que en caso contrario estaremos desarrollando para situaciones que existieron al principio del plan, pero no cuando el software se vaya a entregar.
- Retrasar los compromisos, significa mantener abiertas las opciones posibles tanto tiempo como sea posible. Como se comentaba antes, las decisiones se deben basar en hechos, y no en proyecciones. Como comenta Mary Poppendieck en el artículo: "La decisiones se deberían hacer en el último momento responsable: el momento en el que un fallo en la toma de decisiones elimina una alternativa importante". Para ello, es importante también tener una capacidad de respuesta muy rápida.
- Hay que proporcionar autoridad y poder decisión al propio equipo de trabajo, puesto que realmente una planificación que pueda cambiar de forma rápida es mejor implementada por ellos, que adoptando una planificación centralizada.
- En el pensamiento lean, la eliminación de cualquier cosa que no añada valor ("waste") es el punto clave para conseguir la excelencia. Y en este sentido, es necesario revisar aquellos puntos de la cadena donde el trabajo permanece parcialmente hecho.
- La creación de defectos es "waste" en proporción directa al tiempo que el defecto permanece en el sistema. Por eso es tan importante que los defectos creados, sean detectados y solucionados inmediatamente a través del testeo.
- Una gestión efectiva del equipo de trabajo pone el énfasis en que éstos definan y constantemente mejoren sus propios procesos. Ésto debe marcar la diferencia entre rendimiento pésimo y resultados estelares. Se asume que el equipo de trabajo conoce su trabajo y los problemas derivados mejor que nadie. Es muy importante tener un buen método para tranferir conocimientos y experiencia entre todos los miembros del equipo, del tal forma que nadie sea indispensable.
- En cuanto al testeo, éste debe estar completamente integrado dentro del proceso de desarrollo. Se dice en el artículos que cualquier sistema de software que pueda sufrir cambios en el futuro debería tener un completo conjunto de tests automatizados, del tal forma que cuando se realicen cambios, sea imposible romper el resto del sistema. Es indispensable que el sistema sea testeado en las mismas condiciones en las que se encontrará en el entorno real de producción.
-La desagregación en tareas ignora el flujo de valor a través del conjunto completo de la cadena económica. Se centra en el coste y tiempo de hacer cosas, pero no considera el valor de no estar haciendo nada. La autora critica en este apartado, la creación de la Estructura de Desglose del Trabajo (Work Breakdown Sctructure,WBS) propuesta en la gestión de los proyectos convencionales, porque se centra en la gestión del coste y la planificación de cada parte de forma individual. En este sentido, también, se aconseja medir el redimiento del equipo completo, más que tratar de medir el rendimiento individual de cada miembro.
- Mary Poppendieck defiende la idea de que cada proyecto debería tener su propio cuadro de mandos que reflejase los principales conductores de valor de negocio, en vez de medir los proyectos en coste, planificación y alcance. Esos indicadores son lo que realmente deberían dictar el éxito o no del proyecto.
- En cuanto a los contratos se defiende que hay que buscar en todo momento la maximización de beneficios proveedor-cliente, y en este sentido los "Targets Contracts" son un buen mecanismo para conseguir dicho objetivo. Se trata de un tema que me gustaría desarrollar en otro post, porque realmente hay materia para muchos ríos de tinta. Recomiendo además, ver la charla de Ángel Medinilla que al principio de este post se mencionaba.
Hasta aquí un repaso de las ideas con las que yo me quedo de este gran artículo. Ideas con las que mayoritariamente estoy de acuerdo. No estoy de acuerdo en la visión que se proporciona en el artículo de la WBS, porque considero que el objetivo perseguido por su realización puede ser totalmente compatible con la visión a más bajo nivel (a nivel de implementación) perseguido por lean. Y en general hay otras ideas propuestas en el artículo, que se tratan totalmente opuestas a la visión que, por ejemplo, el PMI traza de la gestión de proyectos, pero que bajo mi punto de vista son totalmente complementarias. Pero, efectivamente, sobre estos temas también hay mucha materia para escribir.
13 mayo 2009
Curso de Scrum de Proyectalis
La verdad es que tenía grandes expectativas en este curso, y tengo que decir que se han visto cubiertas por completo.
No sólo ha sido un curso de Scrum, sino sobre todo un curso orientado a la gestión de proyectos software, con conceptos como el de Kaizen (mejora contínua), los valores del equipo de desarollo, productividad, testeo, ....
Los juegos propuestos por Ángel para demostrarnos ciertos conceptos de Scrum, buenísimos, y muy esclarecedores.
Por otro lador, un curso también muy valioso, por el intercambio de opiniones y visiones de otros colegas de profesión, muchos de los cuales ya se están peleando con Scrum, y por tanto sus experiencias siempre son muy a tener en cuenta para ponerlo en marcha.
24 abril 2009
Historia de Microsoft
09 abril 2009
Peopleware

Efectivamente, como ya había leido en los comentarios de los lectores de Amazon, un "must-read" para todos los gestores de proyectos que se precien. Este libro contiene tantas y tan extraordinarias ideas, que hay para escribir muchos posts acerca de ellas. Es verdad, que sobre algunas podemos no estar de acuerdo, pero ciertamente nos hacen reflexionar.
Todo el libro gira alrededor de la idea inicial que nos transmiten los autores: El fracaso de la mayor parte de los proyectos es una cuestión de índole sociológico, más que tecnológica. Se trata de entender las emociones de la gente, sus aspiraciones, sus motivaciones, etc....
El libro toca todos los temas posible acerca de los equipos de desarrollo de software que uno pueda imaginar: la ubicación física, los motivos que los destruyen, los que los hacen trabajo a pleno rendimiento, las estimaciones, la contratación de nuevo personal, la gestión del cambio,...
Por supuesto, tampoco podían faltar idea polémicas, por ejemplo acerca de las Metodologías, o sobre los modelo de maduración como CMMI. Pero que como he comentado antes, se trata de cuestiones a reflexionar, y desde luego a tener presente.
Bajo mi punto de vista, se trata de un libro fantástico, y aunque es difícil quedarse con una sola idea de todo el libro, yo me quedo con la que transmite esta frase: "The manager's function is no to make people work, bu to make it possible for people to work".
03 abril 2009
¿ Qué diferencia.... ?
La foto que acompaña a esta entrada tiene muchos años. No dejaría de ser una foto más de unos tipos con aspecto hippie, si no fuera por el hecho de que estos chicos son los fundadores de Microsoft. ¿ Reconocen a Bill Gates ?Esta foto me ha hecho reflexionar sobre la evolución de la Informática en todos estos años. ¿ Qué diferencia hay entre la Informática de 1970 y la Informática de 2009 ? ¿ Seguimos siendo los mismos artesanos de entonces ? Pues desgraciadamente sí. Evidentemente es mi opinión. Y de hecho las historias que nos cuentan libros clásicos de entonces, como "Peopleware" o "The Mythical Man-Month", siguen teniendo plena vigencia hoy en día.
Cambia la tecnología, cambian los lenguajes de programación, cambian las herramientas de desarrollo, pero es que pretendemos seguir haciendo las cosas de la misma forma. Y como decía Einstein: "Si sigues haciendo las cosas de las misma forma, siempre conseguirás los mismos resultados".
Y el cómo hacemos las cosas depende de las metodologías de desarrollo utilizadas. Tras el fracaso total de las metodologías clásicas, se están abriendo paso con fuerza las metodologías ágiles, que proponen nuevas formas de gestionar los proyectos de software. Y están dando resultados positivos. Creo que vale la pena intentarlo.
Lo tenemos que intentar los profesionales que nos dedicamos a gestionar proyectos en nuestras empresas, y tenemos el deber de trasladar ese conocimiento a los centros de enseñanza, especialmente a las Universidades. Que realmente salgan de allí verdaderos ingenieros, con conocimientos sólidos en Gestión de Proyectos, Metodologías Ágiles, Testeo de Sw,....
Cuando yo pasé por la Universidad (hace de eso unos cuantos años), había una triste asignatura llamada "Ingeniería del Software" en 4º. La cosa no ha cambiado mucho.
Como ya comentaba en un post anterior, la enseñanza universitaria necesita el empujón del mundo de la empresa, que debe aportar su experiencia y conocimiento.
"User Stories Applied", también de Mike Cohn

Otro gran libro de Mike Cohn. User Stories Applied es un libro interesante para cualquier gestor de proyectos, tanto para aquel que sólo está buscando información, como para aquel que quiere dar un nuevo enfoque a sus proyectos desde el punto de vista de metodología ágiles. Como en el de "Agile Estimating and Planning", Mike Cohn nos tranmite en este libro muchas ideas. Ideas, que para aquellos que llevamos unos cuantos años en este mundo, nos inspiran confianza y garantías de éxito.
El libro está perfectamente estructurado, perfectamente explicado, y el caso práctico que se trata al final del libro, me parece un ejemplo a seguir, en otras obras de estas características.
Como todo, no creo que sea perfecto, y hay cuestiones que en el momento de llevarlas al mundo real resultarán muy complicadas. ¿ Cómo conseguiremos implicar a nuestros clientes dentro de este enfoque ? Y tengamos en cuenta que su participación es fundamental.
10 enero 2009
Universidad y Empresa: Algunas Ideas para Derribar el Muro y Mejorar la Integración
Durante años hemos asumido con gran resignación (casi rayando el derrotismo), que la formación universitaria sólo debía conceder la formación teórica imprescindible para incorporarse al mundo de la empresa, y en ésta, se aprenderían las cuestiones prácticas de la vida real.
¿ Por qué debemos seguir impasibles ante la barrera invisible, pero en la práctica totalmente palpable entre el mundo de la Universidad y el de la Empresa ?
Nuestra Sociedad (Autoridades, Universidad, Empresa), tiene la obligación de derribar ese muro, que dificulta alcanzar máxima cuotas de eficacia en el sistema educativo.
Pero, ¡Ojo!, con ello no estoy culpando sólo al actual modelo educativo. Porque ¿ qué hace el mundo de la Empresa por mejorar la situación ? En la práctica, poco, o nada.
Y entrando en más detalle, ¿ cuáles son los problemas “de facto” provocados por esta inacción continuada ? Señalo estos tres como destacables:
• Costes para las empresas, que soportan los laborales del aprendizaje de los recién ingresados.
• Coste de enseñanza suplementaria (másters, cursos de postgrado, formación en el extranjero), sólo al alcance de unos pocos.
• Baja autoestima por parte de los recién titulados buscando su primer trabajo. Necesitamos tener recursos motivados y sin miedo para incorporarse a nuestras empresas.
Hasta aquí, pertrechados con el sombrero negro de Edward de Bono, la cruda realidad. Pongámosnos el sombrero verde, y comencemos todos a aportar soluciones.
Estas son las mías, cinco recetas para abordar el problema y derribar el muro. Siendo consciente de que muchas de éstas ya están en marcha, considero que no con la energía necesaria.
1. Elaborar planes de estudio consensuados
Son importantes reuniones periódicas entre representantes universitarios y determinadas empresas, privadas o de índole público, para compartir opiniones sobre los planes de estudio actuales, y su adaptación al día a día de la Empresa. Esas empresas, que deben ser referentes en su sector, deben aportar:
• Experiencia con respecto al proceso de contratación y aprendizaje de sus nuevos recursos humanos procedentes del mundo universitarios. ¿ Qué carencias observamos día a día ?
• Necesidades con respecto a determinados puestos de trabajo difíciles de cubrir. ¿ De qué tipo de profesionales carecemos hoy en día ? ¿ Qué conocimientos se deben potenciar ?
• Su visión de futuro: tendencias. ¿ Hacia donde nos dirigimos ? ¿ Hacia donde se dirige el mercado ?
De estas reuniones, deben salir propuestas qué en última instancia permitan la modificación de temarios, e incluso el surgimiento de nuevas asignaturas.
Debe haber una retroalimentación constante y fluida entre Universidad y Empresa, para medir los resultados obtenidos.
2. La Empresa debe involucrarse impartiendo asignaturas.
¿ De qué mejor forma se puede hacer llegar a los estudiantes el aroma que desprende una empresa qué colándose en las aulas ?
No se trata de impartir asignaturas de larga duración, porque eso lógicamente entraría en conflicto con la propia dinámica del trabajo en la empresa, pero sí seminarios o asignaturas muy especializadas, de un número limitado de horas.
Esas clases servirían para:
• Transmitir conocimientos derivados del trabajo real en la empresa del docente, y que por supuesto son de gran interés para la formación del alumno.
• Aumentar la motivación de los alumnos, al acceder a información relevante sobre su futuro laboral.
3. Las prácticas en empresas deben formar parte del ciclo de estudios
No se trata de dar la opción de hacer prácticas en empresas, sino de integrarlo como si de cualquier otra asignatura troncal estuviéramos hablando.
Los alumnos deben completar sus horas de prácticas asignadas, tuteladas bajo algún responsable de la empresa, y con trabajos bien definidos.
Será la toma de contacto con valores como responsabilidad, y trabajo en equipo, tan importantes en el mundo empresarial. Y quizás, ¿ por qué no ?, una forma de empezar la relación profesionalidad deseada por ambas partes.
¿ Por qué no seguir el modelo de Enfermería o Medicina, aunque sólo sea de forma parcial ? Sin ánimo, por supuesto, de comparar la vida humana con cualquier otra disciplina, todos somos conscientes de los perjuicios que conllevan los errores humanos en cualquier empresa. Errores que en la mayoría de casos se suelen traducir en pérdidas económicas.
4. Planes de estudio más especializados
En el universo Web en el que nos ha tocado vivir, se hace totalmente ineludible ser muy selectivo con la información que nos llega. Imposible procesar y gestionar el constante bombardeo de fuentes que cada día nos llegan a través de e-mail, RSS, páginas web, revistas,….
Y paralelamente a este complejo entorno, es imprescindible tender hacia la especialización. Las carreras universitarias deben formar a profesionales especializados en disciplinas perfectamente acotadas. Expertos en determinadas materias con el Conocimiento suficiente para aportar una gran valor de entrada al mundo empresarial.
Sabemos lo difícil que puede resultar que un estudiante universitario encamine sin dudas sus pasos hacia la especialización, y en este sentido es de vital importancia el trabajo e implicación del personal docente, en la búsqueda del camino ideal para cada alumno. Insisto que no es una tarea baladí, teniendo en cuenta las diferentes formas de pensar y actuar de las múltiples generaciones que transitan año, tras año por las universidades españolas. Pero al final, el esfuerzo no será baldío.
5. Posicionamiento en un mundo globalizado.
La Universidad debe abrir sus ventanas para que entre aire fresco y observar lo que sucede en el mundo. Estamos ante un mundo globalizado en el que es muy probable que tengamos que relacionarnos con personas de países distantes al nuestro. No sólo por las relaciones comerciales que debamos establecer con clientes, sino a nivel interno por la formación de equipos virtuales para trabajar en proyectos internacionales.
Y ésto implica que tengamos que llevar como equipaje ciertos útiles, que no eran necesarios hasta nuestros días:
• Conocimientos de idiomas, principalmente de inglés, en un nivel alto.
• Conocimiento de otras culturas, y sus formas de comportarse. En este aspecto, cobra más importancia, disciplinas como la Inteligencia Emocional.
• Dominio de la tecnología, para una comunicación fluida.
Y en resumen, todo aquello que suponga mejorar las relaciones interpersonales. Ya nadie duda que el verdadero valor de la Empresas, son sus recursos humanos, y en este sentido para cualquier líder son imprescindibles sus capacidades sociales.
Las universidades deben dejar un espacio para estas materias, aunque entiendo que deben formar parte de nuestro sistema educativo desde los niveles inferiores.
El hilo conductor de todas estas propuestas es el de acercar los mundos de la Universidad y la Empresa, diluir las fronteras entre ambos, y buscar la simbiosis deseada.
Insisto en que muchas de las ideas aquí expuestas no son nuevas, pero debemos entre todos darles el empuje necesario para que finalmente lleguen a cuajar y formalizarse intitucionalmente. Pueden ser más o menos complejas de implantar, pero los beneficios a obtener seguro que valen la pena.
Como conclusión final, quisiera destacar que romper el muro entre Universidad y Empresa, puede tener a medio y largo plazo efectos muy positivos para la prosperidad económica de nuestro país. Al fin y al cabo, ¿ quién mueve el motor de un país sino su tejido empresarial ?
19 diciembre 2008
"Agile Estimating and Planning" de Mike Cohn

Excelente libro, de lectura recomendable para cualquier gestor de proyectos software que se precie. Mike Cohn expone principios básicos de la gestión de proyecto, desde el punto de vista de Metodologías Ágiles, con una sencillez aplastante. Realmente transmite la confianza que este tipo de metodologías funcionan, permitiendo la realización exitosa de proyectos de software. Y lo más importante, dá la sensación en todo momento, de que la persona que cuenta la historia, en este caso Mike Cohn, lo hace desde la experiencia, y desde un punto de vista práctico. El capítulo final del libro, en el que se relata un caso práctico de la realización de un juego de ordenador mediante metodologías ágiles, es realmente brillante.