24

Oct

Publicado por: Eric Cobos Sanchez | Agile | desarrollo | Programación

Manual del buen desarrollador: Principios básicos de extreme programming

Hace unos días escribía en este mismo blog un articulo sobre eXtreme programming y su relación con metodologías ágiles como SCRUM y KANBAN, en este articulo explicaba la características que comparte XP con Scrum y Kanban, el cual os recomiendo leer para comprender el contexto de este artículo.

Un desarrollador que desee usar metodologías ágiles correctamente debe conocer y aplicar, entre otras cosas, eXtreme Programming. Tal como mencioné en el post anterior, eXtreme Programming es una metodología de desarrollo de software cuyo principal objetivo consiste en crear software de calidad de la forma más productiva posible. Para cumplir con tan ambicioso objetivo, Kent Beck, creador de eXtreme Programming, propone para ello una conjunto de recomendaciones en forma de buenas prácticas que se consideran los valores y principios básicos para el desarrollador. Estos son:

Comunicación

La comunicación dentro en un equipo de desarrollo es fundamental para que la información entre los miembros fluya con normalidad, esto ayudará a evitar errores y agilizar las tareas compartidas. Existen diferentes tipos de comunicación: la comunicación directa (o hablada) entre desarrolladores, la documentación estática del código, la creación de buenos tests que auto-documenten el código o el pair-programming (poner enlace) entre otras.

Retroalimentación

La retroalimentación con el cliente es de gran ayuda entregar un software de calidad que cumpla las expectativas del mismo cliente. Para ello, el desarrollo debe realizarse en ciclos cortos que permitan mantener una retroalimentación constante y continua. Además, también existe la retroalimentación que proporcionan los tests unitarios realizados sobre el código propio, estos “hablan” sobre la salud del mismo código, es decir, aportan información sobre el estado del código y reportan todos los errores que encuentran “automáticamente”.

Simplicidad

Cuando me preguntan cuál es el principio básico que destacaría de XP, sin duda menciono la simplicidad. Cuando se trabaja en el diseño de una historia de usuario, es importante centrarse en esa tarea exclusivamente para mantener un código limpio y sencillo. Esto ayuda a evitar el over-engineering, es decir, no se debe preparar software “por si acaso”, pues como más sencillo sea el código, más fácil será entenderlo y mantenerlo.

Coraje

La valentía es clave en un programador. Es muy importante para un programador tener el coraje suficiente para enfrentar una serie de factores adversos que conlleva su trabajo. Por ejemplo, debe ser valiente para evitar over-engineering, para desechar un código fuente antiguo inservible, para refactorizar código que funcione o para sobreponerse de problemas que lleva tiempo sin resolverse. El coraje de un desarrollador es un factor que no suele valorarse “desde fuera” pero que, quienes nos dedicamos a esta profesión, conocemos perfectamente.

Respeto

Por último, el respeto es algo básico para el trabajo en equipo. Obviamente, durante un proceso de desarrollo de software pueden intervenir un gran número de personas trabajando simultáneamente en el mismo código, es muy importante que sepan respetarse entre ellas. A veces será necesario proponer un conjunto de normas de actuación para evitar malentendidos.

Estos son los valores principales que rigen a un buen desarrollador siguiendo el “manual” de buenas prácticas de eXtreme Programming propuesto por Kent Beck. En otra ocasión trataremos las implicaciones que tienen este conjunto de valores en entornos distintos al desarrollo de software, pues como verás, estos principios tienen infinidad de aplicaciones prácticas en otros ámbitos de mundo empresarial.

 

Si te ha parecido interesante este artículo re recomiendo que estos temas sobre desarrollo ágil:

 

Barcelona
Passeig Gaiolà 13
+34 933 801 144
Lleida
Carrer Agustins 7
+34 973 988 222
Andorra
(Escaldes-Engordany)
Parc de la Mola 10, AD700
Bogota
Carrera 9A #99-07 Piso 9. Despacho 02
Torre la Equidad