4.3 El Quipo de Desarrollo de Software
4.3 El Quipo de Desarrollo de Software
4.3 El Quipo de Desarrollo de Software
INFORMACIÓN
POR:
DAVID HUERTA ROSALES
MIRNA CITLALI MORALES GUTIÉRREZ
Contenido
4.3 El equipo de desarrollo de software.......................................................................................2
¿Cómo se forma un buen equipo de desarrollo web?..............................................................2
Dueño del producto.................................................................................................................3
Project manager.......................................................................................................................3
Diseñadores UX y UI.................................................................................................................4
Analista comercial....................................................................................................................5
Desarrolladores de software....................................................................................................5
Team lead y tech lead..............................................................................................................6
Scrum master...........................................................................................................................7
4.3.1 equipos agiles......................................................................................................................7
4.3.2 gestión de conflictos de coordinación y comunicación.......................................................7
Comunica los objetivos y los indicadores claves de rendimiento (o KPIs, por sus siglas
en inglés). Como sucede con cualquier equipo eficaz, es fundamental que cada miembro del
equipo del proyecto sepa qué se espera de ellos. Los objetivos deberían ser específicos,
medibles, realizables, realistas y cronometrados. Establecer KPIs para el equipo y para los
individuos también debería ser una forma eficaz de buscar el mejor rendimiento en tu equipo.
Si los miembros del equipo conocen sus objetivos y metas, será más probable que los
alcancen, y aquellos que las cumplen o que superan las expectativas deberían ser reconocidos
y premiados para mantener la motivación alta.
Contrata un talento diverso. En la era del trabajo remoto y del lugar de trabajo virtual, es
más fácil reclutar a un rango diverso de profesionales. Al buscar talento de distintos orígenes y
formaciones, ayudarás a conseguir diferentes ideas, perspectivas y valores para el equipo. Los
distintos colegas podrían ayudarte a resolver problemas que tú no podías resolver.
Haz que la información esté disponible . Para que entregues los proyectos a tiempo, debes
asegurarte de que los miembros de tu equipo tengan todas las herramientas necesarias para
acceder a la información. Hacer que la información esté disponible implica una mayor
transparencia en el progreso de tu equipo, y les permite a los miembros ver dónde están
habiendo avances y dónde habría que mejorar las cosas. Esto te ayudará a optimizar tu
operación y a entregar tu proyecto de forma más eficaz y con un resultado mejor.
Automatiza procesos. La automatización significa que los miembros del equipo tendrán más
tiempo para invertir en actividades facturables, y eso implica avances más rápidos en los
proyectos para poder trabajar en otros. Los programadores deberían pasar su tiempo
programando, no generando facturas. Los analistas deberían pasar su tiempo examinando
información, no realizando un seguimiento manual de su tiempo. Deberías darle a tu equipo
las herramientas para automatizar todas esas tareas administrativas que consumen tanto
tiempo. Esto también te ayudará a cuidar del bienestar de los miembros de tu equipo, ya que
liberarás su tiempo.
Échale un vistazo a esta publicación para aprender más sobre cómo manejar a un equipo
informático eficaz.
Project manager
¿Qué hacen?
El project manager está a cargo del desarrollo, la organización y la entrega de un proyecto.
Ellos dividen el proyecto en partes modulares y diseñan el flujo de trabajo para distribuir las
tareas entre el equipo, y además, son responsables de los contratos, los presupuestos y los
tiempos. Asimismo, la mitigación de riesgos y la gestión de circunstancias o demoras
inesperadas son responsabilidades de los project managers. Sin ellos, no habría un plan o
estructura para entregar el trabajo.
Diseñadores UX y UI
¿Qué hacen?
UX significa experiencia de usuario, así que la responsabilidad principal del diseñador UX es
asegurar un resultado suave y enfocado en el usuario. Su rol es imaginarse como el usuario
final interactuando con el producto, y hacen que este sea fácil de utilizar y se enfocan en todos
los aspectos de la experiencia: usabilidad, funcionalidad y rendimiento.
UI significa interfaz de usuario, por lo que el rol del diseñador UI se enfoca principalmente en
el software y en cómo se ve y se siente para el usuario. Necesitan que sea intuitivo y directo.
Los diseñadores UX y UI toman la idea del cliente y el producto y utilizan prototipos para
desarrollar la idea. Son una parte fundamental del equipo de desarrollo de software ya que
son los que defienden las necesidades del usuario. Los roles de estos dos actores se
superponen mucho, y dependiendo del tamaño del proyecto, se pueden condensar en uno
solo.
Analista comercial
¿Qué hacen?
El analista comercial es el responsable de cumplir con las necesidades comerciales del cliente.
Esto significa que tienen en cuenta los objetivos comerciales del cliente y lo ayudan a definir
metas claras. Luego, ellos toman estos objetivos y los convierten en soluciones de software
viables. Están involucrados en el proyecto desde el inicio, y conectan las necesidades del
cliente con las realidades del proyecto. Además, llevan a cabo análisis del mercado, evalúan a
la competencia y definen a la audiencia meta. También crean soluciones de documentación y
prueban soluciones.
Los analistas comerciales trabajan de cerca con el dueño del producto y con el project
manager.
Desarrolladores de software
¿Qué hacen?
Ningún proyecto de desarrollo de software está completo sin los desarrolladores: ellos son los
que crean el proyecto final al programar en un rango de distintos lenguajes de programación.
Dependiendo del nivel de experiencia, los equipos pueden contar con desarrolladores senior,
medios y junior. En los proyectos más grandes, quizás existan distintos niveles de experiencia
en los equipos de desarrollo de software. Los programadores junior apoyan al resto del equipo
al ayudar con las tareas más fáciles para darles más tiempo a los desarrolladores senior para
que aborden las programaciones más difíciles.
Los desarrolladores de software trabajan en conjunto según su nivel de experiencia, según sus
habilidades y según su especialización. A estos desarrolladores se los conoce como front-end,
back-end y full-stack.
“Los desarrolladores front-end crean todo lo que el usuario final ve y con lo que interactúa. Se
enfocan en la usabilidad y funcionalidad del software, mientras que los desarrolladores back-
end son los responsables de los procesos y funcionalidades que están detrás de lo que el
usuario ve.”
De todas formas, no debería confundirse a los desarrolladores con los arquitectos de software,
que tienen un rol similar pero diferente. Los arquitectos de software diseñan la estructura
interna de un código y son los responsables del apoyo técnico a lo largo del proceso del
desarrollo de software, mientras que los ingenieros de software están a cargo de conectar las
necesidades del cliente con las soluciones técnicas.
Como son los que están a cargo, los team leads interactúan con todos los miembros del
proyecto informático.
Scrum master
¿Qué hacen?
El rol del scrum master es asegurarse de que el equipo siga metodologías y estructuras ágiles
(o “Agiles”, como se las conoce en inglés). Estas metodologías son un concepto que puede
describirse como una mentalidad de gestión de proyectos que se enfoca en la colaboración y la
creación de valor. Según el Manifiesto Ágil, sus valores principales incluyen:
El “scrum” puede describirse como una forma de trabajo dentro de las metodologías ágiles. El
nombre viene del rugby, el deporte donde los jugadores se agrupan en un “scrum” para
avanzar por el campo, anotar y ganar el juego. En la gestión de proyectos, el scrum permite un
desarrollo rápido mientras el trabajo se lleva a cabo en partes más pequeñas llamadas sprints.
La idea principal detrás de un equipo Agile es tener un grupo de personas con un objetivo
común, que sean flexibles en su forma de trabajo y más adaptables a las modificaciones de
requisitos del cliente. Una cosa que los distingue de los equipos tradicionales, es que son
individuos autodirigidos y autoorganizados que practican el liderazgo compartido.
Otro rasgo común que muchas personas asocian con los equipos Agile es su funcionalidad
cruzada. Esta se centra en la generalización de especialistas que pueden contribuir en varias
áreas en lugar de solo la suya. La idea es brindar una formación multifuncional (cross-skill) en
un mismo equipo con el fin de eliminar las transferencias y dependencias.
Si bien esto tiene sus beneficios, requiere una cantidad suficiente de interrupción de los
procesos existentes, especialmente si hablamos de organizaciones que están iniciando la
transformación Agile y que son más tradicionales. Es por ello que las empresas a menudo
experimentan altos índices de caos y resistencia, lo que puede ser difícil de manejar.
Eventualmente, vuelven a sus antiguas formas de operar descartando la idea de crear equipos
Agile.
Por tal razón, una mejor manera de reducir el riesgo sería mantener tu estructura existente
(especialmente si te ha venido dando resultados sólidos hasta ahora) y tratar de mejorarla
gradualmente a través de la experimentación continua.
Al implementar Agile por primera vez, muchas personas creen que es un esfuerzo de una sola
vez y que termina con la aplicación de un esquema específico. En realidad, el proceso continúa
progresando conforme aprendes a hacer las cosas cada vez mejor.
El primer paso para evolucionar a tus equipos y hacerlos más ágiles es utilizarlos como
servicios (responsables de la creación de valor) en lugar de recursos prescindibles. Desde el
desarrollo de ingeniería/producto hasta ventas y marketing, cada miembro del equipo es un
proveedor de servicios de algún tipo que ayuda a la empresa a avanzar al agregar valor a la
oferta final, ya sea directa o indirectamente.
Para asegurar una simbiosis entre todos los equipos, debes verlos como un ecosistema de
servicios interdependientes en donde cada servicio evoluciona por sí mismo. Como resultado,
tendrás una manera de optimizar todo el flujo de valor para tus clientes y obtener mejoras a
gran escala a partir de optimizaciones localizadas en el nivel de servicio.
ENFOQUE EN EL CLIENTE
Todo lo que producimos debe ser visto desde la perspectiva del cliente. Es por ello que el
trampolín para mejorar la entrega de valor de nuestro equipo es entender qué hace que
nuestros servicios sean aptos para su propósito. Para hacer esto, medimos su “criterio de
aptitud” – un indicador que nos dice qué tan bien un producto o servicio satisface los deseos
del cliente.
Una vez que los equipos tienen este conocimiento, son capaces de diseñar sus propios flujos
de trabajo en función de las necesidades del cliente y produciendo servicios para su mercado
objetivo que son más “aptos para su propósito”.
Para asegurar una entrega de servicio exitosa, debes también enfocarte en la gestión del
trabajo al tiempo que permites a las personas organizarse en torno a este. Recuerda, los
miembros del equipo son quienes están más cerca de los detalles técnicos asociados a las
solicitudes del cliente, entonces tiene sentido permitirles decidir cómo ejecutar dichas
solicitudes de la mejor manera.
A su vez, los líderes deben crear alineación dentro de la red de servicios mediante la
comunicación de un propósito compartido. Deben gestionar el trabajo visualizando colas,
alivianando cuellos de botella y midiendo la eficiencia de flujo en lugar de simplemente dar
seguimiento a las líneas de tiempo. Esto da como resultado una mayor moral de equipo, mayor
eficiencia y, finalmente, una mejor entrega de servicios a los clientes finales.
4.3.2 gestión de conflictos de coordinación y comunicación
¿QUÉ ES UN CONFLICTO?
Stephen Robbins: “Un proceso que se inicia cuando una parte percibe que la otra la ha
afectado de manera negativa o que está a punto de afectar de manera negativa alguno
de sus intereses.”
Hocker y Wilmor: “Un conflicto es una lucha expresa entre al menos dos partes
interdependientes que perciben que sus objetivos son incompatibles, sus recompensas
son reducidas y la otra parte les impide alcanzar sus metas.”
Revisa un conflicto que definas en el grupo con la ayuda del esquema anterior y con los
conceptos de los investigadores; fórmula preguntas para identificar las diferentes
percepciones de los integrantes; revisa, por ejemplo, cómo se fue creando el conflicto, y en los
siguientes apartados podremos plantear algunas respuestas a estas preguntas.
Es muy importante que desde el principio nos quede claro que conflicto puede significar
aprieto, atolladero, desavenencia, dificultad, rencilla, trastorno, y que lo contrario al conflicto
es la concordia y el acuerdo. También hay que recordar que la transformación del conflicto
tiene como herramientas el diálogo y el debate inteligente.
Aunque a veces crece hasta manifestarse en violencia, no se puede considerar que ambos
términos sean sinónimos. La violencia, como manifestación brusca, intensa, arrebatada de la
agresión, es una salida extrema del conflicto que complica y muchas veces impide la
comunicación y, por lo tanto, el logro de algún acuerdo. Para evitar que se llegue a este límite,
tan pronto como se detecte la existencia de un conflicto habrá que tratar de comprender su
origen y sus causas, el contenido real de la pugna y las características e intereses de los actores
que intervienen en él. Una vez aclarada la diferencia entre violencia y conflicto, hay que decir
que los conflictos encierran, en estricto sentido, una situación de disputa o confrontación de
intereses, de valores, de requerimientos o necesidades.
Conviene mencionar que los conflictos tienen un tiempo de espera sin que se los considere
declarados, y a ese periodo se lo conoce como latencia. Hay que aprender a identificar dicha
latencia, ya que, aunque no se manifiesten tonos de pelea o las partes no perciban la
confrontación que llegan a alcanzar sus intereses y necesidades, no tardarán en aparecer las
señales de que “un conflicto se está cocinando”.
El estado latente de un conflicto dentro de un comité o consejo puede ocurrir cuando, por
ejemplo, el coordinador realiza algunas acciones en nombre del comité o consejo sin consultar
la opinión de todos sus integrantes, lo cual genera disgusto y molestia porque lo hace en
representación del conjunto, cuando en realidad está actuando a título personal. Tal vez en un
primer momento los afectados no digan nada, pero si la falta de comunicación persiste, es muy
probable que el conflicto estalle.
Conflictos que no han sido reconocidos –porque aún no explotan o porque no se alcanza a
percibir algunos de sus rasgos– pueden estallar de una forma violenta e incontrolada. Mal
haremos en buscar la transformación de los conflictos en el último momento, justo cuando
explotan y se encuentran en peor situación. Lo que debemos hacer es aprender a identificar su
latencia, es decir, a descubrir el estado en que el conflicto permanece oculto y tratar de
planear estrategias creativas para prevenirlo y transformarlo, si llega el caso.
Existen, por otro lado, los llamados pseudoconflictos, que surgen cuando vemos un conflicto
en donde no lo hay. En este caso, las partes no tienen suficiente claridad sobre un
acontecimiento y deciden crear un problema donde no existe. Es, por ejemplo, una
comunicación distorsionada como la del “teléfono descompuesto”, cuando se transmiten
rumores que no se confirman con hechos, acusaciones sin sustento o afirmaciones sin pruebas.
En seguida describimos de manera general el tipo de actitudes que se pueden asumir frente a
un conflicto:
COMPETENCIA: Es cuando las partes no conceden nada y suponen que lo más relevante, lo
único que vale la pena son sus intereses y, por lo tanto, sus objetivos y sus metas. Con esta
actitud sólo se busca imponer una posición por encima de los intereses de los otros. Alcanzar
los objetivos de uno significa la pérdida de los objetivos de los otros.
Esta actitud puede ocurrir dentro de un comité o consejo cuando se acerca el momento de la
presentación de proyectos para la consulta ciudadana sobre presupuesto participativo y
algunos integrantes presentan sus proyectos: todos son diferentes y nadie está dispuesto a
renunciar al suyo. Cada uno expresa sus argumentos, no para conciliar, sino para imponer su
postura.
ACOMODAMIENTO: Esta actitud trata de evitar los roces porque no se quiere generar tensión
o malestar. Se puede confundir con el respeto o la buena educación; hace que nos
aguantemos hasta que no logramos contenernos y entonces brotan episodios de
autodestrucción o de destrucción de los otros.
Cuando en las sesiones dentro del comité o consejo uno de sus integrantes decide siempre
retirar sus propuestas “para evitar problemas”, porque los otros lo critican sin analizar ni darle
oportunidad de defender sus puntos de vista, este integrante tiene una actitud de
acomodamiento.
Por ejemplo, es imposible que el comité o consejo realice un trabajo de equipo y de calidad si
la mayoría de sus integrantes decide no acudir a las reuniones o no acompañan en la
realización de las gestiones porque consideran que no tiene caso su participación, ya que
siempre se impone la decisión de alguno. En este caso, pierde quien deja de participar y pierde
quien se impone siempre, porque va perdiendo el apoyo de los otros.
En la transformación de conflictos se deben cuidar los fines y los medios, porque la relación de
trabajo en el órgano de representación ciudadana se mantendrá durante los tres años que
ocupen el cargo sus integrantes, y aún después éstos y su familia seguirán siendo vecinos de la
misma colonia o pueblo. Cuidar la relación entre los involucrados es básico para el bien de
toda la comunidad. Justamente, este es el modelo de cooperación que permite que todos
ganen, pero requiere forzosamente un proceso educativo que nos enseñe a cooperar.
Un comité ciudadano o consejo del pueblo realiza un buen trabajo cuando sus integrantes
pueden expresar libremente sus ideas, cuando pueden negociar y llegar a acuerdos en relación
con la forma de trabajo y cuando ponen por encima de sus intereses personales o de grupo los
intereses de su comunidad. En esta actitud se asume que todos tienen algo que aportar y que
el equipo se complementa con la aportación de cada individuo.