La artesanía del software es un enfoque del desarrollo de software que pone énfasis en las habilidades de codificación de los desarrolladores de software . Es una respuesta de los desarrolladores de software a los males percibidos de la industria del software convencional , incluida la priorización de las preocupaciones financieras por sobre la responsabilidad del desarrollador.
Históricamente, se ha alentado a los programadores a verse a sí mismos como practicantes del análisis estadístico bien definido y el rigor matemático de un enfoque científico con teoría computacional. Esto ha cambiado hacia un enfoque de ingeniería con connotaciones de precisión, previsibilidad, medición, mitigación de riesgos y profesionalismo. La práctica de la ingeniería condujo a demandas de licencias, certificación y cuerpos codificados de conocimiento como mecanismos para difundir el conocimiento de la ingeniería y hacer madurar el campo.
El Manifiesto Ágil , con su énfasis en "individuos e interacciones por encima de procesos y herramientas", cuestionó algunas de estas suposiciones. El Manifiesto de la Artesanía del Software amplía y desafía aún más las suposiciones del Manifiesto Ágil, trazando una metáfora entre el desarrollo de software moderno y el modelo de aprendizaje de la Europa medieval .
El movimiento tiene sus raíces en las ideas expresadas en obras escritas. The Pragmatic Programmer de Andy Hunt y Dave Thomas y Software Craftsmanship de Pete McBreen posicionan explícitamente el desarrollo de software como heredero de las tradiciones gremiales de la Europa medieval. El filósofo Richard Sennett escribió sobre el software como una artesanía moderna en su libro The Craftsman. Freeman Dyson , en su ensayo "Science as a Craft Industry", amplía las artesanías del software para incluir el dominio del uso del software como motor para el beneficio económico:
Tras el debate inicial, se celebraron conferencias en Londres [1] y Chicago [2] , tras las cuales se redactó un manifiesto [3] que se publicó en Internet para reunir firmantes. A esto le siguió el desarrollo de prácticas para seguir desarrollando el movimiento, incluido el intercambio de talentos en "Craftsman Swaps" y la evaluación de habilidades en "Craftsmanship Spikes".
Del sitio web de Software Craftsmanship
Como aspirantes a artesanos del software, estamos elevando el nivel del desarrollo de software profesional al practicarlo y ayudar a otros a aprender el oficio. A través de este trabajo hemos llegado a valorar:
- No sólo software funcional, sino también software bien elaborado
- No sólo responder al cambio, sino también agregar valor de manera constante
- No sólo individuos e interacciones, sino también una comunidad de profesionales.
- No sólo colaboración con el cliente, sino también asociaciones productivas
Es decir, en la búsqueda de los elementos de la izquierda hemos encontrado que los elementos de la derecha son indispensables.
- © 2009, el abajo firmante.
- Esta declaración puede copiarse libremente en cualquier forma, pero sólo en su totalidad a través de este aviso.
Los orígenes de la artesanía del software provienen del movimiento de desarrollo de software ágil , que tenía como objetivo reformar la gestión de proyectos de software en la década de 1990.
En 1992, el ensayo de Jack W. Reeves "¿Qué es el diseño de software?" [4] sugería que el desarrollo de software es tanto un oficio como una disciplina de ingeniería. Siete años después, en 1999, se publicó The Pragmatic Programmer . Su subtítulo, "From Journeyman to Master", sugería que los programadores pasan por etapas en su desarrollo profesional similares a las tradiciones gremiales medievales de Europa.
En 2001 se publicó el libro Software Craftsmanship de Pete McBreen , en el que se sugería que los desarrolladores de software no tenían por qué verse a sí mismos como parte de la tradición de la ingeniería y que sería más adecuada una metáfora diferente.
En su discurso inaugural de agosto en Agile 2008, Robert C. Martin propuso un quinto valor para el Manifiesto Ágil, a saber, "la habilidad manual por encima de la basura". Más tarde cambió su propuesta a "la habilidad manual por encima de la ejecución". [5]
En diciembre de 2008, un grupo de aspirantes a artesanos del software se reunió en Libertyville, Illinois , con la intención de establecer un conjunto de principios para la artesanía del software. Tres meses después, se decidió elaborar un resumen de las conclusiones generales. Se presentó públicamente, para su visualización y firma, en forma de Manifiesto para la artesanía del software. [6]
En abril de 2009, dos de las empresas del movimiento de artesanía del software, 8th Light y Obtiva, experimentaron con un "Craftsman Swap". [7] El Chicago Tribune cubrió este evento el 15 de junio de 2009. [8] En enero de 2010, se celebró un segundo Craftsman Swap entre Obtiva y Relevance. [9]
La London Software Craftsmanship Community (LSCC) fue fundada en 2010 y hoy es la comunidad de artesanos del software más grande y activa del mundo, con más de 5000 artesanos. En 2014, Sandro Mancuso, uno de sus cofundadores, publicó un libro The Software Craftsman: Professionalism, Pragmatism, Pride (El artesano del software: profesionalismo, pragmatismo, orgullo) . Este libro le dio al movimiento de artesanos del software una visibilidad adicional, reforzando los esfuerzos para lograr una mayor excelencia técnica y satisfacción del cliente.