El ciclo completo de desarrollo de productos de TI utilizando el ejemplo del proyecto: roles de equipo, tareas del cliente, etapas



La cocina interna del desarrollador de productos de TI es multifacética y siempre está llena de tareas diferentes. En cada proyecto, las personas con diferentes responsabilidades encuentran su aplicación.

Usando un proyecto como ejemplo, vamos a echar un vistazo más profundo al proceso de desarrollo. Antes de eso, describiré todas las etapas de este proceso y las responsabilidades funcionales de los empleados en él.

Ciclo de vida de desarrollo de productos de TI


Las etapas del ciclo se describen a continuación, comenzando desde el momento en que el cliente formuló sus ideas al contratista.

  • Planificacion

La planificación adecuada de la funcionalidad futura del producto y el análisis de requisitos juegan un papel clave para todo el proyecto. El gerente del proyecto es responsable de esta etapa, ya que es él quien es responsable del éxito de todo el proceso de desarrollo.

Antes del diseño del producto, la planificación es de naturaleza "aproximada", ya que es imposible averiguar el curso exacto de desarrollo en esta etapa.

Después de completar el diseño de UX / UI, puede hacer un plan preciso de cómo será el desarrollo y qué funcionalidad tendrá el producto.

  • Diseño

Después de la planificación llega el turno de los diseñadores de UX / UI, especialistas que diseñan interfaces de usuario. Los diseñadores estudian el comportamiento del usuario y crean una interfaz legible para humanos. La apariencia visual del producto también es el resultado del trabajo de los diseñadores.

Junto con ellos, los arquitectos de sistemas trabajan para decidir qué estructura tendrá el producto terminado y cómo debe comportarse.

  • Desarrollo

Los desarrolladores siguen una de las metodologías: para la empresa es principalmente ágil. Esta metodología implica un enfoque iterativo flexible, es decir, los desarrolladores actúan secuencialmente, dividiendo el proyecto en tareas más pequeñas.

Las iteraciones ágiles se denominan sprints, y un sprint incluye trabajo en todas las áreas: planificación, diseño, desarrollo, pruebas.

  • Prueba

Los especialistas en pruebas llevan a cabo diferentes tipos de pruebas: pruebas unitarias, pruebas de integración, pruebas de interfaz y otros tipos, según el propósito. Esta categoría de especialistas debería llegar a la conclusión final de que el producto no tiene errores y está listo para su lanzamiento.

Después de eso, el producto puede implementarse e integrarse con software de terceros. El proceso de desarrollo no termina ahí, continúa hasta que se realicen mejoras.

  • Apoyo

El producto terminado puede necesitar soporte adicional, ya sea que se trate de preguntas adicionales sobre el trabajo del producto por parte de los clientes, o la necesidad de realizar cambios en las funciones ya establecidas; los especialistas del servicio de soporte siempre están listos para ayudar.
La mayoría de los proyectos de desarrollo pasan por todas las etapas del ciclo de vida descrito anteriormente.
Por ejemplo, veremos más de cerca el proceso de desarrollo de productos para el proyecto actual de la compañía.

Etapa 1: idea


El cliente es una imprenta estatal. En todo el mundo, esta industria no atraviesa los mejores tiempos, pero en los Estados Unidos, las empresas de impresión permanecen a flote gracias a tecnologías innovadoras. La imprenta nos pidió que desarrollemos una aplicación para la realidad aumentada: Realidad Aumentada, AR.

El Servicio Postal de los Estados Unidos, que envía informes de transacciones impresos, ofrece descuentos a las empresas asociadas que reducen el consumo de papel a través de la tecnología. Nuestro cliente se ha convertido en una de estas empresas.

Etapa 2: contacto


Los representantes de la compañía nos contactaron para presentar su idea. Querían una aplicación de marketing de realidad aumentada. Antes que nosotros, usaron el sistema de reconocimiento de imágenes Catchoom, también querían licenciar un sistema de gestión de contenido como un producto separado, pero la compañía se negó. Además, el cliente quería agregar características únicas, lo cual no estaba implícito en la solución Catchoom. Por lo tanto, nuestra tarea era desarrollar un sistema adecuado a cambio.

Etapa 3: planificación


El cliente describió la funcionalidad básica del producto antes de contactarnos. El equipo de desarrollo tuvo que estudiar la idea del proyecto y recopilar todos los requisitos necesarios, identificar cuellos de botella y documentar todo. Los detalles del proyecto y los detalles técnicos se especificaron dentro de cada sprint.

El equipo que recopila los requisitos evalúa la información recibida, la propuesta, los costos de desarrollo y el precio, denominado RFx. Por lo general, dicho equipo consta de especialistas técnicos, un gerente de proyecto y un gerente de ventas. RFx válido antes del inicio del proyecto.



El cliente estudia la evaluación del proyecto para obtener una comprensión básica de cómo se verá el proyecto y cómo se llevará a cabo el desarrollo. También determina el tiempo y el costo.
Después de que el cliente haya aprobado el plan de desarrollo y el presupuesto, se puede iniciar el proyecto.

Comentario del director del proyecto Alexander:
“Soy responsable del progreso continuo del proyecto. Elegí la metodología Scrum para responder rápidamente a las demandas del cliente y del mercado. Scrum nos ayuda a desarrollar el producto, tener en cuenta las necesidades de los usuarios en cada versión del producto y utilizar las tecnologías más avanzadas en el desarrollo ".

Etapa 4: diseño


El cliente estaba abierto a cualquier idea de nuestros diseñadores y confiaba en la visión de los especialistas. El diseñador de UX / UI describió su visión del sistema futuro, basándose en prácticas de UX generalmente aceptadas, el cliente estuvo de acuerdo y comenzó el diseño.

Etapa 5: desarrollo y pruebas


El cliente visitó personalmente la oficina de la compañía para reunirse con el equipo de desarrollo y familiarizarse con la administración de la compañía. En los primeros seis meses, el cliente vino una vez al mes para establecer comunicación, conocer más de cerca al equipo y generar confianza entre las partes.

En la primera etapa de desarrollo, el equipo consistió en:

  • Un gerente de proyecto que también realizó las tareas de un analista de negocios;
  • Diseñador de UX / UI;
  • equipos de desarrollo.

En la etapa inicial, los desarrolladores realizaron pruebas por su cuenta, sin la participación de especialistas en control de calidad. El desafío era crear un conjunto de prototipos para la demostración en conferencias y atraer clientes potenciales. Entonces no se necesitaban pruebas detalladas.

Cuando el proceso de desarrollo comenzó a funcionar en las funcionalidades básicas, el equipo necesitaba ser ampliado. Como resultado, ella se veía así:

  • Gerente de proyecto;
  • Un analista de negocios con una gama más amplia de tareas que el gerente tenía antes;
  • Diseñador de UX / UI;
  • desarrolladores
  • Jefe del equipo de desarrollo (Team Lead);
  • Arquitecto de sistemas que desarrolló la estructura del producto;
  • Especialista en pruebas;
  • DevOps: un vínculo entre el desarrollo y la operación, trabajó con una red y la implementación del producto.

El jefe del equipo de desarrollo Igor presentó sus innovaciones:
“En este proyecto, soy responsable de cumplir con las tareas del proyecto, revisar el código, planificar sprints (iteraciones en desarrollo) e introducir nuevas tareas. Sugerí realizar pruebas unitarias con GitFlow y crear código con AWS Lambda. También estoy presentando nuevos miembros del equipo, soy responsable de su adaptación ".

Unirse al Team Lead fue una decisión importante, ya que ayudó a coordinar el desarrollo de versiones de aplicaciones para iOS y Android y la versión web para que todo se moviera en una dirección.



El analista de negocios Flor dice:
“Gracias a la organización del proyecto, mi trabajo fue extremadamente claro y efectivo. Procesé las solicitudes de los clientes y las transmití al equipo de desarrollo de una manera comprensible y técnicamente precisa. Trabajé en conjunto con un diseñador de UX / UI, y nuestro gerente de proyecto fue responsable de las negociaciones, lo que me dio la oportunidad de concentrarme en mis tareas principales ".

Como puede ver, el equipo necesitaba especialistas adicionales para resolver las tareas agregadas. Tal composición de equipo puede proporcionar un desarrollo de sistema competente sin errores.

Etapa 6: Apoyo


El soporte generalmente se proporciona en 3 niveles:

  • Primer nivel Ayuda básica, las preguntas simples que no requieren mucha atención se procesan en este nivel.
  • El segundo nivel. Ayuda extendida del personal con un conocimiento más profundo del producto. Estos no son necesariamente especialistas técnicos, pero definitivamente conocen muy bien el producto.
  • Tercer nivel El nivel experto lo llevan a cabo especialistas experimentados: gerentes de producto, ingenieros.

También hay cero soporte a través de folletos y guías de usuario.

De hecho, no hay tiempo en que el trabajo en software se considere completamente completado. O se reciben nuevos deseos del cliente con respecto a la expansión de las capacidades funcionales, o se requiere soporte para los usuarios del producto. Por ejemplo, los usuarios del cliente deseaban actualizar la aplicación y ampliar su funcionalidad.

Este proyecto representa bien todas las etapas del ciclo de vida del desarrollo. Si consideramos en detalle, el trabajo en cualquier software se ve aproximadamente igual y a menudo corresponde al esquema anterior.

Source: https://habr.com/ru/post/458336/


All Articles