Desarrollo web

Mi proceso de desarrollo de software a medida: Paso a paso

desarrollo-de-software

¿Cómo tomo exactamente tu idea y la convierto en realidad a través del desarrollo de software a medida?

Practico el desarrollo iterativo centrado en las características, ya que acerca al cliente a su proyecto final más rápidamente y con mucho menos riesgo.

Profundicemos en lo que ocurre en cada paso de este proceso:

Paso 1: Priorizar

En primer lugar, organizo el trabajo que el cliente solicita en lo que se llama épica, que es un término elegante para las cosas que añaden valor de negocio a su organización. Dentro de una epopeya, hay una o más características que se definen para ayudar a proporcionar ese valor. Por ejemplo, una epopeya en el proyecto podría ser la funcionalidad de comercio electrónico y las características podrían incluir un carrito de compras virtual, la experiencia de pago y la aceptación de tarjetas de crédito para el pago.

Cada vez que añadamos algo a la lista de epopeyas y características, se trabaja para priorizarlo. Todo esto se basa en la dirección e interpretación del cliente de qué característica es la más importante. Si dice que la cesta de la compra es la característica más importante dentro de la epopeya, empezaremos por ahí. Podemos tener algunas recomendaciones a lo largo del camino también basado en nuestro nivel de riesgo percibido y la complejidad en la creación de esa característica. Si la creación de la cesta de la compra requiere una integración compleja, querremos empezar por ahí y dejar las características menos arriesgadas para más adelante en el desarrollo.

Dentro de cada característica, necesitamos definir más la funcionalidad específica, que también trabajaremos para priorizar. Ahora bien, el hecho de que algo sea un “nice-to-have” no significa que no vayamos a incorporarlo a la característica final. Todo este proceso nos ayuda a centrarnos en las piezas críticas de una característica y luego podemos incorporar las características agradables más adelante. Tanto las características críticas como las que son agradables de tener conforman lo que muchos llaman un producto mínimo viable (MVP), lo que significa que el producto tiene suficiente funcionalidad para ser utilizado por los primeros usuarios que luego proporcionan sus comentarios para el desarrollo futuro.

Al centrarnos en completar el proyecto característica por característica y guardar las piezas que son agradables de tener para más adelante, le ayudamos a alcanzar un punto en el que su proyecto podría ponerse en marcha mucho más rápido que los procesos de proyecto menos eficientes de la vieja escuela. Cuando un socio de desarrollo de software define, construye y prueba todo el proyecto a la vez, el riesgo y el tiempo que conlleva es mucho mayor para su empresa, iterar a través de las piezas críticas y centrarse en la velocidad de valor ayuda a minimizar ese riesgo.

Paso 2: Definir el trabajo

Una vez que hayamos priorizado todas las épicas y características necesarias para completar con éxito su proyecto, ahora tenemos que definir los criterios de aceptación, lo que significa entender los criterios para considerar que una característica está totalmente completa. Normalmente buscamos dos cosas:

Qué: ¿Qué estamos tratando de lograr?
Por qué: ¿Por qué es importante (proporcionar el contexto)?

No se debe sentir que una idea debe estar totalmente desarrollada en la mente cuando se trata del proyecto; se producirá un ida y vuelta natural mientras trabajamos en el desarrollo de la característica. Tomamos los requisitos y los convertimos en historias de usuario, un término de las metodologías ágiles que describe los elementos de trabajo necesarios para cumplir los criterios de aceptación de la función.

Estas son algunas de las claves del éxito que buscamos al definir el trabajo necesario para completar el proyecto:

  • Es fundamental definir explícitamente lo que se necesita y por qué.
  • No podremos deducir con éxito los requisitos del proyecto simplemente observando su solución actual. Ayudarnos a entender cómo funciona el programa actual y qué quiere que consiga después del proyecto es esencial para elaborar una solución que satisfaga las necesidades del cliente.
  • Asegurarse de definir lo que se necesita frente a lo que se desea en el producto final. Podré ayudarle a realizar tantas tareas como sea posible, y definir la diferencia entre necesidades y deseos ayuda a priorizar, tal y como hemos comentado en el primer paso.

Con demasiada frecuencia, veo clientes que me dicen que vea su programa actual y que elabore una solución nueva y mejorada basada en él, lo que puede ser un camino peligroso. Es posible que no obtengamos una imagen completa de su programa si lo investigamos nosotros mismos, por lo que es importante que nos muestre el camino por adelantado. Por ejemplo, hace poco hablé con un cliente sobre una funcionalidad de su sitio web que había considerado necesaria, pero cuando sacaron informes de uso para confirmarlo, resultó que nadie estaba utilizando esa parte de su sitio. Así ganan todas las partes: No hay que volver a desarrollar una función que no se va a utilizar, y el cliente no tiene que gastar dinero en ella.

Paso 3: Construir, probar, mostrar

Definir y priorizar el trabajo es un buen comienzo, pero la mejor manera de ofrecer valor es entregar el trabajo lo más rápido y frecuentemente posible. Cuanto antes podamos mostrarle una pieza de funcionalidad que funcione, antes podremos recoger sus comentarios y corregir el rumbo si es necesario. Esta es la clave para el desarrollo de software complejo, ya que hace hincapié en la transparencia y la colaboración como elemento central de nuestra filosofía de entrega.

Paso 4: Comentarios y aceptación

A medida que vea en qué estamos trabajando, tendrá nuevas ideas y comentarios para el desarrollo. Esto es normal y forma parte del proceso de desarrollo de software. Al fin y al cabo, ¿cómo sabe lo que piensa de una función hasta que la ve por sí mismo? En este punto, le ayudamos a determinar si esas nuevas ideas son críticas o agradables de tener, al igual que hicimos en el primer paso del proceso de desarrollo. Si sus nuevas ideas son rápidas de implementar, ¡genial! Podemos ocuparnos de ellas directamente. También he trabajado con clientes para crear prototipos de su producto final o hemos implementado pruebas A/B para reunir investigación antes de salir al mercado. Siempre estaré para ayudarle a encontrar la mejor manera de lanzar el producto y facilitar el proceso de revisión de una manera que tenga sentido.

Ahora, hemos llegado al final: ¡su software está listo para salir al mercado! Todo el trabajo duro que hemos realizado ha terminado, ¿verdad? No del todo; el desarrollo no tiene por qué detenerse con el lanzamiento del proyecto. Algunos proyectos más pequeños requieren una atención mínima, mientras que otros grandes proyectos pueden requerir una inversión continua para su crecimiento.

Espero que esto aclare un poco más wl proceso de pensamiento detrás del mundo del desarrollo de software complejo y personalizado.

Deja una respuesta