Podcast: Play in new window | Download
Suscribirse: Apple Podcasts | Spotify | Email | RSS
Hacer software es un trabajo complejo. Involucra múltiples tareas y habilidades diferentes, incluso disciplinas diferentes, para producir los resultados. Es muy difícil que una sola persona las comprenda todas a cabalidad y establezca objetivos adecuados para cada una.
Es común que, cuando solamente una persona se hace cargo de la gestión en el desarrollo de software, intente tomar decisiones sobre aspectos que conoce poco y sean erróneas. Por esa razón, el trabajo de gestión en el software debe ser una responsabilidad compartida, no solo entre unas personas, sino entre todo el equipo.
Todo ingeniero de software debe conocer los principios de administración de proyectos
Aunque creas tu labor, solamente será escribir y probar el código, o hacer pruebas, o hacer los requerimientos, y no tienes interés en ser project o product manager, debes conocer y aplicar los principios de administración.
Todos los días estarás tomando decisiones sobre el trabajo, individualmente y en grupo. Además de las decisiones técnicas, estarás coordinando actividades, prioridades y soluciones a problemas, por lo que debes ser capaz de comprender cómo hacerlo asertivamente.
Es tu obligación, además de la excelencia técnica, el saber gestionar el trabajo.
¿Qué se gestiona en el desarrollo de software?
El trabajo de desarrollo de software incluye todas las actividades técnicas, en las que te involucras según tu perfil y puesto. También, el trabajo de desarrollo de software debe administrarse para que el resultado de las tareas técnicas sea el mejor.
Los equipos de desarrollo de software deben prestar atención y tiempo a lo siguiente, para que sus resultados sean excelentes:
- Gestionar al equipo: conformar y mantener un equipo altamente efectivo, motivado y productivo.
- Gestionar la comunicación con los stakeholders: nombrar responsables y mantener medios de comunicación efectivos para compartir información desde y hacia todos los involucrados.
- Gestionar el aprovisionamiento de recursos: asegurar que la infraestructura y las personas estarán disponibles a tiempo y cumplirán con las especificaciones necesarias.
- Gestionar los requerimientos de los usuarios: entender la necesidad de los usuarios y asegurar que esta es informada y comprendida correctamente por el equipo de desarrollo. Además, que todas las necesidades se satisfacen correctamente y se gestionan los requerimientos cambiantes.
- Gestionar la implementación técnica: asegurar que se hacen actividades para definir la solución técnica según los requerimientos y se implementa con base en los acuerdos, estándares y parámetros de calidad.
- Gestionar la planificación del trabajo: asegurar que el trabajo se identifica, prioriza y ejecuta sin omisiones y siguiendo parámetros de desempeño.
- Gestionar el proceso de trabajo: asegurar que el equipo tiene un acuerdo acerca de cómo realizará su trabajo y lo revisa frecuentemente para mejorarlo.
- Gestionar la calidad: asegurar que el equipo define y ejecuta actividades para el aseguramiento de la calidad del producto en todo momento y los resultados son reportados y revisados regularmente.
- Gestionar las pruebas: asegurar que se identifican las pruebas desde muy temprano en el desarrollo y se hacen planes de prueba. Además, el producto es probado minuciosamente y se manejan adecuadamente los defectos.
- Gestionar la configuración y la información del producto: asegurar que existe una definición del ambiente de desarrollo, pruebas y producción; asegurar que la infraestructura necesaria está disponible y cumple con las especificaciones; definir los repositorios para almacenar la información del producto y las políticas para accederla y modificarla.
Ocho roles para compartir la responsabilidad
Inicié este artículo mencionando la complejidad del trabajo de desarrollo de software y lo difícil que es responsabilizar a una sola persona de gestionarlo. Es mucho trabajo, como acabas de darte cuenta.
Muchos managers no tienen el dominio de todas las actividades del desarrollo, además, algunos no tienen las habilidades de gestión básicas. Lo mejor es que la gestión del trabajo se haga por varios roles en el equipo. Yo te propongo los siguientes:
¿Quieres saber de qué se encarga cada rol? ¿Qué características tienen las personas que los desempeñan y qué actividades realizan con regularidad?
Te los describiré en las siguientes entregas. ¡Hasta pronto!