Productividad – Mas Valor, Menos Tiempo

Productividad – Mas Valor, Menos Tiempo

Desafortunadamente vivimos en un mundo capitalista, donde las empresas y el dinero son las principales fuerzas que mueven la economía mundial, “El tiempo es dinero”. No es una discusión filosófica acerca de si está bien, o si está mal. Desafortunadamente esta es la realidad del mundo profesional y es el principal factor que nos empuja a aumentar la productividad.

La realidad es que en todos los empleos el nivel de “Seniority” no tiene tanto que ver ni con tu edad, ni con tu conocimiento, ni con tu experiencia. Estos 3 factores son importantes solamente si pueden generar lo que buscan las empresas, aumentar la productividad.

“Mayor edad, conocimiento o experiencia no sirven si no se reflejan en mayor productividad”

En desarrollo de Software es lo mismo. El principal factor que separa a los programadores Jr. de los Sr. es la capacidad de ser más productivos. Esta productividad debe de ser directamente proporcional a la experiencia, conocimientos, y edad que tiene el programador, pero la meta final siempre será mayor productividad.

Calidad y Productividad

Si no has leído los posts anteriores, acerca de Calidad en el Software, ve ahora y léelo. Es importante para entender el resto del post. Aquí te dejo las ligas:

  1. La Calidad en el Software
  2. Elementos de la Calidad en el Software

Para entender lo que es Productividad, en cuestión de desarrollo de software, primero tenemos que entender cómo se define la calidad en el desarrollo de software, es muy simple:

“Hacemos Software para cumplir los Requisitos del Usuario. Hacemos Software para que el Usuario lo quiera usar.”

Podemos discutir cuestiones más profundas acerca del impacto del software que desarrollamos, como llevar registro, reportes, productividad, etc. Pero lo importante es que hacemos software para cumplir los requisitos del usuario. Y con este concepto podemos entonces entender que es productividad.

“Productividad es la capacidad de entregar más requerimientos, con calidad, en menos tiempo.”

Y es muy importante el punto de calidad, no sirve que generemos más, si no tiene calidad.

¿Agile = + Productividad?

Todos los desarrolladores actuales conocen han escuchado de Agile. Parte filosofía, parte mejores prácticas, pero siempre enfocado en aumentar la velocidad de entrega de funcionalidades que verdaderamente cumplan lo que requiere el usuario. En resumen: Aumentar la productividad.

Desafortunadamente, Agile surgió hace tanto tiempo, que la mayoría de los programadores en el mercado no saben y no entienden por qué Agile es más productivo. Se preguntarán. ¿Comparado con qué? No es importante para este Post conocer los origines y la razón de la existencia de Agile, será temas que posiblemente exploraré en el futuro, pero si es importante entender lo Agile pretende solucionar.

La manera más fácil de entender Agile es entender el concepto de “The Lowest Hanging Fruit” (la fruta más a la mano). Dicha analogía se basa en un ejercicio de pensamiento hecho para entender como medir el valor de algo, más o menos va así:

Si estas hambriento y encuentras un árbol con frutas. ¿Cuál va a ser la primera fruta que vas a tomar?

  • La fruta más bonita, aunque esto signifique tener que escalar el árbol.
  • O la más a la mano, que podrás comer inmediatamente.

Y la respuesta debe de ser obvia. La fruta más a la mano es la que mayor valor te aporta, con el menor esfuerzo.

Y por eso en Agile el orden con el que priorizan el trabajo sigue el mismo principio:

“Agile es enfocarse en la funcionalidad que aporta más Valor al Negocio, y que se puede ejecutar de la manera más rápida.”

Y es importante que entendamos bien este concepto de “Valor al Negocio”. Finalmente, no podemos medir la productividad en cuantas líneas de código puedo escribir por hora, ni en cuantas nuevas funcionalidades puedo agregar en un sprint, ni en generar el mínimo número de bugs por función entregada. Ninguno de estos medidores nos sirve si no nos enfocamos, primero que nada, en entregar funcionalidad que entregue “Valor al Negocio”.

En el siguiente Post veremos técnicas que debes de tener en cuenta para que puedas aumentar tu productividad.

Recuerda:

  • Calidad es hacer Software que cumple los Requisitos del Usuario. Calidad es hacer Software que el usuario quiera usar.
  • Agile es enfocarse en la funcionalidad que aporta más Valor al Negocio, y que se puede ejecutar de la manera más rápida.
  • Productividad es la capacidad de entregar más requerimientos, con calidad, en menos tiempo.

Deja un comentario

Close Menu