Recientemente en mi empresa se ha sugerido que un desarrollador debe centrarse (y solo uno) en una función. Eso significaría algo como dejar al desarrollador a un lado de la rutina normal del equipo, liberarlo de algunas otras responsabilidades (reuniones y demás) y esta persona sería el "único" responsable de la función, en cuanto a tecnología.
Para el registro, usamos SCRUM dentro de SAFe, y tenemos desarrolladores a tiempo completo por equipo, compartiendo el control de calidad y los propietarios de productos entre nuestros dos equipos (Android e iOS).
Si bien estoy de acuerdo en que esto aumentaría la productividad a corto plazo, tengo la sensación (y creo que lo aprendí en la universidad) de que esta es una mala práctica por muchas razones:
- La revisión del código pierde valor.
- Mínimo intercambio de conocimientos.
- Incremento de riesgo.
- Pérdida de flexibilidad del equipo.
¿Tengo razón o no es una mala práctica?
fuente
Respuestas:
En mis 20 años de experiencia, es mejor tener la propiedad del código para rotar las responsabilidades entre los diseñadores o al menos tener un par de propietarios. La propiedad de una sola característica tiene los siguientes problemas, varios de los cuales mencionó:
fuente
La propiedad de funciones es inevitable, y hacerlo bien puede ser algo bueno. Ayuda a construir el dominio y permite la autonomía, dos de los pilares de compromiso generalmente reconocidos . Deja en claro quién tiene la responsabilidad de ese código y ayuda a la delegación, la comunicación y, de lo contrario, a hacer la mierda.
Pero no estás hablando de eso. Estás hablando de formar un nuevo equipo de uno: separar a esta persona del resto del código. Eso no es genial. Limita su carrera. Agrega riesgo al proyecto / empresa. Daña a la camaradería.
Por lo tanto, podría haber moderación para alejar esto de una mala idea.
fuente