0:00:00.000,0:00:03.600 Gracias por la introducción. En los próximos 10 minutos voy a 0:00:03.600,0:00:07.080 darle un vistazo al campo de la estimación del esfuerzo de software 0:00:07.080,0:00:11.820 y voy a mostrarles cómo pueden hacer frente a los retrasos en sus entregas de software. 0:00:11.820,0:00:19.800 También hablaré de por qué es importante adoptar un enfoque holístico para la entrega puntual de software. 0:00:21.300,0:00:25.800 Todos sabemos que los retrasos en la entrega y los sobrecostos han sido problemas habituales 0:00:25.800,0:00:32.400 en la industria del software desde hace décadas. En promedio, los proyectos de software superan los 0:00:32.400,0:00:38.820 tiempos en torno al 30% y este porcentaje no parece haber disminuido desde los años ochenta. 0:00:39.540,0:00:43.800 Y aunque la estimación del esfuerzo está en el corazón de casi todas las industrias, 0:00:43.800,0:00:47.640 es especialmente difícil para la industria del software 0:00:47.640,0:00:53.520 porque el desarrollo de software es una empresa compleja que se ve afectada por una variedad 0:00:53.520,0:00:59.400 de amplios factores sociales y técnicos. Aunque actualmente la mayoría de las empresas de software 0:00:59.400,0:01:06.240 se basan en evaluaciones subjetivas de expertos humanos para llegar a una estimación del esfuerzo. 0:01:06.240,0:01:12.540 Y los expertos humanos recurren a su intuición, a reglas empíricas o a modelos generalizados. 0:01:12.540,0:01:19.020 Y la investigación ha demostrado que esto puede conducir a estimaciones inexactas e inconsistentes 0:01:19.020,0:01:24.000 porque en el desarrollo de software, sí, hay demasiadas incógnitas y demasiados 0:01:24.000,0:01:28.980 factores interrelacionados para reducirlo a una corazonada o una regla empírica. 0:01:29.640,0:01:34.440 Así que tenemos que tener una comprensión más profunda de los factores que juegan un papel aquí, 0:01:34.440,0:01:38.700 cómo interactúan entre sí, y tenemos que incorporarlos en 0:01:38.700,0:01:42.960 nuestros modelos de estimación del esfuerzo para reducir el retraso en las entregas de software. 0:01:45.000,0:01:51.000 Así que para investigar los factores más relevantes y sus interacciones realizamos casos prácticos 0:01:51.000,0:01:53.700 en ING. ING es un gran 0:01:53.700,0:01:58.980 banco holandés que opera a escala internacional. Y utilizamos el enfoque de métodos mixtos, por lo que 0:01:58.980,0:02:04.620 combinamos datos cualitativos de encuestas con datos cuantitativos de repositorios 0:02:05.520,0:02:13.620 para corroborar las percepciones de los encuestados y también para validar sus percepciones 0:02:13.620,0:02:19.320 y captar múltiples perspectivas sobre el fenómeno de la entrega puntual de software. 0:02:20.100,0:02:25.620 Y queríamos averiguar qué factores afectan a los retrasos en la entrega de software y 0:02:25.620,0:02:27.540 cómo se relacionan estos factores entre sí. 0:02:29.760,0:02:38.760 Y con estos conocimientos podemos comprender mejor qué datos y técnicas se necesitan 0:02:38.760,0:02:43.920 para mejorar los métodos de estimación del esfuerzo y predecir y gestionar los riesgos de retraso. 0:02:45.600,0:02:53.160 Bien, a partir de las respuestas abiertas de la encuesta y de nuestra validación con los datos del repositorio 0:02:53.160,0:02:59.100 identificamos 25 factores que afectan a los retrasos en las entregas de software y 0:02:59.100,0:03:06.840 organizamos estos factores en cinco dimensiones de riesgo. La primera es la dimensión organizativa 0:03:06.840,0:03:12.600 que en realidad se refiere a la incertidumbre que rodea a los entornos de organización 0:03:12.600,0:03:18.600 en el que la entrega de software se lleva a cabo. Y tres de los factores de organización se posicionan 0:03:18.600,0:03:25.380 entre los cinco factores más influyentes. Así, por ejemplo, la alineación organizativa, que 0:03:25.380,0:03:32.580 es en realidad tener una visión y una misión compartidas, puede garantizar la alineación entre 0:03:32.580,0:03:36.360 la aplicación de su entrega de software y su estrategia de negocio, 0:03:36.360,0:03:40.740 y esto se informa para contribuir a su entrega de software a tiempo. 0:03:41.700,0:03:49.020 Los encuestados también informaron que a menudo se ven obstaculizados por la política organizativa 0:03:49.020,0:03:52.620 y la distribución geográfica de los equipos de software. 0:03:54.120,0:03:58.320 A continuación tenemos los factores de proceso, que representan la 0:03:58.320,0:04:03.720 eficacia y la madurez de la forma en que trabajan los equipos de software. 0:04:03.720,0:04:09.408 Y en esta categoría, el refinamiento de requisitos es el factor más mencionado que 0:04:10.500,0:04:15.660 afecta a la demora en las entregas de software. De hecho, es el proceso de definición de sus 0:04:15.660,0:04:19.560 entrega de software y dividirlo en elementos de trabajo más pequeños, 0:04:19.560,0:04:27.240 y la pérdida o la falta de detalles que se informa que es el principal factor de retraso en las entregas de software. 0:04:29.100,0:04:33.840 También tenemos factores de proyecto que representan la complejidad inherente 0:04:33.840,0:04:39.180 e incertidumbre de un proyecto de software. Y en esta categoría, las dependencias de tareas 0:04:39.180,0:04:46.260 constituyen el factor de retraso más mencionado. Y estas dependencias pueden ocurrir a través de 0:04:46.260,0:04:53.580 equipos y entre productos debido a prioridades analizadas y calendarios incoherentes. 0:04:56.340,0:05:02.100 También tenemos los factores relacionados con las personas. Así, los encuestados informaron que los equipos que 0:05:02.100,0:05:05.820 son más estables, más cualificados, más familiarizados entre sí, 0:05:05.820,0:05:10.260 son los que más a menudo entregan el software a tiempo. 0:05:10.800,0:05:18.000 Y la última categoría son los factores técnicos, y los encuestados informaron que a menudo se retrasan por 0:05:18.540,0:05:22.440 dependencias técnicas y problemas relacionados con la escasa documentación del código 0:05:22.440,0:05:27.180 y una infraestructura informática poco fiable. Pero los factores de esta categoría, 0:05:28.140,0:05:33.300 tienen el menor impacto de todas las categorías. 0:05:34.680,0:05:37.200 Así que para resumir, hay una visión general 0:05:37.200,0:05:42.840 de los cinco principales factores que tienen el mayor impacto en los retrasos en sus entregas de software. 0:05:43.980,0:05:48.000 Así que estos son los factores a los que deben prestar mucha atención. 0:05:48.600,0:05:54.000 Y lo interesante es que ninguno de ellos se encuentra en el software en absoluto, verdad?, 0:05:54.000,0:05:58.980 están relacionados con sus entornos de organización y la calidad de sus procesos, 0:05:58.980,0:06:04.140 o sea por la forma en que sus equipos de software trabajan. Y también podemos ver que 0:06:05.700,0:06:10.440 son controlables. Así que estos son los factores sobre los que 0:06:10.440,0:06:14.460 los equipos de software a menudo se quejan, verdad?, esto es algo que nos está pasando, 0:06:14.460,0:06:19.020 no tenemos ningún impacto sobre ella, pero se puede actuar sobre 0:06:19.020,0:06:22.980 tus refinamientos de requisitos, puedes invertir en tu gestión de dependencias, 0:06:22.980,0:06:27.240 y también se puede invertir en una cultura organizacional más saludable. 0:06:30.600,0:06:36.900 Así que sabemos que estos son los principales factores que tienen un impacto en su retraso, 0:06:37.920,0:06:41.280 lo que significa que debemos regularlos, pero la siguiente pregunta es 0:06:41.280,0:06:44.760 ¿cómo debemos regularlos? Así que para responder a esa pregunta miramos 0:06:44.760,0:06:49.200 en diferentes tipos de relaciones entre los factores y la entrega a tiempo. 0:06:50.460,0:06:54.060 Nos centramos más concretamente en tres tipos de efectos ortogonales. 0:06:54.060,0:06:59.520 Así que nos fijamos en las relaciones directas, relaciones indirectas, y las relaciones contributivas. 0:07:00.960,0:07:04.980 Y esto nos permitió distinguir entre simples y complejas, 0:07:04.980,0:07:10.320 y las relaciones dependientes de la condición. No voy a entrar en la especificidad de las 0:07:10.980,0:07:14.820 interacciones entre los factores, pero esto realmente permite 0:07:14.820,0:07:19.560 reunir todos los resultados. Así que los factores, la clasificación de los factores 0:07:19.560,0:07:25.980 y sus relaciones por venir, para crear un marco conceptual de la entrega a tiempo de software 0:07:25.980,0:07:30.180 como se muestra aquí. Así que puede parecer un poco abrumador al principio, 0:07:31.560,0:07:34.800 pero en realidad visualiza los resultados que hemos discutido hasta ahora. 0:07:34.800,0:07:39.300 Así que usted puede ver los factores en las elipses, las categorías en los rectángulos azules, 0:07:39.300,0:07:44.700 y las flechas visualizan el signo y la dirección de las relaciones que encontramos. 0:07:45.420,0:07:51.540 Y lo interesante es que los factores interactúan jerárquicamente entre sí. 0:07:51.540,0:07:55.080 Así que los factores organizativos interactúan con los factores humanos, 0:07:55.080,0:07:57.840 que a su vez influyen en los factores técnicos, 0:07:59.340,0:08:06.420 y estas interacciones jerárquicas indican que la modificación de un factor puede repercutir en otro. 0:08:06.420,0:08:12.900 Esto demuestra que la entrega de software a tiempo se ve afectada por un sistema de factores interrelacionados 0:08:14.700,0:08:20.340 que hay que considerar en su conjunto. Así que hay que utilizar un enfoque holístico 0:08:20.340,0:08:25.440 para hacer frente a los retrasos en sus on-time software, en sus entregas de software. 0:08:25.440,0:08:31.740 Así que no intenten abordar los factores individualmente, sino formular tratamientos sistemáticos 0:08:31.740,0:08:37.320 basados en estas relaciones directas e indirectas para tener el mayor impacto en sus retrasos. 0:08:37.320,0:08:42.480 Les daré un ejemplo concreto. El factor organizativo "apoyo 0:08:42.480,0:08:48.900 ejecutivo" se percibe que tiene un impacto indirecto en la entrega oportuna de software a través de la estabilidad del equipo 0:08:50.100,0:08:55.440 y la estabilidad del equipo afecta directamente a la eficacia de un equipo en la construcción de 0:08:55.440,0:09:00.000 habilidades y conocimientos con el tiempo y esto afecta a los factores 0:09:00.000,0:09:06.840 técnicos, calidad del código y fallos o incidencias que introducen reelaboraciones necesarias para el 0:09:06.840,0:09:13.560 equipo de software y, por lo tanto, retrasos. Así que esto significa que el establecimiento de 0:09:13.560,0:09:18.420 un mayor apoyo ejecutivo puede dar lugar a equipos más estables y capacitados 0:09:18.420,0:09:25.740 que son más capaces de hacer frente a mantener la calidad del código y que pueden resolver mejor 0:09:25.740,0:09:31.500 retrasos causados por errores o incidentes. Y este camino desde el apoyo ejecutivo superior 0:09:31.500,0:09:36.300 a los factores técnicos es un ejemplo de muchos caminos similares 0:09:36.300,0:09:40.980 que podemos derivar de nuestro marco conceptual y que nos permiten 0:09:41.820,0:09:48.300 hacer hipótesis sobre lo que realmente puede mejorar sus entregas de software a tiempo. 0:09:49.260,0:09:54.840 ¿Qué hemos aprendido de todo esto? Bueno, en primer lugar vimos que el software a tiempo 0:09:54.840,0:10:01.140 se ve afectado por un sistema de factores interrelacionados que requieren un enfoque holístico. 0:10:03.300,0:10:08.220 En segundo lugar, vimos que los factores más influyentes no están en el software, sino que son 0:10:08.220,0:10:12.060 sus entornos organizativos y en la calidad de sus procesos 0:10:12.060,0:10:18.300 así que asegúrense de invertir en su refinamiento de los requisitos, el rendimiento efectivo de los pendientes, 0:10:18.300,0:10:23.040 una mejor gestión de la dependencia, y en un entorno organizativo saludable. 0:10:25.020,0:10:30.120 Y al mismo tiempo, asegúrense de incorporar estos factores en sus modelos de estimación del esfuerzo 0:10:30.120,0:10:34.980 porque cuando se captura la información no es sólo acerca de la tarea de software, sino también 0:10:34.980,0:10:37.740 acerca de los procesos, su equipo, su organización, 0:10:37.740,0:10:43.500 en realidad se puede mejorar el poder predictivo de sus modelos de estimación de esfuerzo. 0:10:46.080,0:10:51.000 Así que si les interesa este trabajo y quieren saber más 0:10:51.000,0:10:54.060 sobre el marco conceptual, cómo aplicarlo en la práctica, 0:10:54.060,0:10:59.220 entonces no duden en ponerse en contacto conmigo y gracias. A todos. 0:10:59.220,0:11:03.720 Muchas gracias Elvan, preguntas de nuestros espectadores, 0:11:03.720,0:11:12.840 y la primera es, ¿dónde y cómo puedo aprender estas habilidades políticas como programador 0:11:12.840,0:11:18.240 porque ciertamente no eran parte de mi grado? Bueno, tampoco en la mía, 0:11:19.800,0:11:20.520 sí, 0:11:20.520,0:11:25.200 basándome en mi propia experiencia, yo diría que es algo que se aprende con el tiempo, 0:11:25.200,0:11:36.960 así que yo diría que si usted termina en más situaciones de las que realmente necesita estas 0:11:36.960,0:11:39.420 habilidades políticas, por ejemplo, 0:11:40.200,0:11:45.660 para defender tus productos, para crear realmente una estrategia empresarial, 0:11:45.660,0:11:49.560 Creo que vendrá con la experiencia pero también quizás con la edad. 0:11:51.780,0:11:59.460 Creo que es una pregunta relacionada. ¿Es este el papel o es, lo siento estoy 0:11:59.460,0:12:04.680 sólo tratando de dar sentido a esto, es esto algo que los gerentes de producto o proyecto 0:12:04.680,0:12:12.180 los gerentes son más capaces de hacer que los desarrolladores? ¿Es parte de su papel, manejar estas 0:12:12.180,0:12:14.700 cuestiones no técnicas? Sí, 0:12:14.700,0:12:20.700 eso es definitivamente parte de sus responsabilidades. Así que en mi investigación he mirado principalmente los proyectos 0:12:20.700,0:12:24.600 de Agil en los que trabajan con, usted tiene un equipo de desarrollo de software 0:12:24.600,0:12:32.160 y usted tiene un propietario del producto que es la persona que realmente representa el 0:12:32.160,0:12:37.860 interés del cliente, el consumidor, y también es la persona que cierra la brecha 0:12:37.860,0:12:43.740 entre los desarrolladores de software y los directivos. Pero creo que en realidad sería mejor si 0:12:43.740,0:12:47.160 no necesitaría un propietario del producto, verdad?, si el entorno sería que es 0:12:47.160,0:12:53.280 aparente que como desarrollador puede ir directamente a la gestión y, bueno, compartir tus ideas 0:12:54.240,0:12:58.680 y tus deseos, sí. Bien, y tengo una última 0:12:58.680,0:13:01.680 pregunta antes de que pasemos al siguiente orador y esta es una pregunta personal. 0:13:01.680,0:13:04.740 Ok. ¿Hubo alguna evidencia en su estudio de que 0:13:05.880,0:13:11.700 estas cosas son más fáciles de negociar cuando la gestión ha venido de un fondo técnico 0:13:12.300,0:13:17.160 o es igual de difícil trabajar con ingenieros de software convertidos en directivos 0:13:17.160,0:13:23.340 o con las personas que vienen con MBA? Sí, sí, basado en mi propia experiencia 0:13:23.340,0:13:28.620 yo diría que funciona mejor, de hecho, si la gestión tiene una formación técnica 0:13:28.620,0:13:32.100 especialmente cuando se trata de los factores técnicos que he mencionado. 0:13:32.100,0:13:38.760 Así que quería dedicar más tiempo a la refactorización del código, la calidad del código, las pruebas de software, 0:13:39.900,0:13:44.280 Creo que es más fácil de entender el valor añadido 0:13:44.280,0:13:48.900 de estos factores si usted tiene una formación en ciencias de la computación.