lunes, 4 de noviembre de 2013

Cursos de Scrum Master y DevOps en Barcelona

Quería destacar dos cursos de gestión de proyectos y desarrollo ágil que se harán en Barcelona en 2013 y 2014.

Saludos,
Àlex

jueves, 22 de agosto de 2013

Cuidado con la privacidad en Linkedin

Linkedin es una herramienta fantástica. Yo la uso frecuentemente, pero tiene unos "tics" de poco respeto a la privacidad que son para desconfiar. La prueba más evidente son las personas que te sugiere para contactar. Típicamente deberían ser "contactos de contactos", pero en ocasiones son gente con la que has contactado con otras cuentas de correo personales que nada tienen que ver con la cuenta de Linkedin (habitualmente la "profesional).


Sin querer entrar en profundidad, hay foros como este donde se trata el tema exhaustivamente, hay que vigilar un par de aspectos importantes a cuidar:
  • Cuentas importadas sin tu control.
  • Páginas a las que accedes y dan tus datos a Linkedin, o viceversa.

Voy a tratar el primer tema, que parece bastante más peligroso que el segundo. Atención a los contactos de otras cuentas de correo que "mágicamente" añade Linkedin a tus contactos importados. Aunque no son conexiones hasta que tú no lo decides, Linkedin sugiere a estos contactos que te conocen con otra dirección (p.e. un pseudónimo) que seas su próxima conexión con tu correo (identidad) oficial. Puede ser bastante inconveniente mezclar contactos profesionales, personales, actuales o muy antiguos.

Si usas Gmail, ten en cuenta que los contactos de tu correo de recuperación (el que te pide cuando te das de alta en Gmail) serán leídos también por Linkedin.

Algunos puntos a revisar:
  1. Revisa tus contactos importados (!aunque no recuerdes haber autorizado a Linkedin a importarlos!) en Network > Contacts > Imported contacts. Puedes borrarlos todos, aunque por partes.
  2. Accede a tus ajustes de privacidad
  3. Controla p.e. quien puede ver tu foto (público, red, conexiones).
  4. Deshabilita el intercambio de datos con otras aplicaciones
  5. Y en tu cuenta (asumo que es de Gmail), "revoca" el acceso a Linkedin. Verás que con el tiempo habrás acumulado permisos para muchas aplicaciones y webs.


¡ Espero que os sea útil !










Managing Technical Debt

El concepto de deuda técnica no es nuevo, ha existido desde hace mucho tiempo con otros nombres (p.e. coste de la no-calidad, entre otros). Lo interesante de éste es que, según mi experiencia, capta mucho mejor la atención de los directores, jefes y otras figuras no técnicas que toman decisiones sobre los proyectos de software.

El concepto consiste a las eventuales consecuencias de usar arquitecturas deficientes (decisiones técnicamente incorrectas) o seguir malas prácticas de desarrollo de software ("trabajar mal"), usualmente materializadas en trabajo sumergido en un momento dado pero que tarde o temprano tendrá que afrontarse (pagarse) para poder acabar el proyecto. El fin del proyecto no significa el fin de la deuda, pues el mantenimiento de cualquier producto con deuda técnica se encarecerá notablemente, además de dejar una mala imagen del equipo o empresa que lo desarrolló.

Por un lado, las consecuencias más típicas de tener un proyecto con deuda técnica son:
  • Retrasos en las entregas (la planificación deja de cumplirse en cuanto emerge la deuda técnica).
  • Productos con mala calidad para el usuario (visible) y para aquellos que lo mantienen (invisible).
  • Mayor coste de mantenimiento y coste total de la propiedad (TCO).
  • Desmoralización del equipo y excesiva rotación del personal.

Por otro lado, los motivos más habituales de la deuda técnica suelen ser:
  • Mala planificación o presiones por avanzar en el proyecto sin atender a criterios técnicos.
  • Falta de metodología o comunicación en el equipo (o entre equipos).
  • Malas prácticas como el "hardcoding" o los componentes altamente cohesionados.
  • Falta de pruebas unitarias y pruebas automáticas de regresión.
  • Falta de documentación
  • Muchos otros

También hay que tener en cuenta que la deuda técnica puede tener otras características:
  • consciente: p.e. no hacer pruebas unitarias para poder hacer una demo interna a tiempo (pero se harán inmediatamente después).
  • inconsciente: p.e. no hacer pruebas unitarias porque retrasa el proyecto (hasta que aparezcan los errores que serán probablemente más caros de solucionar).
  • a corto plazo: p.e. no documentar para llegar a un hito urgente (reunión con otro equipo), pero liquidar la deuda en breve.
  • a largo plazo: p.e. desarrollar la capa de persistencia para Oracle 11g porque no se espera usar otra BD en producción.

El tema da para mucho y mejor no eternizarse. Podéis consultar una presentación del clásico Steve McConell.

Espero poder presentar sobre este tema en la Barcelona Developers Conference 2013. Si os parece interesante... ¡votadme por favor! :-)



miércoles, 7 de agosto de 2013

Nueva Guía Scrum, edición 2013

El 1 de agosto apareció la revisión de la guía Scrum en inglés, cuya última versión era de 2011. Las guías se van traduciendo progresivamente en la web: http://www.scrumguides.org/

Los cambios son poco significativos, básicamente:

  1. Se refuerza el concepto de transparencia en los artefactos del proyecto y del Sprint, como base para la comunicación y predictibilidad.
  2. La planificación del Sprint de considera un evento formal, con las mismas partes de definición funcional (requisitos) y técnica (tareas).
  3. Se cambia el verbo de la definición progresiva del Sprint de "grooming" a "defining". Cuando un ítem del Backlog está preparado para pasar al Sprint se le considera "Ready".
  4. Se refuerza el concepto de "Timebox" como tiempo máximo recomendable para las reuniones del Sprint, pero se puede superar si "razonablemente" es necesario para cumplir sus objetivos.
  5. Las preguntas del Daily Scrum incorporan el concepto de "meta". ¿Qué hice ayer / haré hoy para alcanzar la meta del Sprint? ¿Qué impedimentos veo para cumplir la meta del Sprint?
  6. Durante la revisión del Sprint, se refuerza la intención de identificar el valor del trabajo hecho o pendiente con respecto a los objetivos del producto.
También se informará en Scrum.cat cuando la guía esté traducida al castellano y catalán.

¡Feliz verano!
Àlex

viernes, 24 de mayo de 2013

3 modelos de contratación ágil

La contratación de proyectos tiene dos extremos:

  1. El proveedor asume (casi) todo el riesgo, aceptando un alcance "cerrado" por un precio pactado y que frecuentemente es causa de problemas e insatisfacción tanto para cliente como para proveedor.
  2. El cliente asume todo el riesgo, aceptando un proyecto "abierto", sin precio ni alcance pactados (time & materials). Este sería el modelo ideal para los proyectos ágiles, pero plantea lógicos recelos en el cliente.

Bien, parece pues que una opción intermedia sería deseable, que permita acotar el riesgo que corren ambas partes y a la vez facilitar que los clientes puedan confiar en los proyectos basados en Scrum y los beneficios que esto aporta.

El artículo 3 modelos de contratación ágil  propone otras tantas fórmulas que permiten realizar un contrato con un nivel razonable de seguridad jurídica para ambas partes a la vez que permiten compartir el riesgo. Como resumen, estas son:

  1. Cambios gratis (Jeff Shuterland). Los cambios son gratis mientras se compense el volumen que éste añadide con otro eliminado equivalente.
  2. Dinero para nada (Jeff Shuterland). El cliente puede cancelar anticipadamente el proyecto y pagará como compensación el 20% del valor restante.
  3. Variaciones y cambios (Mitch Lacey). El proyecto se parte en dos subproyectos, uno pequeño que sirve para construir el backlog y estimar el proyecto de construcción.
Esto es sólo una simplificación, os recomiendo que leáis el artículo (en catalán o el original en inglés).

Àlex Ballarin

miércoles, 17 de abril de 2013

Técnica ágil: CodingDojo

Los CodingDojo son una técnica ágil destinada a aprender e intercambiar conocimientos entre programadores.

Sus características son: 1) Entorno no competitivo sino colaborativo y para pasarlo bien, 2) todos los niveles de participantes son bienvenidos y 3) se aceptan nuevas ideas, aunque salgan mal!

Tienen requisitos muy asequibles, básicamente una sala para los asistentes con almenos un portátil y un proyector.

El proceso (variante ParisDojo) es el siguiente:

  • 2 minutos para decidir cuando se hará la siguiente sesión
  • 25-30 minutos para analizar en una retrospectiva la última sesión: que funcionó y que fue frustrante
  • 10 minutos para decidir que hacer en la sesión actual (el protocolo "siguiente - última - actual").
  • 40 minutos o así para programar! (según las variantes PreparedKata -dirigida- o RandorKata -todos lideran-)
  • 5 o 10 minutos de pausa para comentar como va la sesión
  • 40 minutos para la segunda ronda de programación!


Podéis encontrar más información en la fuente original (codingdojo.org) y en una traducción mía en scrum.cat/2013/04/17/el-codingdojo/.

martes, 9 de abril de 2013

La guía de Scrum en 1 página

He creado una guía muy resumida de Scrum, que pueda utilizarse para recordar los aspectos más importantes de Scrum al principi de su uso.

Como es una "chuleta", no esperéis un alto nivel de exactitud. Está lo más importante, pero sirve para iniciarse en Scrum. ¡ Espero que os sea útil !


domingo, 7 de abril de 2013

La definición de hecho (2): ¿Evitemos el culto?

Discutiendo con compañeros de Agile-Spain.org sobre la Definición de hecho en Scrum (DoD para los amigos) surgieron puntos de duda y debate, como p.e.:


  1. ¿Hasta que punto debe ser detallada la DoD?
  2. ¿Se puede consensuar una DoD común o compatible entre varios equipos?
  3. ¿Existe una variante técnica del Scrum of Scrums donde los "líderes técnicos" de los equipos puedan trabajar en consensuar DoD o intercambiar elementos de esta? ¿Se llamaría Retrospectiva de retrospectivas?
  4. ¿Se puede convertir este ejercicio de consensuar DoD en una "maligna" Oficina de arquitectura, también conocida como "Torre de cristal"?
Durante esta discusión, el compañero Harald Messemer nos ha enviado un enlace muy interesante al post del The Cult of Done Manifesto. A pesar que me defino agilista pero fugitivo de las ortodoxias (aunque sean ágiles y guays) lo recomiendo. Contiene muchas verdades. :-)


The cult of Done Manifesto

miércoles, 3 de abril de 2013

SCRUM: La definición de hecho

Una visión superficial de Scrum puede dar a pensar que es una metodología sencilla y desestructurada, prácticamente lo mismo que mantener una lista de tareas en una pizarra. Es cierto que Scrum es un marco de trabajo sencillo, con 4 eventos, 3 roles y 2 artefactos estándar, pero a pesar de eso los proyectos suelen salir con un alto grado de calidad y uniformidad, tanto a nivel técnicos como de la documentación generada. ¿No parece contradictorio? Un aspecto importante a tener en cuenta es La Definición de hecho (Definition of Done).

¿Qué es la Definición de hecho?

La Definición de hecho es un acuerdo del equipo que contiene todas condiciones que deben cumplir los ítems del Product Backlog que se aceptan en el Sprint para considerarlos completados. Incluye los aspectos técnicos, de documentación, de pruebas y otros, de manera común para todo el equipo.

Cada equipo crea y mantiene su propia Definición de hecho, que suele evolucionar y refinarse conforme el equipo integra, perfecciona y automatiza sus prácticas de desarrollo. El momento habitual para revisar el cumplimiento de la Definición de hecho y refinar ésta, es la reunión de retrospectiva. Scrum no tiene auditorías, es el equipo quien autogestiona su calidad.

¿Cuál es el valor de la Definición de hecho?

El verdadero valor de la Definición de hecho es garantizar que el trabajo se realiza con un nivel de calidad uniforme, independientemente del miembro del equipo que participe. Es el equivalente al aseguramiento de la calidad en la gestión de proyectos tradicional.

La Definición de hecho aumentar su exigencia en todo momento según las posibilidades y capacidades del equipo. No tiene sentido marcar definiciones ambiciosas que no se pueden cumplir. Lo más importante es la uniformidad y la regularidad.

¿Cuál puede ser un ejemplo de Definición de hecho?

Un ejemplo sencillo e inventado de Definición de hecho es:

  1. Cada historia de usuario hecha debe cumplir lo siguiente,
  2. Diseño de pantallas (wireframe) actualizado en la wiki
  3. Test unitario Junit integrado en montaje (Jenkins) y superado
  4. Peer-review de las pruebas funcionales superado
  5. Código fuente documentado
  6. Wiki de diseño actualizada
  7. Diseño explicado en la reunión técnica semanal

Como se puede comprobar, la sencillez de Scrum no tiene relación con la cantidad ni calidad de buenas prácticas de desarrollo que un equipo pueda realizar.

miércoles, 6 de marzo de 2013

martes, 26 de febrero de 2013

Mobile World Congress 2013 Barcelona - Apps y tecnologías emergentes

El Mobile World Congress 2013 comenzó este lunes y, entre sus 70.000 visitantes estimados, hay un fantástico intercambio de ideas, oportunidades y colaboraciones. Esta es la parte más interesante del MWC, más allá de los nuevos terminales y las cifras de ingresos para la ciudad.

En nuestra web hemos recogido una lista de las innovaciones, tecnologías y apps emergentes más interesantes que hemos visto allí.

viernes, 15 de febrero de 2013

Editoriales y prensa: del papel al digital

Desde la aparición de Internet, el sector editorial de la prensa pasa por una crisis económica y de modelo de negocio creciente que se ha agravado de manera dramática con la situación económica actual. La brutal caída de ingresos por publicidad y el cambio de hábitos de los lectores han hecho insostenibles las finanzas de muchas empresas del sector, desde editoriales hasta la distribución y los puntos de venta (kioskos).

La evolución del sector a los soportes de Internet como la Web, las tabletas y otros dispositivos se ha hecho sin una estrategia clara y sostenible.
Cynertia ha analizado este contexto para un cliente y presenta el siguiente resumen:


  1. El contexto actual: una transición de 360º
  2. El Internet social y comercial: el model ZMOT
  3. Estrategia empresarial, editoria y digital
  4. Evolución tecnológica

Puede accederse al artículo Editoriales y prensa: del papel al digital en la web de Cynertia.

sábado, 2 de febrero de 2013

CMMI, Scrum, mitos y desinformación


Desde hace unos pocos años las metodologías ágiles han pasado a ocupar el “main stream”, probablemente aún no son mayoritarias en las empresas pero están casi omnipresentes en el “circuito blogero” de expertos y consultores.

Si tenemos en cuenta el Ciclo de Hype, que explica un patrón común al incorporar socialmente nuevas tecnologías (y metodologías) , vemos que es casi inevitable que se produzcan “burbujas” con expectativas exageradas a las que siguen desilusiones y una estabilización conseguida cuando la nueva tecnología ya no es una novedad pero la mayoría de sus usuarios obtienen de ésta una efectividad sostenible y económica. ¿Por qué se producten las burbujas? En el prólogo del excelente libro Workflow Modeling se da un conjunto de razones muy convincentes, centradas en la actividad de profesores, fabricantes y consultores que, usualmente llevados por sus propios intereses y excitación, alaban las posibilidades de las nuevas tecnologías, pero raramente hablan de las experiencias negativas.

Esto está pasando ahora mismo con Agile, especialmente con Scrum. De los muchos artículos que se publican continuamente, algunos son exageraciones alabando las maravillas de Scrum en aspectos como la menor documentación o su mayor comunicación y eficiencia. No es que Scrum no tenga muchas ventajas, pero no destacar igualmente los riesgos y malas experiencias no me parece inocente sinó tristemente interesado.

Una derivada de esta publicidad de Agile consiste en criticar las metodologías tradicionales y modelos de calidad como CMMI. Hay que uir de éstos para adoptar entusiastamente Scrum. Esto se dice sin explicar que Scrum funciona muy bien en ciertos contextos (p.e. desarrollo interno de producto) pero no se puede aplicar en otros (p.e. donde se requieren inversiones y decisiones iniciales fuertes, o existen transformaciones organizativas complejas).

Sin hacer ningún juicio de valor, un ejemplo es el artículo “Cómo pasar de CMMI y su incomunicación a la colaboración con Scrum, Agile y Lean”. Este blog me encanta, su autor es muy competente, pero en esta ocasión se debería explicar bien que se da un ejemplo de una implementación muy arriesgada de CMMI (una empresa que se certifica en nivel 3 en un plazo agresivo de 18 meses y que incorpora un outsourcing con muchas diferencias culturales). En primer lugar CMMI puede implementarse de manera ágil, como se explica en el libro Integrating CMMI and Agile Development, pero además un proyecto de outsourcing siempre tiene riesgos y desventajas que deben cuidarse mucho para que resulte compensador el menor coste de subcontratar partes de la producción en otro país. En 2010, otro estupendo blogger como Javier Garzás, hizo un muy buen artículo que analiza con detalle los conceptos y diferencias relacionados con las discusiones de la conveniencia de adoptar CMMI o Scrum.

Para finalizar, debo decir de mi experiencia de profesor en postgrados y másters, que veo como algunos alumnos más jóvenes tienen asumido que Scrum es la metodología aplicar y ni siquiera conocen lo que es el PMBOK. Es un error no conocer las diferentes opciones a la hora de solucionar un problema para aplicar la combinación de éstas adecuadas. Lo digo como consultor con experiencia aplicando diferentes metodologías en muchas empresas y estando certificado tanto en Scrum Master como PMP.

martes, 11 de septiembre de 2012

Introducción a DevOps - ¿El siguiente paso a Scrum?


El desarrollo de software con Scrum, que comenzó con algunos equipos pioneros hace unos pocos años, se ha convertido en una tendencia creciente sinó ya del "mainstream". Es actualmente el modelo de desarrollo más extendido, aunque dista aún bastante de ser mayoritario y que se realice de manera madura allá donde se introduce.

"Cada empresa es un mundo", pero de la misma manera que Scrum se ha hecho enormemente popular, en general aún no ha alcanzado una integración suficientemente buena con las operaciones (explotación, producción...) fuera de las start-ups y los equipos muy pequeños.

Por otra parte, durante la década del 2000 se expandieron movimientos y frameworks como Enterprise Systems Management (ESM) e ITIL v2. Estos movimientos, que han aportado notables mejoras a la estabilidad de producción, han estado centrados principalmente en organizaciones grandes y proveedores IT como IBM, HP o CA.

Una visión alternativa, originada en la "pesadez" y la pobre adaptación a las empresas más pequeñas de estas aproximaciones, tomo forma en el concepto de DevOps, acuñado por Patrick Debois en 2009. Desde entonces se han ido sucediendo eventos (como los DevOpsDays) y webs dedicadas a la materia.

En resumen, actualmente la visión generalizada de los departamentos de IT según los grupos de desarrollo de software y de explotación/sistemas puede ser:

  • Desarrollo: quiero construir y publicar lo que me pide el negocio con agilidad.
  • Explotación: me miden por el coste y disponibilidad. No quiero riesgos.


El resultado muchas veces consiste en despliegues grandes y espaciados en el tiempo, con una pobre comunicación conjunta, que suele producir errores, retrabajo y más coste que haberlo hecho de manera conjunta desde el principio.

DevOps.org


El enfoque de DevOps comparte la agilidad de Scrum para mejorar la comunicación entre cliente (el negocio) y el proveedor (desarrolladores), fomentando la confianza, la compartición del plan y del avance en el trabajo, y tomando un feedback frecuente. Al igual que el Scrum Master y el Product Owner actúan como los responsables de la coordinación entre negocio y desarrollo, el DevOps engineer se encarga de planificar y seguir la coordinación entre desarrollo y operaciones, aunque sin tener necesariamente mando sobre éstos.


LMC Software

El rol principal en DevOps es Ingeniero de operaciones, similar al Chief Engineer el Toyota Production System. Consiste en coordinar a los equipos de desarrollo y a los administradores, aunque no tiene autoridad final sobre los equipos.


Attunity.com


Aunque DevOps tiene una fuerte relación con las herramientas que automatizan las operaciones (p.e. Jenkins, BuildForge, Puppet Labs, etc.) el aspecto fundamental son los procesos integrados entre desarollo y producción. No se trata de "hacerlo igual de mal, pero más rápido".

En España todavía no han habido eventos importantes sobre DevOps, si bien en Madrid hay un grupo de interés con bastante actividad. 

En próximos posts seguiré escribiendo sobre DevOps, y ¡estaré encantado de contactar con otras personas que estén interesadas sobre esta materia!

martes, 4 de septiembre de 2012

Chrome va lento con Flash

Un post off-topic sobre Google Chrome.

Desde las últimas semanas (agosto 2012) vi que Chrome va muy lento en aplicaciones con Flash (p.e. Gmail), convirtiéndose en una tortura.

El problema es uno de los plugins de Flash (PepperFlash) que falla. Para desactivarlo, 

  1. Pegad en la URL:  chrome://plugins/
  2. Localizar el plugin de flash (suele ser el 1º)
  3. Click en "+ Details"
  4. Desactivar PepperFlash y reiniar.
  5. Voilà!


http://www.monkeycoder.co.nz/Community/posts.php?topic=3384

martes, 24 de julio de 2012

Plan de empresa Barcelona con Kit-emprendedores.com

Kit-emprendedores.com es una iniciativa de Cynertia Consulting que tiene como objetivo reunir su experiencia en la creación de Planes de negocio y el apoyo integral a los emprendedores.

En esta web se encuentran descritos los servicios y recursos que se ofrecen de soporte a la creación de empresas:



La filosofía de Kit-emprendedores es reutilizar la experiencia acumulada en proyectos reales para economizar el soporte, manteniendo en todo momento una atención totalmente personalizada y de alta calidad.

jueves, 12 de julio de 2012

Scrum, PMBOK, modas y comparaciones

Hace unas semanas pude asistir a una interesante sesión organizada por la gente de Agile Barcelona, titulada "Agile, State Of The Art".

Aunque el objetivo de esta sesión no era introducir las metodologías y técnicas ágiles más conocidas y difundidas como Scrum o Kanban, sinó explicar que se está haciendo de nuevo en este ámbito, en algunos momentos se estableció el (clásico) debate sobre cuando es mejor aplicar Scrum y cuando otras metodologías tradicionales de gestión de proyectos (simbolizadas por PMBOK).

Este debate me inspiró a escribir este post, debido a que creo que existe cierta confusión sobre los factores que hacen que aplique más un tipo de metodologías que otras.

El entorno importa, más que la metodología.

Uno de los tópicos que se introdujo fue: en las metodologías tradicionales se negocia mal el alcance al comenzar y luego eres prisionero del "triángulo de acero". Esto pasa habitualmente por situaciones del contexto como:
  • Comerciales (y clientes) poco capacitados.
  • Empresas que entran conscientemente en proyecto sabiendo que sus propuestas son con pérdidas para "entrar en un cliente".
  • No se consulta al equipo técnico, la oferta "es algo del comercial". 
  • Competencia caníbal (yo me bajo los pantalones más que el otro), etc.


En mi opinión, se confunde una mala praxis habitual con las supuestas debilidades de metodologías tradicionales. Estos factores claramente son identificados como riesgos a evitar en PMBOK y por tanto, no se pueden atribuir como limitaciones de las metodologías "tradicionales". Además, si estamos en un entorno como estos, caracterizados por la poca capacidad, competencia desmedida, desconfianza entre cliente y proveedor, etc. Scrum tampoco funcionaría.

Todos solemos usar más la herramienta que más conocemos.

En la sesión creo que hablaron (hago una simplificación) fans de metodologías tradicionales, metodologías ágiles y otros "equidistantes" entre ambos tipos de metodologías.

La foto de la cabecera representa una cosa que me dijeron hace años cuando trabajaba en IBM "si sabes usar bien un destornillador, tenderás a clavar clavos con él". Es una tendencia natural entre todos la de confiar más en la metodología que más conocemos y desconfiar de aquella que conocemos, aunque no sea la que más se adapta al problema a resolver.

Igual que no tiene sentido aplicar PMBOK o Prince2 en proyectos claramente indefinidos y donde hay un alto grado de confianza entre cliente y proveedor (p.e. desarrollo interno de producto), tampoco tiene sentido aplicar Scrum donde hay poca confianza entre ambas partes, o donde existen altos costes asociados que deben ser evaluados cuidadosamente antes de comenzar el proyecto.

Haciendo una exageración, ¿alguien se imagina construir una central nuclear o una presa por iteraciones? ¿Podemos pasar al backlog del siguiente sprint una mejora en la reducción de escapes de radioactividad?

Mundo académico, mundo blogger y mundo profesional.

Los diferentes ámbitos tienen diferentes dinámicas, y en mi experiencia se decantan mayoritariamente hacia diferentes modelos de ver la gestión de proyectos. Digo mayoritariamente, porque lógicamente es imposible encontrar audiencias uniformes en estos ámbitos tan grande.

El mundo académico es pionero en el desarrollo y aplicación de técnicas, y explica desde hace décadas los modelos tradicionales de gestión de proyectos e ingeniería del software, pero en general es menos sensible a la evolución profesional y por ambas cosas, suele orientarse más a la aplicación estricta de la gestión de proyectos tradicional.

El "mundo blogger", entendido como los expertos que escriben en blogs, comunidades y redes sociales, es mucho más dinámico que el académico y difunde más rápidamente las tendencias y novedades. Por ello encontramos que la mayoría de autores en Internet hablan sobre Agile, más fácil de comenzar a usar (no siempre suficientemente bien) que sobre metodologías tradicionales.

Por otro lado, creo que existe una tendencia por parte de muchos bloggers que son freelances u ofrecen servicios de consultoría a ensalzar lo bueno que es aplicar la metodología que dominan y a demonizar (o situar como "pasado de moda") lo que no dominan. Esto, tristemente, pasa frecuentemente con Scrum.

Finalmente, el "mundo profesional" es seguramente el más variado. Existen empresas certificadas y muy orientadas al "compliance" de metodologías, otras que han adoptado completa o parcialmente Agile, y muchas otras que usan lo que traen como experiencia sus trabajadores. Cada empresa es un mundo.

¡Queremos vuestros comentarios!

Esta es mi visión del asunto, reconociendo que generalizar en "4 líneas" es un ejercicio siempre incompleto, pero aportando mi opinión sobre lo que la confusión y comparaciones equivocadas que se establecen entre las diferentes metodologías.

Me gustaría recibir vuestros comentarios, seguro que son enriquecedores vuestros puntos de vista.

jueves, 3 de mayo de 2012

Nueva versión de WorkBook, el ERP lider para empresas de servicios



Workbook A/S, el fabricante del ERP lider para empresas de servicios del sector de publicidad y servicios profesionales ha publicado la versión 8.2 de WorkBook.

Este producto cubre las principales necesidades de las empresas orientadas a proyectos, mediante las siguientes módulos:

  • CRM para gestionar oportunidades y crear ofertas de proyectos
  • PM para definir calendarios de trabajo, asignar tareas, controlar el avance del proyecto e imputar las dedicaciones
  • FI para gestionar la facturación y la contabilidad


Esta herramienta es web y se puede operar tanto en la nube (pagado por uso de usuarios y módulos), tanto como en la infraestructura de la empresa.

Esta nueva versión incorpora novedades que aumentan la facilidad de uso y flexibilidad del producto.

jueves, 12 de abril de 2012

Gestión ágil de equipos vs Parálisis burocratica


Alex Ballarin PSC
Uno de las principales dificultades que supone la gestión de personas, y particularmente la de equipos, es la burocracia que se establece cuando los equipos crecen e incorporan personas con poca experiencia trabajando conjuntamente.

Todos podemos reconocer este fenómeno que suele reducir considerablemente la eficiencia y eficacia de los equipos, así como la moral de aquellos miembros más activos de estos grupos que trabajan activamente a favor de la mejora de la comunicación.

El Dr. Michael Sutcliffe de la Universidad de Cambridge, identifica en un artículo [1] los 8 síntomas características del fallo en la comunicación (8 Symptoms of Communication Breakdown), que son los siguientes:

  1. La decisión invisible: no se sabe claramente quien toma realmente las decisiones.
  2. Trabajo inacabado: se inician muchas tareas y se acaban pocas.
  3. Parálisis en la coordinación: no se puede hacer nada sin validarlo con todas las partes.
  4. Nada nuevo: no hay ideas o pensamientos laterales radicamente nuevos.
  5. Pseudo-problemas: pequeños impedimentos se convierten en problemas insalvables.
  6. Guerras centralizadoras: el "centro" lucha para mantener "la consistencia y el control" sobre las unidades independientes.
  7. Dominación de las entradas: las personas reaccionan cuando se les asigna una tarea pero no asumen ninguna responsabilidad proactivamente.


Estos síntomas, con los que podría estar de acuerdo cualquier fan de la clásica serie británica Yes Minister, me llamaron la atención y pensé en analizar como los afrontan las metodologías de gestión ágil como Scrum. Revisitando la lista tenemos lo siguiente:

  1. La decisión invisible: Scrum tiene claramente definidos los roles (Product Owner, Scrum Master, Development Team), así como cuando y como se toman y documentan las decisiones.
  2. Trabajo inacabado: este fenómeno no se puede producir en Scrum, pues se eligen cuidadosamente las funcionalidades a incluir en cada Sprint (Sprint Backlog) y en caso que alguna de ellas no se pueda acabar se devuelve al contenedor del proyecto (Product Backlog).
  3. Parálisis en la coordinación: de nuevo esto no se da en Scrum pues la coordinación se reduce a momentos puntuales (Daily Scrum) y las tareas son asignadas a una persona únicamente.
  4. Nada nuevo: Scrum respeta de manera explícita la comunicación abierta y el respeto por los demás. Igualmente existen momentos definidos para encontrar mejoras al proceso (Scrum Retrospective) y al producto (Scrum Review).
  5. Pseudo-problemas: en Scrum, las dificultades que tienen los miembros del equipo se comentan sistemáticamente con carácter diario (Daily Scrum) y tienen el soporte del equipo para impedir que se conviertan en problemas serios.
  6. Guerras centralizadoras: este puede ser uno de los problemas en la implantación de Scrum para organizaciones complejas. En el libro [2] se detallan técnicas para establecer un buen marco de colaboración entre la oficina de proyectos, product managers y product owners.
  7. Dominación de las entradas: los miembros del equipo toman de manera autónoma la responsabilidad sobre las funcionalidades y tareas a implementar, sin esperar a que nadie se las tenga que asignar.


Como resúmen, Scrum (y otras metodologías ágiles) atacan con efectividad la problemática de la burocracia en el ámbito de la gestión de proyectos. Un ámbito muy interesante que queda por  es la extensión de estos principios ágiles a la gestión de procesos y funciones de empresas no orientadas a proyecto, espero publicar algún post una vez haya leído el siguiente libro [3] que tengo en cartera.

Referencias:

viernes, 16 de marzo de 2012

Spanair y el Cloud Computing:

El 28/1/2012 Spanair dejó de operar de manera súbita. Aunque muchos estaban al corriente de sus dificultades financieras, la gran mayoría del público la veía como una compañía asentada y fiable. La sorpresa fue mayúscula.

Este caso puede ser relevante en la discusión actual sobre el futuro de la computación. En los últimos años, y de manera más intensamente desde 2011, los términos "cloud computing", "ahorro energético", "pago por uso", "public cloud vs private cloud", etc. cada vez se oyen de manera más frecuente y parece que la cuestión no es si el modelo actual de  computación basado en poseer el software (libre o con licencia, de código abierto o cerrado) y operarlo va a continuar, sinó cuanto tiempo falta para la migración más o menos masiva al cloud.

Además de los actores consolidados de infraestructuras (Amazon EC2, Google, IBM, Microsoft, etc.) y de aplicaciones (Salesforce, Google Apps, Microsoft, WebEx, etc.) han aparecido multitud de "miniaplicaciones" verticales muy usadas para hacer casi de todo, p.e.:

  1. Compartir pantalla (p.e. join.me)
  2. Compartir documentos y presentaciones (p.e. Cacoo.com y Sinc.in)
  3. Mantener diagramas Gantt de proyecto (p.e. Gantto.com)
  4. Y un larguísimo etcétera.


Muchos de estos proveedores, especialmente aquellos que ofrecen aplicaciones con una mínima complejidad y necesidad de integración, ponen a disposición de los usuarios APIs que permiten su integración e incluso el "backup" de datos.

Así pues, usando de "aquí y allá" las funcionalidades que más nos interesan, podemos integrarnos un mapa de aplicaciones independientemente de si estas están "operadas" por nosotros o por terceros. El esquema "best of breed", sin duda parece muy interesante.

Ahora bien, más allá de todos los matices de este modelo, la dudas básicas que se plantea es: 
  1. ¿qué pasa si un proveedor deja de operar así, sin más, como hizo Spanair? 
  2. Por mucho que tengamos garantías en forma de contratos, SLA, capacidad de hacer backup de datos, etc. ¿qué pasaría el día siguiente con esta aplicación?
  3. ¿Y con los datos? 
  4. ¿Y las integraciones con terceras aplicaciones?
Como es sabido, este modelo presenta sus incógnitas, por mucho que nos imaginemos que ciertos proveedores son "grandes y estables", como lo parecía Spanair para el público general.

Además de poder hacer "backup" de los datos, es conveniente para mitigar este riesgo poder cambiar de "operador de infraestructura" si el que usamos actualmente falla. Y eso, de momento sólo pasa por tener a mano el código.

¿Podemos usar aplicaciones (p.e. de código abierto) y operarlas en un cloud privado (p.e.Capside)? Puede ser una solución mientras los proveedores (o markets) no tienen en cuenta esta problemática.