El Quinto Elemento

Del 4 al 8 de Agosto del 2008 se llevo a cabo la conferencia anual “Agile 2008” en Toronto Canada organizada por la “Agile Alliance”. Se reporta desde allá que en una de las conferencias, el influyente Bob Martin propuso que el Manifiesto Ágil ocupa una enmienda; acusó que muchos equipos ágiles ejecutan o producen código demasiado rápido pero con poco cuidado. Durante su presentación, el “Tio Bob” propuso que se incluyera al Manifiesto Ágil lo siguiente:


“Craftmanship over crap”

El texto se puede traducir literalmente como:
 

“La artesanía por encima de la porquería” (en español hasta hace rima)


El término “Craftmanship” quiere decir literalmente “Artesanía”, sin embargo en el contexto del desarrollo de software se debe entender como el arte de escribir código elegante, auto-documentado y fácil de evolucionar. Pete McBreen establece que el “Software Craftmanship” permite a los desarrolladores mezclar creativamente el arte, la ciencia y la ingeniera para entregar grandes sistemas. Aclarado el punto de la artesanía del software continuemos...

Por otro lado debemos entender que “crap” o “porqueria” se refiere (entre otras cosas) a código de tal complejidad que lo único que se logra es algo que 48 horas después no lo entiende ni el que lo escribió y que solo fue escrito para satisfacer el ego y vanidad irresponsable de algún programador hábil pero inseguro de sus propias capacidades.

Solo unos días después, Martin en su blog, aclara y refrasea lo originalmente propuesto de la siguiente forma:


“Artesanía por encima de la ejecución”
 

Continúa afirmando que su declaración original, fraseada de esa forma para lograr mayor impacto, debe quedar alineada a los conceptos de balance de valor de los enunciados originales del Manifiesto Ágil, en los que se establece que se valora algo, pero se valora más otra cosa. Así entonces el “Tio Bob” propone que el manifiesto ocupa que se le adicione que se valora la ejecución, es decir la producción rápida de código, pero se valora más el código bien escrito.

No puedo más que estar de acuerdo con lo anterior. En la lucha diaria por entregar valor a los negocios de forma ágil, no se deben sacrificar los principios de código bien escrito. XP (eXtreme Programming) hace un fuerte énfasis sobre esto y obliga lo anterior por medio de prácticas como el Desarrollo Dirigido por Pruebas, la Programación en Pares y la Propiedad Colectiva del Código, entre otras. Por lo mismo estoy convencido que una sola metodología (Scrum, XP, DSDM, Lean, etc.) por si sola NO es suficiente, se ocupa la sinergia entre los elementos de muchas de éstas.

Siempre he pensado que los arquitectos (los que hacen edificios) tienen la responsabilidad social de embellecer nuestras ciudades por medio de sus trabajos, de no ser por ellos todos nuestros edificios y casas fueran cubos de color blanco. El desarrollador ágil tiene una responsabilidad similar hacia el código que escribe. Reconozco que la analogía no es la más precisa, pero sirve para ilustrar el concepto.

Debemos de poner lo anterior en el contexto del valor que ésta “Artesanía” trae a nuestros clientes y porque deben preferir pagarla por encima de la ejecución. El valor consiste en que el código profesional, elegante y sencillo es más barato mantener, corregir y evolucionar tanto por los que lo escribieron originalmente como por otros posteriormente.

Y no es que el Manifiesto no considere ya estos conceptos, de hecho el principio #9 establece que la excelencia técnica y el buen diseño mejoran la agilidad; sin embargo estoy de acuerdo que es muy fácil caer en el pecado de producir por producir dejando de lado la calidad. Por esto sería conveniente que esto quede plasmado en la declaración de valores del Manifiesto Ágil como el Quinto Elemento.

 

User login

Who's new

  • hoppiemochie
  • Antannysoca
  • Ariana Mendez
  • Orlando Cano
  • isc_jemsedano

Who's online

There are currently 0 users and 1 guest online.

Syndicate

Syndicate content