No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Desarrollo de producto

21/28
Recursos

¿Cómo se desarrolla un producto de software?

En el mundo del desarrollo de software, comprender las fases desde la concepción de una idea hasta su ejecución es crucial para el éxito. Este proceso se divide principalmente en dos componentes: desarrollo de producto y la entrega de producto; cada uno con objetivos y métodos distintos que ayudan a optimizar el resultado final de un proyecto.

¿Qué es el desarrollo de producto?

El desarrollo de producto se centra en crear tecnología nueva utilizando hipótesis y técnicas modernas como el design thinking y estrategias de experiencia de usuario. ¿Por qué es importante? Aquí enfrentamos problemas únicos, y la habilidad para resolverlos de manera innovadora es esencial.

Cuando una empresa de entregas necesita sus propios algoritmos de enrutamiento, debe desarrollar esta tecnología para obtener una ventaja competitiva. Sin embargo, los tiempos y esfuerzos necesarios para resolver estos problemas suelen ser inciertos al inicio. Para afrontar este reto, es fundamental romper los problemas en tareas menores, lo que permite maximizar la precisión de las estimaciones a medida que nos acercamos a la solución.

En este proceso, dejar espacio para el error es clave. El producto inicial puede no resolver totalmente el problema, y eso está bien. Es gracias a la interacción continua con los usuarios, el análisis de sus respuestas y la mejora gradual que se alcanza una solución eficiente y efectiva.

¿Cómo se efectúa la entrega de producto?

En la entrega del producto, se busca que las innovaciones desarrolladas fluyan de forma rápida desde el punto de desarrollo hasta su puesta en producción. Este ciclo contempla la integración, pruebas y despliegue, elementos esenciales que deben ser ejecutados velozmente para asegurar una cadena de entrega eficiente.

Los tiempos de ciclo suelen estar bien definidos, como trabajar en periodos de una a dos semanas. Esta predictibilidad ayuda a manejar expectativas y a asegurar calidad en la entrega. Aquí, el énfasis está en mantener baja variabilidad en los resultados: el código siempre se lanza, aunque la funcionalidad puede variar.

¿Cuál es la responsabilidad del equipo en la entrega y desarrollo de producto?

El desarrollo de un producto es un esfuerzo colaborativo que reúne diversas disciplinas. Diseñadores, investigadores de experiencia de usuario, ingenieros de software, gerentes de producto y especialistas en negocio colaboran para fusionar sus habilidades y crear un producto eficaz y eficiente.

Por otro lado, la entrega del producto recae principalmente en el equipo de ingeniería, que se encarga del sistema de pruebas, la automatización del despliegue y asegurar que las innovaciones lleguen al usuario final. Este enfoque permite que cada especialista se concentre en su área de expertise, asegurando que cada componente del ciclo se maneje adecuadamente.

¿Qué es el ciclo completo de desarrollo de software?

El ciclo que abarca desde la concepción de una idea hasta su implementación en producción se compone principalmente de dos etapas: el desarrollo y la entrega. Desde el primer commit de código hasta el despliegue se visualiza una clara separación que ayuda a mejorar la comprensión y eficiencia del proceso.

  • Desarrollo de Producto: Desde la idea inicial, pasando por el desarrollo creativo del producto.

  • Entrega de Producto: Desde el primer commit hasta el despliegue final, que incluye pruebas y automatización.

Este ciclo fomenta la mejora continua e iterativa. Tras nuevas ideas, se construyen y se implementan, generando más ideas. Esto se realiza de manera rápida para incrementar la velocidad de aprendizaje. De esta forma, se logra un flujo constante y escalable en la creación de productos.

¿Cómo se manifiesta la agilidad en el desarrollo de software?

Los enfoques ágiles han transformado profundamente cómo se crea el software desde la publicación del manifiesto ágil en 2001. Este manifiesto prioriza la entrega de software de calidad, procesos menos burocráticos y la colaboración eficaz frente a la rigidez de los métodos tradicionales.

Ejemplos notables de dicha transformación se ven reflejados especialmente en las startups tecnológicas, donde la iteración continua y el aprendizaje son claves para alcanzar el éxito. No obstante, con el tiempo, estos conceptos originales han sido distorsionados por certificaciones que a menudo se alejan de su propósito inicial.

En este sentido, adoptar un desarrollo iterativo y enfocado en las necesidades reales del usuario y cliente es esencial para mantener la verdadera esencia del método ágil, permitiendo a los gerentes enfocarse en lo que realmente importa: crear productos excepcionales.

Aportes 20

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Los principios que menciona Juan Pablo son los siguientes:

  1. Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de ‘software’ con valor.
  2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
  3. Entregamos ‘software’ funcional frecuentemente, entre dos semanas y dos meses, preferentemente en el periodo de tiempo más corto posible.
  4. Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.
  5. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo.
  6. El método más eficiente y efectivo de comunicar información al equipo de desarrollo, y entre los miembros del equipo, es la conversación cara a cara.
  7. El ‘software’ funcionando es la medida principal de progreso.
  8. Los procesos ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.
  9. La atención continua a la excelencia técnica y al buen diseño mejora la agilidad.
  10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
  11. Las mejores arquitecturas, requisitos y diseños emergen de equipos autoorganizados.
  12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.

Desarrollo de producto


Podemos tender a dividir el desarrollo en dos partes:

  • Desarrollo de producto
    • Este es cuando desarrollamos tecnología nueva usando hipótesis, design thinking, estrategia de experiencia de usuario para resolver problemas muy puntuales a través de productos y servicios.
    • Podemos estar haciendo trabajo nunca antes hecho
    • Estimados son inciertos
    • Resultados tienen alta variabilidad
  • Entrega de producto
    • Permitir el flujo rápido de desarrollo a producción, disminuyendo la variabilidad y el tamaño del trabajo
    • Integración, pruebas y despliegue deben realizarse de manera continua y rápida
    • Los tiempos de ciclo son conocidos y predecibles
    • Resultados tienen baja variabilidad

✨ El desarrollo de producto es asociación

y la entrega de producto es responsabilidad de ingeniería…

El concepto de agilidad nace en el 2001 cuando 20 ingenieros escribieron un manifiesto de 12 principios de cómo entregar software de mejor calidad, cómo ser menos burocráticos y pensar menos en procesos y valorar más productos funcionales.

Es curioso, en la mayoria de estas certificaciones o explicaciones de los frameworks agiles no se le da ningun lugar al manifiesto agil, me he encotnrado muchas veces con personas que saben de xp o de scrum pero no tienen idea de los valores intrisencos que estan depositados en el manifiesto, muy buen aporte. Gracias

Me encontre este artículo que habla del manifesto.
https://doinglobal.com/los-12-principios-del-manifiesto-agil/

Excelente explicación!

Como había comentado en un post anterior casi todo lo visto está dentro de Scrum, Lean, y otros procesos similares que no es que hayan quitado la esencia de la programación simplemente la agilizaron.
Soy Auditor líder certificado por IRCA y lo que hacemos es aplicar algunas herramientas que no pasan de eso, eso no nos hace mejores o peores jefes/gerentes, simplemente personas más eficientes.

complemento en platzi sobre la metodología iterativa y transparente de scrum https://platzi.com/cursos/scrum/

proximamente: https://platzi.com/clases/proyectos-pmbok/

Desarrollo de software es todo un arte que se debe compartir a todo el equipo de desarrollo, es un todo desde la idea a producción. Muchas personas no ven lo que hay detrás de un simple sistema.

Que bien que reconozca que esas certificaciones son solo títulos, pero que no reflejan la esencia de lo que en realidad se debe hacer en desarrollo.

Muy interesante y real sobre el ciclo de desarrollo. Muy cierto tanto título a veces lo aleja de la escencia del por qué se creó el manifiesto.

Manifiesto

Las certificaciones no son tan importantes como el hecho de hacerlo factualmente

Gracias

Excelente clase !!

en cada ciclo se deben contemplar las mejoras posibles a implementar para cada salida a producción

interesante, buena explicación.

Excelente!

Que excelente clase 😄

muy buen aporte