Si los cambios propuestos no cambian la forma de trabajar de los ingenieros, no conseguirán mejoras significativas en las agendas, calidad o rentabilidad de costes de su organización.
Registro automático de propiedad intelectual del software
Blog -
gestion
16.03.2010
En Safe Creative acabamos de publicar una herramienta con la que ya no es un dolor de incomodidad y trámites el registro de la propiedad intelectual del software. La herramienta se llama ART (Automatic Registering Tool). Basta vincular una carpeta de vuestro equipo, o de un servidor de ficheros, con un perfil de registro en Safe Creative, y cada vez que cerréis una versión, al dejarla en esa carpeta, se registrará automáticamente a través del API de Safe Creative.
Según sea el caso de programador o empresa, basta con crear el perfil de registro adecuado, indicando en él los derechos que se están registrando:
- Autoría: para registrar como programador de la aplicación los derechos morales de autoría y reconocimiento - Autoría y derechos: registrando así también los derechos patrimoniales - Derechos: como empresa que desarrolla, comercializa, opera o distribuye el software.
Uno de cada tres programadores, o gestores que trabajan directamente en proyectos de programación usan metodologías ágiles, y las han incorporado por propia iniciativa, no por instrucciones "corporativas". La implementación se produce "motu proprio" en equipos que trabajan en la misma planta o en el mismo edificio. La metodología más empleada, con mucho, es Scrum; y la mayoría de los que las emplean hablan bien de ellas, y creen que han mejorado la comunicación en el equipo, la velocidad en el cierre de versiones y la flexibilidad en el diseño.
Estas son las principales conclusiones de uno de los pocos estudios realizados sobre una muestra de técnicos, significativa (492 encuestas anónimas). Lo realizó Microsoft hace 2 años entre su personal de EE.UU, Europa y Asia, para analizar el grado de "contagio" de agilidad que estaba teniendo la empresa, la opinión de los técnicos y los resultados.
"Cada vez es más frecuente escuchar que las grandes empresas utilizan equipos autodirigidos en sus diferentes áreas funcionales. Los equipos autodirigidos o autoadministrados son unidades básicas de operación dentro de una empresa, las cuales tienen la capacidad de conducirse sin la presencia de un administrador o supervisor, tomar sus propias decisiones, solucionar problemas y desarrollar sugerencias que mejoren el desempeño de la organización. con equipos que sean capaces de asumir esas funciones por sí mismos, el gerente estará enfocado a coordinar esfuerzos, planificar el desarrollo de la empresa, investigar las necesidades actuales y futuras de los clientes para desarrollar las condiciones para el proceso de constante innovación, en lugar de dirigir, controlar y supervisar a sus empleados".
Hace algo menos de un año comentaba: "En este sector, un profesional sin formación continua está "out" en menos de 5 años, y aunque hay nuevas formas de difundir y compartir conocimiento, se siguen empleando sólo modelos de formación económicamente pesados, que limitan el acceso."
Otro problema de la formación presencial es que el precio por cursos de uno o dos días resulta prohibitivo.
Y también son ya una realidad los primeros cursos presenciales Scrum Manager (Flexibilidad con Scrum) de 100 a 200€ en hispanoamérica y de 200 a 300 en España, incluida certificación con examen; y que se están completando a las pocas semanas de anunciarse :-) Ya los hay en Tenerife, Barcelona, Madrid, Buenos Aires, Valencia, Córdoba (Argentina), San José...
BDD: la evolución del Desarrollo Dirigido por Tests (TDD)
Blog -
Programación
28.02.2010
Poner las pruebas (el testing) delante de la programación ha marcado un hito en las prácticas de programación, un antes y un después, que ha transfromado a la "cenicienta" del testing en princesa; de trabajo indeseado (probar lo que iban terminando los programadores) a tarea "cool" de diseño y pre-codificación.
TDD ha hecho que sean las pruebas las que tracen la pauta al desarrollo, y no al revés, y al hacerlo ha abierto dos dimensiones nuevas al testing tradicional: documentación, y sobre todo: diseño:
Se empiezan a escribir pruebas unitarias con herramientas como JUnit o
NUnit.
Empieza a aumentar la confianza en el código, en la misma
proporción que el volumen de pruebas que se va generando.
Al
escribir las pruebas en primer lugar, el código gana simplicidad,
programándose lo extrictamente necesario.
Las pruebas van tomando
una nueva dimensión: "documentación", porque cuando se retoma código ya
olvidado, son las que mejor explican qué es lo que hace ese código.
Poco a poco se empieza a descubrir la segunda dimensión: desarrollar pruebas revela el "API" del código, y pasa entonces a ser también un proceso de diseño.
Conferencia Agile-Spain 2010, Madrid, 10 y 11 de Junio
Blog -
Sitios, blogs, eventos...
24.02.2010
Se acaba de anunciar la Conferencia Agile-Spain 2010 (CAS2010), bajo el
lema "Haciendo realidad la agilidad". CAS2010 es la primera conferencia
sobre metodos ágiles en España.
Es una cita donde se encontrarán empresarios, desarrolladores,
gerentes, investigadores, etc. Está enfocada principalmente a la
industria de tecnologías de la información y consultoría tecnológica.
"El producto previsto, en el tiempo planificado y por el presupuesto estimado" Vs. "Valor rápido, y de forma continua, en intervalos breves u regulares".
Vamos a contratar a uno de esos chavales que hacen güebs
Blog -
Humor
12.02.2010
Queremos un candidato que sea bueno, bueno, bueno con el drimgüiber y en el flassh, pa poder hacer una güeb como la del yutube. No hace falta que tenga experiencia y lo contrataremos por horas....¡¡¡¡Toma ya!!!!!
Uno de los factores esenciales para explicar estas divergencias reside
en la personalidad de los ejecutores; o más propiamente, en su ego.
“Una de las situaciones que con más frecuencia se dan en las
organizaciones es que cuanto menos inteligente es una persona más se
esfuerza por parecer brillante. Quien tiene madurez y prestigio toma la
vida con cierta distancia y decide con seriedad o rigor, pero quien
está preocupado por dejar su sello y por darse a conocer, suele tomar
decisiones en base a innovar. Como se suele decir, cuanto más tonto es,
en más charcos se mete…”
El buen management, no hace más que formular, de un modo u otro, tres o cuatro asuntos esenciales. Entre ellos, el de “encontrar, captar y motivar al talento”
El concepto original "Campo de Scrum" definido por Nonaka y Takeuchi describe un entorno de trabajo con principios ágiles en equipos motivados, con delegación y "empowerment", que desarrollan proyectos de forma iterativa a incremental, que no dividen el ciclo de desarrollo en fases, comparten el conocimiento por socialización (comunicación directa)...
La implementación que Jeff Sutherland realizó en 1993 en su equipo en Easel Corporation, a nivel de proyecto, que Ken Schwaber documentó, en el libro Agile software development with scrum y que difunde la Scrum Alliance, es una implementación concreta, como lo son tambien cada una de las desarrolladas originalmente por Canon, NEC, Xerox, hp, Honda, Epson... Es buena, pero nada impide diseñar un campo de scrum con flexibilidad en las prácticas para adecuarlas a cada realidad, y con ámbito de proyecto, producto o de empresa, según sea para un equipo, departamento (por ejemplo de I+D en una software factory de procesos), o de organización en su conjunto.
Tomando el concepto original de Scrum y "des-monopolizándolo" de la Scrum Alliance, es posible plantear implementaciones con diferentes prácticas y también a nivel de producto o de empresa. Con esta visión de Scrum Manager la agilidad da su mejor resultado cuando se implican y alinean los diferentes ciclos de la empresa: estratégico, proyectos y producción.
Para los alicantinos que podáis acercaros, el próximo jueves día 4, expondré el seminario "Agilidad: mejores prácticas para desarrollar software" en el salón de actos de la Escuela Politécnica superior de la Universidad de Alicante.
Será a las 12 de la mañana. La entrada es libre, con inscripción previa en esta página.
Ya está actualizado, y disponible para descargar (o comprar) el blook con los artículos más relevantes de Navegápolis hasta enero de 2010.
Con un mosaico de 120 artículos, el libro compone una visión poliédrica del escenario de las pequeñas y medianas empresas de programación. De la gestión de los proyectos y las personas en las empresas de software.
Mi opinión no puede ser objetiva, soy el autor; pero por eso mismo te lo recomiendo
Dos extensiones ágiles para Google Wave desarrolladas por Mastering Wave: Scrumpoker y taskboard, para compartir en Google Wave planificaciones de póquer, o un tablero Kanban. Son muy recientes y están las dos en beta.No he tenido tiempo ni oportunidad de probarlas, pero parecen interesantes.
Imprescindible el libro que acaban de publicar Carlos Blé y colaboradores sobre TDD, la técnica de diseño y desarrollo de software que forma parte de la metodología XP.
A las razones de Ken Beck de por qué usar TDD:
La calidad del software aumente (y veremos por qué).
Conseguimos código muy reutilizable.
El trabajo en equipo se hace más fácil, une a las personas.
Nos permite confiar en nuestros compañeros, aunque tengan menos experiencia.
Multiplica la comunicación entre los miembros del equipo.
Las personas encargadas de la garantía de calidad adquieren un rol más inteligente e interesante.
Cuando revisamos un proyecto desarrollado mediante TDD, nos damos cuenta de que los tests son la mejor documentación técnica que podemos consultar a la hora de entender qué misión cumple cada pieza del puzzle.
Carlos añade:
Incrementa la productividad.
Nos hace descrubrir y afrontar más casos de uso en tiempo de diseño.
La jornada se hace mucho más amena.
Uno se marcha a casa con la reconfortante sensación de que el trabajo está bien hecho.
Scrum Manager: preferimos la flexibilidad a la rigidez
Blog -
Agilidad
09.01.2010
No nos gusta aprender recetas, porque no creemos en "balas de plata". Preferimos aprender nutrición: ser cocineros y no pinches. Saber cocinar nuestras propias recetas, con el sabor, vitaminas, nutrientes y presentación, más adecuados a nuestra empresa.
Scrum Manager: Preferimos la flexibilidad a la rigidez.
Primero fue con los campos de scrum; el scrum entendido y definido por Nonaka y Takeuchi, y que aunque posiblemente es era el mejor marco para implementar ciclos ágiles de desarrollo, lo hemos dejado debidamente domesticado: monopolizado, y atrofiada su evolución. Tardamos 10 años, en descubrirlos y aplicarlos a nuestros proyectos de software; pero luego, enseguida lo hemos "doctrinalizado"(1).
Scrum Manager bits: La motivación extrínseca es adecuada en trabajos relativamente mecánicos y entornos industriales, pero puede ser contraproducente en empresas del conocimiento.
Ambiente
Industrial
Campo
de
Scrum
Los principales
responsables de la calidad del resultado son los procesos y la
tecnología
Los principales
responsables de la calidad del resultado son las personas
Para ver completo el AgileLeanDayChile 2009, en diferido
Blog -
Sitios, blogs, eventos...
01.01.2010
Ya en su día, el 14 de diciembre, pudimos ver en directo el streaming del evento, y ahora, con muy buena calidad por cierto, están disponibles las presentaciones y los vídeos de todas las ponencias que se presentaron el pasado en el AgileLeanDayChile 209.
A punto de empezar 2010, y como post de despedida de 2009, va un resumen de las opiniones votadas en los "post-encuesta" publicados en Navegápolis este año, y sin prejuicio de los cambios que puedan tener por votos futuros:
Más de la mitad (56%) cree que las evaluaciones CMMI no evalúan la calidad. (post) (resultados)
La mayoría (40%) cree que en su empresa hay demasiadas reuniones de trabajo. (post) (resultados)
También la mayoría (38%) prefiere comparar la programación con la artesanía que con la ingeniería, o la construcción, arquitectura... (post) (resultados)
Sólo uno de cada 3 cree que su empresa gestiona los proyectos de forma inmadura. (post) (resultados)
A la mayoría de lectores de este blog no gustan mucho las prácticas PSP (52%). (post) (resultados)
La mayoría también opina que es más importante y se debe dar más reconocimiento a la aportación como equipo que a la individualista. (post) (resultados)
Hay bastante teoría de liderazgo, clasificaciones y opiniones en ocasiones bastante diferentes. Sin ánimo de opinar ni valorar, y sólo por compartir este vídeo sobre la teoría de los tres estilos de liderazgo de kurt Lewin basados en el uso de la autoridad, y un test de liderazgo sobre esos tres estilos.
Administración pública: el objeto de deseo de los mercaderes de software
Blog -
el software es asi
08.12.2009
De cada tres proyectos, dos(1) desbordan la agenda o el presupuesto, y se quedan a medias tintas sin dar la talla de las expectativas del cliente; o peor, sin dar nada de nada, tirando a la basura el dinero y el trabajo.
Sería divertida... bueno, no se si divertida, o patética. Digamos que sería "interesante" una etiqueta con la que clasificar a las empresas según lo eficientes que son al comprar proyectos tecnológicos.
Una etiqueta similar a las que ponemos a los electrodomésticos según la eficiencia con la que gastan la energía, y que en el caso de las empresas reflejaría lo eficientes que son gastando su presupuesto TIC: de qué porcentaje de los proyectos que compra se siente orgullosa, de cuántos prefiere no hablar, y cuál es el porcentaje de los que nunca se terminan; y también de cómo de hábil es al cerrar los precios; si lo normal es que saque ventaja, que pague el valor medio de mercado, o que la estafen.
Un modelo razonable: aplicar metas y prácticas genéricas CMMI a las prácticas específicas ágiles
Blog -
gestion
29.11.2009
Combinar la agilidad con un modelo de procesos puede ser estrategia o astracanada: una táctica razonada y razonable, o el disparate de un gestor engañado, o perdido por las ganas de engañar.
Los modelos de procesos como CMMI, ISO 15504, o Spice (que fue la versión beta de éste último) sirven para producción industrial, donde los protagonistas y responsables del saber hacer y de la calidad son los procesos; y donde las personas se necesitan para asistir a éstos.
En un completo "off-topic", y dejando por un rato las aburridas cosas de trabajo, y para los que también os gusten estas cosas: aquí pongo estos dos lipogramas, que me ha pasado Marta al comentarle que los leí hace años, pero que no se qué fue de aquel libro de Jardiel Poncela. Ha encontrado solo dos, si sabéis donde puedo encontrar los tres que faltan, me hacéis un favor...
¡Ah!, ¿que qué es un lipograma?, bueno, aquí van los dos más difíciles que escribió Enrique Jardiel Poncela, si tras leerlos no lo has descubierto, siempre está wikipedia ;-)
El chófer nuevo
Me lo cedió mi tío Hermenegildo, y me lo recomendó de un modo muy expresivo, diciéndome:
—¡Es un chofer único en el globo, créeme! Si dispone de un buen coche, este hombre consigue prodigios enormes, que en un circo le hubiesen hecho rico. Obedéceme y sírvete de él; tú tienes un coche estupendo y te mueres de tedio ¿no es cierto? Pues te juro, querido sobrino, que cediéndote un chofer como Melecio te pongo en condiciones de ser testigo, e incluso intérprete, de emociones inconcebibles, sin precedentes en el mundo de lo locomotivo. Porque como este chofer no existen dos.
Melecio Volodio, el chofer propuesto, que presenció el momento descrito, sonrió entonces con gesto misterioso. Y no bien concluyó mi tío su elogio, el chofer rozó levemente el borde izquierdo de su sombrero frégoli, color crepúsculo griego, se inclinó con un gentil movimiento y murmuró:
Los modelos que dan el protagonismo de la producción al conocimiento depositado en los procesos y la tecnología , "externalizan" en ellos el conocimiento que hace posible la calidad y repetibilidad de los resultados. Las personas que ayudan a ejecutar los procesos aprenden "internalizando" el conocimiento.
Cuando se trabaja con modelos ágiles, como el conocimiento empleado no es el de los procesos y la tecnología, sino el de las personas, resulta difícil (y posiblemente no sea recomendable) aplicar el mismo patrón: externalización-internalización, documentando y procedimentando. Lo normal en este caso es la "socialización".
Me parece especialmente gráfica la descripción que hacía Fabio en el foro de Scrum Manager en LinkedIn la semana pasada, al comparar una y otra forma de transmitir el conocimiento, desde el punto de vista de un agilista: