octubre 20, 2008

El círculo proceso-persona

Leyendo esta entrada sobre la idea recurrente de que lo más importante para hacer software son las personas, me ha venido a la cabeza una reunión de hoy que hemos tenido en Biko. Las mejoras en el desarrollo de software no se acaban nunca, y cuando tienes a medio hacer algo (podeis echar un ojo al documento libre sobre la implantación de técnicas ágiles con CMMI) ya estás pensando en lo siguiente.
Como decía, el post referenciado, me recordaba lo que hacemos cuando intentamos mejorar las cosas. En la mente tienes que lo importante son las personas, pero lo más facil ¿qué es? ¡¡Definir procesos!! Te pones a pensar: si hacemos las cosas así, o de esta otra manera, y luego nos sale esta otra situación, entonces lo que hay que hacer es... definimos cómo se debe hacer esto, para que después se haga igual...

Así que nos hemos ido a los procesos y parecería que nuestra intención es implantar CMMI nivel 4 o 5. (uf, y por cierto, no os olvideis de la encuesta, gracia). Yo siempre acabo diciendo que lo mejor es usar el sentido común, conociendo bien las herramientas disponibles y con la experiencia, se pueden tomar decisiones acertadas que son totalmente diferentes en el marco de un proyecto u otro. Pero siempre parece que tiras a definir los procesos, más que a pensar que la gente que tenga que resolverlos ya sabrá hacerlos, o que precisamente, a los que no sepan les vas a formar.

Es una dialéctica complicada, la de procesos contra personas planteada en el manifiesto ágil. Y cuesta romper. Supongo que tenemos hecha la cabeza de una manera (dura) que es dificil de cambiar la forma de pensamiento.
Todo esto está relacionado con lo que ya he comentado en otras ocasiones: ¿buenas prácticas o procesos? Al final, depende de la gente, a unos los puedes matar de aburrimiento siguiendo procesos muy formales, y a otros perderlos por el camino si no les pones las luces de aterrizaje bien claras.

6 comentarios:

  1. Por alusiones te diré que de la reunión de hoy me siento como si hubiéramos ido al CMMI level 140 o algo así.

    Es que es lo fácil, si tienes que tomar decisiones "desde arriba" al final no es fácil pensar en las personas. Sin embargo a todos nos es fácil empezar a describir procesos, normalizar acciones, unificar criterios... coartar al individuo, programar su actuación, etc.

    Aún así diré que estoy bastante satisfecho del resultado. Los procesos son buenos, son importantes.

    ResponderEliminar
  2. En efecto los proceos son importantes, tampoco quiero que parezca lo contrario. Pero creo que solo hasta un nivel de experiencia, después, puedes ser más productivo de confiando en tu experiencia y conociomientos, lo que pasa que entonces, si esos procesos son muy rígidos, no puedes "cruzar la linea". Lo dificil es el equilibrio.

    ResponderEliminar
  3. En mi opinión no hay dilema entre proceso y persona: los dos son puntos de vista complementarios, que relatan una misma realidad.

    Voy a argumentar mi afirmación... Observo que este dilema no es prerogativa única de la ing. del SW, sino un tema clave que abarca la sociedad entera. Por supuesto, el mundo del SW tiene sus peculiaridades que determinan la manera de resolver el dilema. Otros mundos tienen otras, y llegan a otras conclusiones... Pensad en la enseñanza secundaria: ¿sería posible basar el aprendizaje en equipos de aprendizaje auto-gestionados? Considerando la realidad educativa actual, lo sería únicamente para un porcentaje marginal de estudiantes excepcionales.
    Volviendo al sw, en mi opinión existe la tendencia a considerar la presona bajo una luz sesgada de optimismo. Esta buena actitud, no siempre está justificada por la realidad. Los profesionales: no siempre son comunicativos, capaces de auto-gestionarse, no siempre entienden la problemática de los clientes con la misma intensidad que la tecnológica, a menudo prefieren la costumbre a la innovación, etc. Por eso un buen proceso es indispensable: refuerza aquellos aspectos donde andamos flojos, y nos impide ir por la tangente en otros asuntos que nos molan mucho pero quizá no sean tan esenciales para el proyecto.
    Las personas necesitan referencias, necesitan tomar las medidas del entorno donde se mueven, deben saber dónde van a jugar su rol (cómo un bailarin en su escenario). El proceso brinda todo esto y más, sin por ello ahogar a la persona (un buen procesos es como unas buenas normas que imparten unos buenos padres al educar sus hijos).
    Fijados unos mínimos requerimientos, sobre las personas y sobre los procesos, el accento podrá ponerse aquí o allá teniendo en función de la realidad. Querer a todas cuestas destacar personas sobre procesos o vice versa no es muy diferente sin saber la realidad en la que vamos a aplicar nuestras conclusiones.

    ResponderEliminar
  4. Hola Massama, en efecto son complementarios, deben serlo. Pero el hecho que identifico es que se tiende a abusar de los procesos a la hora de preparar el trabajo.
    Los procesos guían en los procesos iniciales de aprendizaje, son básicos. Pero después, se aprende, se obtiene la visión para ver sus limitaciones y posibles mejoras, y al final, se crece por encima del proceso, y este solo pone límites a algo que se podía hacer mejor.

    ResponderEliminar
  5. Lo malo es cuando se erigen procesos sobre malas prácticas, institucionalizando la mediocridad... y lo peor cuando todos los esfuerzos de una organización se centran en erigir este tipo de procesos, creyendo erróneamente que son la panacea, olvidando de paso fomentar las buenas prácticas (refactorizacion, code-reviews, planes de carrera "de verdad", políticas de incentivos)... Aunque obviamente CMMI no tiene por qué derivar en este negro panorama que he enunciado, me uno a un respetado desarrollador (que nos visito en Biko) cuando decía: CMMI no es "malo", lo "malo" son las implantaciones de CMMI que se están realizando.

    ResponderEliminar
  6. En estos casos recurro a 'Peopleware': seguramente recurro a este libro porque coincido con lo que pone, no lo niego.

    Cito: "The total of all standards imposed upon your people should be described in no more then tne pages." Clarito, no.

    "You can't really declare something a standard until it has already become a de facto standard". Esto es: si algo funciona en tu organización, ése es el estándar y no algo impuesto.

    Todo esto se resume en algo dicho hace mucho tiempo: "El sábado ha sido instituido para el hombre y no el hombre para el sábado."

    Los procesos son buenos si ayudan a las personas que los aplican a realizar su trabajo. Si no, en mi opinión, se quedan en Mind Games.

    ResponderEliminar