This video discusses object-oriented techniques in software development, focusing on the role of a team leader within a project framework. The speaker explains the importance of communication, planning, and risk assessment for successful software development.
[Música] i buen día vamos a continuar hablando sobre técnicas orientadas a objetos en esta ocasión vamos a hablar sobre el marco de trabajo y en particular el trabajo que debe de tener el líder del equipo de desarrollo de software en el entorno de trabajo en el cual nosotros vamos a estar desarrollando el software un marco de trabajo hemos dicho de que lo que promueve es la comunicación entre los distintos miembros del equipo en el cual nosotros estamos inmiscuidos para la elaboración del proyecto también la parte de planeación de recursos tanto económicos como humanos la generación de modelos que me permiten entender el problema y discutirlo con los clientes a los cuales yo les estoy haciendo el trabajo la construcción propiamente del artefacto o del software que estamos desarrollando y finalmente el despliegue o la puesta en marcha de el software para el cual hemos sido contratados y para el cual estamos trabajando en equipo el marco de trabajo tiene que ver con todo esto y en particular el líder del equipo o el jefe de proyecto que es quien normalmente pues debe de llevar a buen término este proyecto en un marco de trabajo hay que entender claramente quién es el gestor de este proyecto también conocer cuáles son nuestros usuarios los analistas del sistema quienes van a ser los encargados de validar que la información que los usuarios estén pidiendo sea la correcta y la necesaria para la organización tenemos que revisar los planes del software que tiene dentro de la empresa requisitos para instalar software dentro de la organización mi equipo de desarrollo y acá ustedes pueden ver como la comunicación debe de estar fluyendo entre cada uno de estos actores del equipo o del grupo de personas o sea que van a trabajar en conjunto para poder desarrollar la solución el marco de trabajo también es considerado a través de ciertos estándares uno de los más utilizados es la iso 12.207 en la cual pues establece que hay algunos procesos principales hay algunos procesos de apoyo y procesos organizativos que el jefe de proyectos debe de saber cuáles son y en qué momento lo debe aplicar para que el producto sea de calidad existen otros estándares como triple como se m y que también o sea da una idea de cuáles son esos procesos y cómo deben de gestionarse esos procesos para llevar a cabo software de calidad ok porque utilizamos esto después cuando se hace una encuesta sobre cuáles son los factores que han incidido en que un proyecto no se desarrolle de manera eficiente tenemos estos que el cliente o el usuario para el cual nosotros usuario final para el cual estamos desarrollando la aplicación pues se tarda en validar probablemente porque en su lugar de trabajo no le dan el tiempo necesario como para verificar y validar el software que el programador le ha puesto a que pruebe también el control que pudiéramos tener en el proceso de desarrollo junto con nuestros programadores es probable que esté dando al traste con la organización con la planificación con todo también hay muchas veces o sea nosotros hacemos algunas estimaciones muy optimistas quizás porque hemos desarrollado un software bastante parecido al cual estamos trabajando pero que cada software realmente tiene sus particularidades así como cada organización puede hacer esas estimaciones demasiado optimista o sea va a llevar a que el proyecto fracase y quizás uno de los factores más importantes es que no se ha evalúa el riesgo si es una nueva tecnología con la cual vamos a trabajar si la boca si la organización tiene muchas dependencias a las cuales hay que trabajar en conjunto para desarrollarlo entonces ponerlos de acuerdo es bastante difícil el número de usuarios a los cuales hay que satisfacer en fin hay una serie de factores que pueden incrementar el riesgo de que el proyecto fracase y por último pues las pruebas normalmente las pruebas no se les da mucha importancia pero es un factor también que debe de considerarse antes de desplegar la aplicación dentro de la organización todo esto tiene el jefe de equipo o el jefe del proyecto que tener la visión como para poder de ponerse a cada uno de estos factores veamos cuando nosotros estamos desarrollando el software normalmente nuestras entradas para este proceso son requisitos nuevos o modificaciones al sistema esto va a entrar en un proceso de desarrollo de software como lo pueden ver para que al final nosotros teníamos un software modificado o listo para poder ser explotado esos requisitos son especificaciones de software es decir nosotros necesitamos que se genere un informe de ventas cada trimestre separado por zona geográfica probablemente y por vendedor o producto dependiendo no entonces esas son especificaciones que debo de tener para que el software funciona luego que tengo esto pues vengo al diseño y a la implementación de esa solución y posteriormente como ya lo hemos mencionado antes validarlo para qué haya una evolución del software una retroalimentación del software que va a depender de múltiples cosas como por ejemplo los cambios en el entorno competitivo de la organización si la empresa pasó a formar parte de otra empresa más grande etcétera el marco de trabajo también provee cuatro factores importantes a tomar en cuenta quizás el más importante el que ven en color azul es las personas o sea que se ven inmiscuidos dentro de el proyecto normalmente aquí hay que evaluar el desempeño hay que capacitarlos hay que ver las competencias de estas personas la forma en cómo estas personas se comunican etcétera esto es de suma importancia para que el proyecto pueda combinarse de una buena manera aparte de eso pues nosotros tenemos que saber cuál es el objetivo o sea que este software debe de cumplir cuál es el ámbito de aplicación para que de esa manera los analistas puedan validar los y convertirlos en código también el marco conceptual para el cual se va a desarrollar el proyecto que tiene que ver con los procesos y engendrar el proyecto ya o sea aplicar la parte de administración que tiene que ver con el control con la planificación con la organización etcétera que me va a permitir manejar de una manera adecuada el proyecto quienes participan en un proyecto normalmente son los gerentes ejecutivos de algunas organizaciones que son los que dictaminan la política hacia donde se va con la empresa u organización estos planes estratégicos o políticas son las que dicen cuáles son los sistemas que yo debería estar desarrollando luego esto pasa a los gerentes de proyectos dentro de las organizaciones los gerentes de proyectos pues establecen prioridades y dicen este es el proyecto que se va a efectuar o este luego que un proyecto fue aprobado o fue discutido pasa a los profesionales del té y eso lo que puedes validan realmente que sea la información correcta los requisitos correctos etcétera luego pues tenemos los dientes que no necesariamente son los usuarios finales verdad un cliente es como una persona que tiene interés en el sistema por ejemplo puede ser el estado para ver los estados financieros de la organización y un banco para hacer un préstamo son personas o entidades interesadas en que este software sea funcione de manera correcta y por último pues los usuarios finales que son quienes día a día pues van a digitar van a consultar van a generar reportes etcétera etcétera dentro de lo que es el sistema entonces estos son algunos de los principales participantes dentro de lo que es el proyecto de desarrollo informático como hemos dicho aquí el líder del equipo o el jefe de proyecto es alguien que debe de y tener un papel muy preponderante dentro de estas tareas para que para lograr una motivación es decir que el equipo esté motivado para lograr lo que se nos ha pedido que hacer luego organizar este equipo para que pueda brindar esos resultados por parte de estar motivados tienen que estar organizados también este equipo debe de generar ideas de cómo ese software o cómo ese proyecto o este proceso se hace puede mejorar también dentro de un equipo normalmente van a ver conflictos el líder del equipo es el encargado de que esto se minimice posiblemente diagnosticada si va a haber algún problema cuando se revele cierta información o celos entre los programadores porque un programador no quiere que se le vea el código que ha generado etcétera puede haber una infinidad de conflictos dentro de un equipo de desarrollo para lo cual el líder del equipo debe de estar preparado para asumir las responsabilidades el people were ya es como la tercera parte nosotros tenemos por un lado software por el otro lado tenemos el hardware y lo más importante es el people were que son las personas con las cuales se trabaja para poder que estos dos componentes de abajo funcionen entonces es importante ponerle mucha atención a este concepto y cómo trabajar con las personas formar los equipos cuando un líder de equipo trabaja lo puede hacer de cualquiera de estas formas que aparecen acá puede ordenarle directamente al equipo que tú vas a hacer esto o ustedes van a hacer esto puede vender la idea ya o sea él viene y dice ok está en la decisión que se va a hacer pero se la vende al equipo es decir llega no imponiendo verdad sino diciendo cuáles son las bondades que tiene de hacerlo de esa forma puede consultarlo es decir pregunta hacia todos y la respuesta o sea que tenga mayor apoyo puede ser probablemente la que va a ganar oa hace un consenso de a donde todos normalmente van a estar de acuerdo o él puede dar su opinión y deja que el equipo pues tome la decisión al final de qué es lo que se va a hacer o pregunta es decir el equipo toma la decisión de cómo se va a hacer y quién lo va a ser y es comunicada al gestor para que éste lleve el control de lo que se va a hacer otra cosa que puede hacer es delegar ok ustedes van a hacer esto ustedes esto y ustedes esto estas son algunas de las formas o sea que un líder puede trabajar con su equipo de manera que pueda obtener resultados idóneos para el desarrollo el líder también debe considerar las necesidades dentro del equipo las necesidades personales de cada uno y en este caso nos vamos a referir a esta pirámide de maslow a las necesidades de maslow donde pues hay ciertas necesidades que son de supervivencia y hay unas que son de crecimiento la teoría nos dice que no podemos escalar al siguiente nivel si las necesidades anteriores no han sido satisfechas entonces sin las necesidades fisiológicas no son satisfechas para los miembros del equipo es decir el salario no les ajusta para su alimentación no tienen suficiente descanso etcétera etcétera entonces no podemos escalar el siguiente nivel que es el nivel de seguridad es decir sentirse protegido que haya un ambiente seguro etcétera y luego pues otras necesidades como la de pertenencia del equipo de desarrollo como la camadería que puede haber dentro del equipo el afecto el reconocimiento que se le puede dar a alguien verdad por una labor realizada y así verdad hasta llegar a una necesidad de autorrealización es decir darle a esa persona el reconocimiento que se debe dar por su creatividad por sus propuestas dentro de lo que es el entorno de trabajo entonces un líder debe de conocer que esto es importante para poder mantener la motivación dentro de lo que es el equipo de trabajo un equipo el proyecto es un sistema adaptativo complejo porque está formado por múltiples individuos que van a interactuar entre ellos hay una frontera definida es decir hay una organización en la cual van a estar trabajando varias organizaciones dependiendo del tipo de proyecto y estos van a aprender de sí mismos y esto puede resultar en algo pues ordenado o en algo totalmente caótico dependiendo de como nosotros vamos a comportarnos es decir si tenemos una alta habilidad para predecir y una alta capacidad para aprender entonces probablemente vamos a estar en un nivel caótico o complicado de desarrollar algo si yo predico que va a suceder dentro del sistema una caída porque los los el software necesario para poder desarrollar una inter con interconexión entre bases de datos o entre diversos sistemas no está listo entonces probablemente eso se va a volver un caos cuando yo integré la solución etcétera no por el contrario si la decisión que yo tengo que tomar es muy fácil y pues aprendo rápido pues eso va a ser muy muy ordenado hay que recordar esta ecuación y lewin de sus principios de psicología topológica que la antigua vida por 1936 en donde dice que las personas adaptan su comportamiento al entorno en el cual se encuentran y esto es muy fácil de comprobarlo por ejemplo si una persona conociendo cómo se maneja o cómo se conduce en nuestro país el salvador se pasan los semáforos en rojo no se respetan las cebras para que pasen los peatones pero una de estas personas va hacia un país como eeuu o un país de europa lo va a ser allá se iba a respetar entonces su comportamiento se adapta a esa sociedad pero como nuestra sociedad es caótica es desordenada entonces igual nos adaptamos lo mismo pasa con los equipos de desarrollo si el equipo de desarrollo pues vive en un ambiente caótico o en un ambiente ordenado o en un ambiente disciplinado dependiendo de como el líder lo haya formado pues así se va a comportar esta persona entonces eso tiene que recordarse siempre como vamos a organizar los equipos pues hay dos formas una donde yo creo a nivel de columnas un equipo de analistas que genera su solución verdad de análisis y luego lo pasa a los programadores y luego lo pasa a los esther del sistema verdad entonces es una forma de ver o de organizar los equipos o verlo a través de filas en la cual dentro del equipo hay un analista hay un programador y hay un tester o cualquier otro rol que hayamos definido dentro de nuestro equipo normalmente los equipos ahora se crea desamor de esa manera en la cual pues el equipo es pequeño y contiene un especialista dentro de cada área no están juntos todos los especialistas para después pasar a los otros especialistas etcétera entonces normalmente pues esas son las dos formas que ustedes tienen de organizar sus equipos para que puedan trabajar de una mejor manera la decisión creamos equipos funcionales hoy creamos equipos multidisciplinarios la forma en como nosotros lo vamos a organizar pues eso va a depender de nuestra forma de verlos en este caso pues este es un equipo funcional la comunicación se da de esa manera no siempre hacia el nivel superior respetando los canales adecuados para elevar cualquier tipo de comunicación verdad o multidisciplinario en el cual vamos a saber que la comunicación se va a dar entre todos todos para todos esta es una de las formas por las cuales nosotros decimos que lo ideal es formar equipos que estén entre 5 y 7 personas porque es como lo ideal como para poder estarse comunicando si tenemos un equipo de 15 personas entonces la comunicación pues se va a hacer una maraña y nadie va a saber con quién hablar o qué hablar con quién entonces es necesario que los equipos cuando son multidisciplinarios pues se mantengan pequeños entre 5 y 7 personas para poder trabajar de manera ordenada gracias por su atención los espero en la próxima [Música] bien [Música]