Video: Robert C. Martin, The Renaissance of Craftsmanship
Este video es muy bueno sobre la Artesania de Software
[viddler id=6b61223d&w=545&h=381]
Disfrutenlo y por favor comentemos al respecto
Este video es muy bueno sobre la Artesania de Software
[viddler id=6b61223d&w=545&h=381]
Disfrutenlo y por favor comentemos al respecto
Hay muchas perlas en esta plática, sobre todo metáforas para comunicar a otros las ideas detrás de la artesanía y el profesionalismo:
- Médicos vs desarrolladores de software profesionales
- La regla del boy scout
- The grand re-design in the sky
- Cómo se desarrolla un escrito: de manera iterativa e incremental.
Por otro lado, ésta plática de fondo tiene un supuesto: que las prácticas de los métodos llamados ágiles son EL único camino efectivo que puede tomar un desarrollador profesional y responsable. Aunque concuerdo y sigo estas prácticas (excepción: TDD nunca me salió del todo bien, creo que BDD tiene más sentido), creo que el supuesto es cuestionable.
Un contrapunto a mi comentario anterior, es que la manera en que presenta los métodos ágiles me parece muy efectiva: presenta unas pocas prácticas concretas explicando las consecuencias más importantes de cada una. Esto es notable, porque en presentaciones de prácticas ágiles muchos caen en el error de presentar una larga lista de prácticas y con mucho detalle, lo cual pienso que ocasiona que los asistentes queden más mareados que con una idea profunda y efectiva en sus mentes.
Para mí, la parte medular es esta::
“Discipline… craftsmanship, projects confidence: we know what we’re doing, we know the best way to get the software done, we know the way to meet the deadline with the most that we can deliver. We know how to do this. This is what craftsmanship , this is what professionalism is. We are professionals, we are not laborers, we’re not factory workers. We are professionals, like doctors, like lawyers. We understand our profession and we are the ones who know best how to deliver what our employers and their customers want.”
Esta es la parte medular y el objetivo a perseguir para cualquier desarrollador de software.
Concuerdo con eso que comentas de las metaforas de hecho el famoso Zeno’s paradoxes el cual imagino a todo mundo le ha tocado es buenisimo.
Esta gran charla me recuerda aquel paper que hablaba de science vs art. Donde esta el desarrollo de software es un arte es una ciencia. En lo personal me quedo con que desarrollar es un arte.
Para finalizar me quedo con esta frase:
“The only way to go fast is to do the best job you can always..Do not make the mess”
Excelente video, bueno para esas platicas motivacionales para el equipo de trabajo.
Omar, no comparto la idea de que es solo arte o ciencia o ingeniería. Creo que se puede tomar lo mejor de cada enfoque, y precisamente una de las corrientes del software como labor artesanal trata de hacer esto.
Ejemplo:
http://apprenticeship-patterns.labs.oreilly.com/ch01.html#ch01_id2384431
(sección What Is Software Craftsmanship?)
El desarrollo de software no es un arte, no somos artistas, nuestro oficio es artesanos, es la metafora mas adecuada.
Yo creo que un artesano es aquel que abraza agil no solo como practica profesional, incluso en la personal, hay tantas actividades fuera del desarrollo de software en el cual agil nos ayuda mucho
A final de cuentas es la disciplina…
El tema de ágil es discutible. Pienso que los métodos denominados ágiles en el nombre llevan la penitencia. Por ejemplo, en la vida diaria yo puedo ser muy ‘ágil’ y hacer cabriolas triples en el aire y demás proezas, pero eso no implica que soy una persona saludable.
Algo parecido pasa con los métodos de desarrollo ‘ágiles’: puedes auto-proclamarte muy ágil y tener N prácticas ágiles implementadas en tu equipo y hasta puede que hayas tomado tu curso de scrum ‘master’, pero eso no tiene la implicación directa de que estes entregando más valor a tus clientes.
De alguna manera, creo que un buen número de gente está cayendo en el mismo error que cuando fue el boom de la proceso-esclerosis (CMM y familiares) y haciendo más énfasis en procesos y métodos que en el objetivo real.
Lo que debemos buscar no es ser ‘ágiles’, lo que debemos buscar es entregar excelentes productos, que satisfagan y de preferencia superen las expectativas de nuestros clientes y usuarios, con excelente calidad, manejando oportuna y adecuadamente los riesgos implícitos en proyectos de desarrollo de software. Queremos proyectos de software saludables y satisfactorios para todas las partes.
Las prácticas ‘ágiles’ de hoy bien podrían no ser las mas adecuadas mañana o incluso hoy mismo en ciertos contextos.
Como dijo Miyamoto Musashi: “You should not have any special fondness for a particular weapon, or anything else, for that matter.”
Saludos.
Para evitar malinterpretaciones: No estoy encontra de los principios y prácticas ágiles. ¡Al contrario!
Pero a final de cuentas son un cómo, no son el objetivo, y no hago la equivalencia entre craftsmanship y agility.
Craftsmanship es algo más y distinto a los métodos ágiles.
Todo es discutible sin duda, en mi opinión agil es uno de los caminos, sin duda habra mas, puede ser porque he estado en varias lugares, con distintas experiencias y personas, en lugar de estar en un solo lugar por varios años y ser el gran chile de un solo lugar, sin demostrar que tan bueno eres con gente incluso de otros países, pero eso depende de cada persona.
Discrepo contigo en cuanto a que en agil se enfocan en las practicas mas que en el producto, tal vez te hace falta experiencia de la vida real con agil y expresas eso debido a lo que lees o escuchas.
Domingo,
Sobre tu último párrafo. Mi crítica NO es hacia los valores y principios de los movimientos ágiles. Es hacia la interpretación que desafortunadamente una gran cantidad de personas hace de estos. Muchas veces he conocido desarrolladores de distintos lugares que se enfocan más al método que al objetivo final. O que confunden ‘agile’ o ‘leane’ con falta de disciplina y la quieren usar para justificar su desorden personal, lo cual de entrada es absurdo, ya que la disciplina es fundamental en la implementación de estos métodos. Como mencioné anteriormente, el hecho de que después de curso de 2 días te titulen ‘scrum master’ solo se viene a sumar a el montón de ridiculeces que desafortunadamente se pregonan con la bandera de ‘agile’.
Me temo que fui mal-interpretado.
Repito, mi crítica no es a los métodos ágiles, mucho menos cuando son bien implementados. De hecho los aplaudo y promuevo su adopción. Mi crítica es a la interpretación que a menudo se da a los temas de agilidad. Y mi opinión es que agilidad no equivale a craftsmanship.
Yo no te entendi, yo tengo la culpa.