CodeGym /Cursos /JAVA 25 SELF /Desarrollo de un producto de TI

Desarrollo de un producto de TI

JAVA 25 SELF
Nivel 6, Lección 6
Disponible

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 🤷‍♂️

Es interesante. Yahoo — el mayor perdedor en materia de adquisiciones de otras compañías. En su momento les ofrecieron varias veces comprar tanto Google como Facebook. Al final, en el ocaso de su trayectoria, Microsoft intentó adquirirlos por 40 mil millones, pero volvieron a negarse. Unos años después los adquirieron por apenas 3 mil millones. En los años 90, en el punto álgido de su popularidad, a Yahoo se le valoraba en 200 mil millones de dólares, y si hubieran comprado Google, su valoración hoy podría haber alcanzado varios billones. No seas como Yahoo. 🙈

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

IT team

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.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION