Cualidades de un desarrollo a la medida exitoso

Escrito por Randall Chacón

Es curioso que en muchos espacios como seminarios, talleres y conceptualizaciones, tanto el personal de negocio como el de tecnologías de información, suelen expresar su frustración hacia experiencias pasadas o que están viviendo en la actualidad en el desarrollo de software.


Tal es el caso de los problemas de comunicación, las fechas impuestas que son poco realistas, la falta de compromiso de alguna de las partes, los roces entre áreas, los productos de baja calidad y la poca comprensión de los requerimientos, solo por mencionar algunas de las principales quejas.


Esta es una realidad que viven todas las organizaciones nacionales y extranjeras. Entonces ¿cómo mejorar el proceso de desarrollo de software? Al consultar el CHAOS Report del Standish Group desde hace algunos años, hemos identificado que los factores de éxito de los proyectos están relacionados con la agilidad en el desarrollo, el perfil del dueño del producto y el manejo del alcance.

 

Cualidades de un desarrollo a la medida exitoso

 

Por eso, en esta ocasión, queremos presentar 3 cualidades a considerar para que su desarrollo a la medida sea exitoso. Estas cualidades han sido construidas a partir de la combinación de conocimientos obtenidos de reportes como el citado anteriormente y de nuestra experiencia en el desarrollo de software a la medida.

Artículo recomendado: ERP o sistema a la medida, ¿qué necesita realmente?

1. Utilizar un proceso de desarrollo ágil

desarrollo-a-la-medida-exitoso

Un proceso ágil puede ser traducido en elementos que sean tangibles como los siguientes: 

  • La generación de entregables que realmente aporten valor a las actividades de levantamiento de requerimientos, diseño, desarrollo y pruebas. 
  • El involucramiento del product owner visto como un miembro del equipo (en el siguiente punto hablaremos más de este rol).
  • La planificación de sprints o iteraciones (ciclos cortos y por lo general, de tiempos iguales) que permitan generar un software funcional y del que se puede obtener retroalimentación temprana, en el momento adecuado. 
  • La reducción del tiempo empleado en la toma de decisiones, a fin de obtener consenso rápido y evitar obstáculos en el avance del desarrollo. 

Artículo recomendado: 4 señales que indican que su empresa necesita un sistema a la medida

2. Contar con un verdadero product owner

desarrollo-a-la-medida-exitoso 2

Una de las primeras explicaciones que recibimos fue que el product owner se puede comparar con un gerente general o incluso un CEO (Chief Executive Officer por sus siglas en inglés). En otras palabras, tiene responsabilidades de suma importancia, por eso, es necesario que vea al equipo de desarrollo como propio, a fin de que se cumpla con la capacidad de entrega de software determinada, con los periodos de tiempo asignados y con la entrega del producto final.

 

Para que los objetivos se logren cabalmente, el product owner debe transmitir con claridad los requerimientos y establecer una priorización objetiva de los mismos. Además, debe brindarle al equipo cuanta ayuda sea posible para que no tenga obstáculos, ruidos externos, de modo que pueda enfocarse en lo que realmente agrega valor al negocio.

 

El conocimiento del negocio es fundamental en un product owner, pero podríamos decir que igual o más importante es la habilidad para trabajar en equipo, enfocarse en los resultados, gestionar las expectativas del negocio, y ser realista con las fechas y los resultados según los recursos con los que se dispone. 

Artículo recomendado: ¿Cómo evaluar mis sistemas o desarrollos de software actuales?

Asimismo, debe defender su producto y a su equipo de trabajo, pues es importante que dicho equipo vea al product owner como un aliado: alguien con quien se puede conversar y discutir una situación, una definición de alcance, una decisión, la gestión de un riesgo y obtener un criterio imparcial. 

 

En definitiva, el  product owner requiere de una actitud sincera en la búsqueda de la mejor solución, del consenso y en la consideración de todas las partes, incluyendo las del equipo. 

 

Las organizaciones deben buscar personas con estas habilidades y desarrollar aquellas que desean asumir este rol. Si esto no se cumple en sus proyectos actuales, o si su product owner no está pendiente de malas prácticas que debe evitar para no fracasar al desarrollar un software a la medida, debe valorar un plan para cerrar esas brechas o bien, cambiar la persona.

 

3. Procurar el desarrollo de una arquitectura de software robusta

desarrollo-a-la-medida-exitoso 3

Una arquitectura de software robusta, probada y que sea replicable le ahorrará tiempo de desarrollo, a la vez que disminuirá los atrasos y las dificultades en pruebas o en el mismo ambiente de producción ante cargas reales. Por eso, se recomienda que cada desarrollo tenga un análisis de cuáles son los retos o complejidades técnicas, a fin de determinar:

  • Si existen mecanismos de arquitectura ya definidos y que se puedan reutilizar.
  • Si son aspectos nuevos. En este caso, se deberán desarrollar pruebas de concepto y código que permitan determinar formas viables de solución. Estas soluciones probadas y basadas en decisiones de diseño y patrones, deben ser documentadas y masificadas para proyectos con situaciones similares.

 

De esta manera, la organización podrá madurar paso a paso e ir armándose con una “caja de herramientas” que evoluciona en el tiempo. Por ejemplo, nuestra arquitectura podría responder de manera detallada y con todas las consideraciones a preguntas como las siguientes: 

  •  “¿Cómo realizamos una integración con un tercero a través de servicios web de manera segura y transaccional?”. 
  • “¿Cómo generamos reportes de manera eficiente cuando se cuenta con grandes volúmenes de datos?”. 
  • “¿Qué marco de trabajo o patrones de diseño implementar a una capa de acceso a datos que maneje de forma correcta la concurrencia y la integridad de los datos?”.

Artículo recomendado: ¿Renuevo un sistema o desarrollo uno nuevo? 5 tips para tomar una decisión inteligente

En definitiva, cada desarrollo nuevo podrá estimarse de mejor manera y ser predecible al contar con una base de arquitectura. 

 

Esperamos que las 3 cualidades que compartimos le sean de utilidad. Recuerde que estas influyen en el éxito de los proyectos de desarrollo a la medida, por lo que debe:

  • Utilizar un proceso de desarrollo de software ágil como medio que facilita tener un equipo de alto desempeño.
  • Contar con un verdadero product owner, que sea un aliado enfocado en aportar valor al negocio, que busca el consenso y es consciente del esfuerzo que implica el desarrollo de software.
  • Desarrollar una arquitectura de software robusta como una base sólida para facilitar la construcción de dicho software sobre decisiones bien pensadas e ingenieriles.

Guía gratuita descargable  Para determinar si necesita un nuevo sistema a la medida  Obtener guía