La Entrelazamiento de Preocupaciones entre las Personas y el Desarrollo de Software

Rate this content
Bookmark

Recientemente me preguntaron: "pero Rita, ¿no eres una Desarrolladora de Software? ¿No es tu trabajo escribir código? ¿Por qué sigues reflexionando sobre las personas?" Mi respuesta fue simple: "porque no es responsabilidad de una sola persona construir software de calidad. Se necesita un equipo".

El Desarrollo de Software y las Personas no pueden ser vistos como dos preocupaciones separadas por las empresas. Existe una entrelazamiento natural entre ambos que me gustaría explorar un poco en esta sesión.

This talk has been presented at TechLead Conference 2024, check out the latest edition of this Tech Conference.

Rita Castro
Rita Castro
8 min
14 Jun, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
La charla explora la entrelazamiento de preocupaciones entre las personas y el software que desarrollan, enfatizando la importancia de considerar a las personas y los equipos en lugar de solo enfocarse en la codificación. Destaca las limitaciones de tiempo a las que se enfrentan los desarrolladores y el potencial de optimización del código para mejorar la comprensión y utilidad. La charla también discute la importancia de renovar software obsoleto y adoptar la mejora continua en el desarrollo de software. Concluye enfatizando la interconexión entre los constructores de software, pensadores, usuarios, mantenedores y pagadores, y fomenta el desarrollo de sistemas de software amigables que se adapten al cambio y consideren las necesidades de todas las partes interesadas.

1. Introducción a la Entrelazación de Preocupaciones

Short description:

Un amigo me preguntó, como desarrollador de software, por qué hablo tanto de personas y equipos en lugar de solo programar. Esto me hizo reflexionar sobre la entrelazación de preocupaciones entre las personas y el software que desarrollan. En uno de mis proyectos de investigación, me dieron un programa en Fortran que era difícil de entender. Sugerí reescribirlo en un lenguaje más moderno.

Hace un tiempo, no hace mucho pero algún tiempo atrás, estaba charlando con una amiga y ella me preguntó, pero Rita, eres desarrolladora de software, pero en nuestras conversaciones a menudo hablas de personas, equipos, cómo se conectan, qué está mal, ¿no se supone que debes construir code? Eso me quedó en la cabeza y me llevó a un estado de reflexión y de ahí viene todo esto. Como ingenieros de software, nos enseñan el principio de separación de preocupaciones. Y lo hacemos muy bien en nuestro code. code, design nuestro code con el principio de que este módulo hace esto, ese módulo hace aquello, casi sin conexión entre ellos y estamos bien. Estamos bien. Sin embargo, las cosas no se enfrentan unas a otras. Y en realidad creo que en este caso y en el desarrollo de software, hay una entrelazación de preocupaciones entre las personas y el software que desarrollan. Estudié física en la universidad. Así que no tengo un título en ingeniería informática. Y hice astrofísica y al principio, en uno de mis proyectos de investigación, me dieron una tarea para procesar algunos data. Y junto con esa tarea vino un programa de computadora en Fortran. Y era realmente, realmente difícil de entender y seguir, el lenguaje, los data en sí, era extraño y provocó la conversación entre mi profesor y yo. Y fue interesante porque él estaba muy emocionado, estaba muy feliz. Implementa cosas del artículo. Es muy trivial. No es muy trivial, pero tengo una idea. ¿Por qué no tomamos el code, tenemos el artículo, tenemos los data, hagamos una prueba de rendimiento. Escribámoslo de nuevo en un lenguaje nuevo, más moderno que

2. Restricciones de Tiempo y Optimización de Código

Short description:

Nunca hay suficiente tiempo para renovar y rebrandear el código, a pesar de que tenemos el código, las pruebas y la capacidad de mejorarlo. Muchos estudiantes y colegas de diferentes departamentos enfrentan la misma restricción de tiempo. El código que solemos ver está altamente optimizado, pero una simple refactorización puede hacerlo más comprensible y útil.

nuevas personas puedan entender y seguir. No, no, no, no, no. No vamos a hacer eso. No hay tiempo. Esto ha sido probado en batalla y demostrado por muchos, muchos estudiantes antes que tú y muchos, muchos estudiantes después de ti. Pero escucha, tenemos el code, tenemos las pruebas, tenemos cosas que podemos renovar y darle un nuevo aspecto. No, no tenemos tiempo, eso seguro. ¿Cuándo tendremos tiempo? Sabes, pronto. Y adivina qué, amigos, pronto nunca llegó. Y cuando le conté esta historia a un par de amigos míos de diferentes departamentos en la universidad, dijeron lo mismo sobre los suyos. Sí, sí, sí, es lo mismo para nosotros en matemáticas, es lo mismo para nosotros en física, lo que sea. Y el code que solemos ver, está realmente, realmente optimizado. En ese momento, tenía que ser así debido a las restricciones en las computadoras, las restricciones en la memoria, etc. Así que si miras esto, sí, funciones, función F, hace algo aleatorio, luego llamas a la función principal, llamas al número. Pero con una refactorización muy simple, si lo cambio para calcular el factorial, ahora sabes de repente, calcula el factorial de un número y puedes consultarlo