CodeGym /Curso de Java /Python SELF ES /Desarrollo de producto

Desarrollo de producto

Python SELF ES
Nivel 63 , Lección 3
Disponible

5.1 Un poco de historia

Cuando en los años 90 comenzaba la Revolución de Internet, nadie sabía cómo desarrollar servicios de Internet correctamente. Todas sus características se volvían inmediatamente accesibles para los usuarios, lo que se diferenciaba mucho de la aproximación de desarrollo de software clásico.

El mayor buscador de esa época, la empresa Yahoo, decidió tomar un nuevo camino y adoptar el enfoque de Hollywood: sus gerentes se llamaban productores :) No es sorprendente que no les haya funcionado.

Es interesante. Yahoo es el mayor perdedor en cuanto a la compra de otras empresas. En su momento les ofrecieron varias veces comprar tanto Google como Facebook. Finalmente, al final de su carrera, Microsoft intentó absorberlos por 40 mil millones, pero nuevamente se negaron. Años después, fueron adquiridos por solo 3 mil millones. En los años 90, en el pico de su popularidad, Yahoo fue valorada en 200 mil millones de dólares, y si hubieran comprado Google, su valor hoy podría ser de varios billones. No seas como Yahoo.

Desde la Revolución de Internet, se han probado docenas de métodos diferentes 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 aprenderás todo lo que necesitas saber para trabajar en empresas modernas de TI, con herramientas de desarrollo modernas.

5.2 Equipo de Producto

Un equipo de desarrollo típico está compuesto por:

  • Personas que deciden qué funciones y características debe tener el producto
    • Product Owner
    • Business Analyst
  • Personas que deciden, cómo se verá el producto
    • UI Designer
    • UX Designer
  • Desarrolladores, que lo implementan todo
    • Software Architect
    • Backend Developer
    • Frontend Developer
    • Mobile Developer
  • Personas, que aseguran el buen funcionamiento del producto
    • QA Automation
    • DevOps

Product Owner en el desarrollo de software juega un papel clave, gestionando el producto y asegurándose de que el equipo de desarrollo se enfoque en realizar 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 alinee lo más posible con los objetivos empresariales y las necesidades de los usuarios.

UX Designer se encarga de crear una interfaz de producto que sea intuitiva y eficiente, lo que incluye investigar las necesidades de los usuarios, desarrollar prototipos y realizar pruebas de interfaz. Este trabajo está orientado a mejorar la interacción del usuario con el producto, haciéndolo lo más comprensible y accesible posible.

Los especialistas en DevOps se ocupan de optimizar los procesos de desarrollo de software y su gestión operativa para acelerar y simplificar la publicación de actualizaciones del producto. Su trabajo incluye la automatización de pruebas, despliegues y la monitorización de sistemas, así como la configuración de infraestructura y asegurando la integración y entrega continua (CI/CD).

5.3 Equipo de Desarrollo

El desarrollo propiamente dicho es llevado a cabo por programadores. Se pueden dividir en 5 categorías:

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • DBA

Los roles y sus responsabilidades pueden variar dependiendo del tamaño del equipo y la especificidad del producto, pero la situación es aproximadamente la misma:

Software Architect: responsable del diseño de arquitecturas complejas de sistemas de software. El Architect elabora la infraestructura técnica, determina la estructura y los métodos de interacción de los diferentes componentes del producto de software, asegurando su escalabilidad, rendimiento y seguridad.

Backend Developer: se especializa en el desarrollo de la parte del servidor de las aplicaciones. Las tareas del Backend Developer incluyen implementar la lógica, integrar bases de datos y sistemas de gestión de datos, procesar solicitudes del usuario y mantener la interacción con la parte frontend.

Frontend Developer: desarrolla la interfaz de usuario de aplicaciones web. Este rol requiere conocimientos de HTML, CSS y JavaScript, así como de frameworks y bibliotecas para crear interfaces interactivas y responsivas, garantizando una buena interacción del usuario con el producto.

Mobile Developer: se encarga del desarrollo de aplicaciones para dispositivos móviles. El Mobile Developer crea aplicaciones para diferentes sistemas operativos (por ejemplo, iOS y Android), teniendo en cuenta las características de la plataforma, el rendimiento de los dispositivos y la experiencia del usuario.

DBA (Database Administrator): es responsable de la gestión de bases de datos, asegurando su disponibilidad, seguridad y optimización. El DBA realiza tareas de configuración, monitorización y mantenimiento de bases de datos, así como el desarrollo de estrategias para copias de seguridad y recuperación de datos.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION