1. Un poco de historia
Cuando en los años 90 la Revolución de Internet apenas comenzaba, nadie sabía cómo desarrollar correctamente servicios en línea. Todas sus features se volvían inmediatamente accesibles para los usuarios, lo que diferenciaba mucho este enfoque del desarrollo de software clásico.
El mayor buscador de aquella época, Yahoo, decidió seguir un camino nuevo y adoptar un enfoque de Hollywood — incluso sus managers se llamaban productores :) No es de extrañar que no les saliera bien 🤷♂️
Desde la Revolución de Internet se probaron decenas de métodos distintos de desarrollo de software, y ahora la situación se ha estabilizado. Existen roles estándar con responsabilidades estándar, procesos estándar y software estándar.
En el proceso de aprendizaje conocerás todo lo que necesitas saber para trabajar en empresas de TI modernas, con herramientas de desarrollo actuales. 🎓
2. Equipo de producto
Un equipo de desarrollo típico se compone de:
- Personas que deciden qué funciones y funcionalidades debe tener el producto
- Product Owner
- Business Analyst
- Personas que deciden cómo se verá el producto
- UI Designer
- UX Designer
- Desarrolladores que implementan todo esto
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- Personas responsables del correcto funcionamiento del producto
- QA Automation
- DevOps
El Product Owner desempeña un papel clave en el desarrollo de software, gestionando el producto y asegurándose de que el equipo de desarrollo se centre en las tareas más importantes. Define la visión del producto, elabora y prioriza la lista de tareas (backlog), lo que ayuda a garantizar que cada etapa del desarrollo se ajuste al máximo a los objetivos de negocio y a los requisitos de los usuarios.
El UX Designer se encarga de crear una interfaz de producto cómoda y eficaz, lo que incluye investigar las necesidades de los usuarios, desarrollar prototipos y probar interfaces. Este trabajo está orientado a mejorar la interacción del usuario con el producto para que sea lo más comprensible y fácil de usar posible.
Los especialistas en DevOps se ocupan de optimizar los procesos de desarrollo de software y su operación, con el fin de acelerar y simplificar la publicación de actualizaciones del producto. Su trabajo incluye la automatización de pruebas, despliegues y monitorización de sistemas, así como la configuración de la infraestructura y la garantía de la integración y entrega continuas (CI/CD).
3. Equipo de desarrollo
La implementación la llevan a cabo los programadores. A grandes rasgos, pueden dividirse en 5 categorías:
- Software Architect
- Backend Developer
- Frontend Developer
- Mobile Developer
- Database Administrator
Los roles y sus responsabilidades pueden variar según el tamaño del equipo y la naturaleza del producto, pero la situación es aproximadamente esta:
- 🏗️ Software Architect: responsable del diseño de arquitecturas de sistemas de software complejas. El arquitecto diseña la infraestructura técnica, define la estructura y los métodos de interacción de los distintos componentes del producto de software, garantizando su escalabilidad, rendimiento y seguridad.
- ⚙️ Backend Developer: se especializa en el desarrollo de la parte del servidor de las aplicaciones. Las tareas de un Backend Developer incluyen la implementación de la lógica, la integración de bases de datos y sistemas de gestión de datos, el procesamiento de las solicitudes de los usuarios y el mantenimiento de la interacción con el frontend.
- 🖥️ Frontend Developer: desarrolla la interfaz de usuario de las aplicaciones web. Este rol requiere conocimientos de HTML, CSS y JavaScript, así como de frameworks y bibliotecas para crear interfaces interactivas y adaptables que proporcionen una buena experiencia de usuario con el producto.
- 📱 Mobile Developer: se ocupa del desarrollo de aplicaciones para dispositivos móviles. Un Mobile Developer crea aplicaciones para distintos sistemas operativos (por ejemplo, iOS y Android), teniendo en cuenta las particularidades de cada plataforma, el rendimiento de los dispositivos y la experiencia de usuario.
- 🗄️ DBA (Database Administrator): responsable de la gestión de bases de datos, garantizando su disponibilidad, seguridad y optimización. Un DBA realiza tareas de configuración, monitorización y mantenimiento de bases de datos, así como el desarrollo de estrategias de copia de seguridad y recuperación de datos.
GO TO FULL VERSION