JorgeMuria Weblog

Junio 15, 2009

Productividad de los desarrolladores de software

Archivado en: Project Management — jmuria @ 8:52 pm
Tags: , ,

Hola de nuevo.
Llevo tres posts en pocos dias. Estoy consiguiendo todo un record personal. :-)

Hace un par de dias leí un post de Martin Fowler, gurú del desarrollo agil, sobre que es imposible medir la productividad de un desarrollador. La entradas son:
http://martinfowler.com/bliki/CannotMeasureProductivity.html
o en español
http://www.dosideas.com/liderazgo/439.html?joscclean=1&comment_id=687

Este post habla muy inteligentemente de los problemas que tiene los sitemas de medir la productividad:
Por lineas de codigo: Más lineas de código no significa un producto mejor o con más funcionalidades. En ocasiones incluso es lo contrario. Un par de lineas bien escritas puede ser un trabajo mucho más productivo que hacer copy-paste de varios proyectos a uno sin saber exactamente qué se está haciendo.
Por puntos de función: Un mayor numero de puntos de funcion no significa un incremento en lo que un desarrollo puede aportar al cliente o a la empresa, que es de lo que se trata cuando se quiere medir la productividad.

Entonces, ¿no se puede medir? Hace tiempo que veo de vez en cuando lo que las metodologias como Six Sigma o Lean quieren aportar al mundo del desarrollo. Estas se basan en sistemas de producción tradicionales y estudian el numero de outputs validos respecto a la entrada y numero de outputs no valido (errores). Si no se puede medir el desarrollo, ¿no se puede mejorar?

Realmente si que hay maneras de evaluar la productividad de un desarrollador, pero no son cuantificables de modo sencillo. Voy a comentar una:
En el equipo en el que trabajo hay varios desarrolladores de varia indole: ingenieros en informatica, ingenieros tecnicos y telecos. Cada uno aporta un lobulo de lo que sería el cerebro general que representa al equipo de desarrollo. Igual que ocurre en la serie House, cada integrante tiene una especialidad en la que aporta sus herramientas, pero además debe ser capaz de entender el problema que se le presenta y aportar soluciones racionales que lleven al objetivo final. Es importante la funcion de mentor y de aprendiz en todos y cada una de las materias que se tocan en el desarrollo. Cuando ocurre un problema en su area debe ser capaz de exprimir al maximo todas las posibilidades y pruebas antes de quedarse en blanco. Debe aportar sus conocimiento de testing unitario/refactorizacion/patrones de diseño/punteros/base de datos… ya sea en su propio desarrollo o colaborando en el desarrollo de otro.
Esto… dificil de evaluar cuantitativamente y por lo tanto mejorar. Pero quienes entamos en direccion de proyectos o de departamentos de desarrollo lo vemos dia a día. Quizá de aqui pronto salga un diagrama o tabla en la que poder hacerlo.
Espero vuestros comentarios.

Julio 13, 2008

Six sigma o Seis sigma. Primera entrada

Archivado en: Uncategorized — jmuria @ 10:44 pm
Tags:

Hasta hace poco menos de un mes no tenia ni idea de qué era esto. Unos amigos que trabajan en Amsterdam me lo comentaron como lo mas normal del mundo pero parece que eso para España no se ha estrenado mucho.

Segun la wikipedia es una metodologia de gestión de proyectos en la que se analizan los procesos de produccion de modo estadistico para optimizarlos eliminando las causas de los problemas y mejorando la calidad.
http://es.wikipedia.org/wiki/Six_Sigma
http://en.wikipedia.org/wiki/Six_Sigma

Fue inventado por Motorola y es usado por muchas compañias en todo el mundo. Habla de procesos de producción en general pero para mi como jefe de proyecto me interesa el cómo aprovecharlo en el desarrollo de software. Hay webs que indican claramente que no soy el unico que cree que se puede aprovechar para el software.
http://software.isixsigma.com/

Establece unos niveles de conocimiento y responsabilidades a la hora de usar la metodologia. Esos niveles se establecen como cinturones en las artes marciales. El cinturon amarillo lo deben tener los operarios/programadores que usan six-sigma en su trabajo. La persona que los coordina debe tener el cinturon verde. Despues estan los cinturones negro, masters , campeones y Liderazgo Ejecutivo que ya es el CEO de la empresa. Para tener los cinturones hay que hacer examenes certificados como por ejemplo esta web http://www.sixsigmaonline.org/ donde se puede conseguir online pero aun me queda comprobar si realmente su certificacion es oficial. Lo normal es hacer un curso presencial pero en España no he visto que den ninguno.

Yo voy a ver de sacar el cinturon verde e intentar aplicarlo en el trabajo de jefe de proyecto. Todo lo que vaya descubriendo lo intentare añadir a este blog.

Blog de WordPress.com.