Elegir un desarrollador web o proveedor de servicios puede ser fácil (aunque lleve tiempo) cuando se sabe lo que se busca. Si necesita un fabricante de metal por contrato para fabricar una pieza, pida muestras de trabajo y quizás pregunte por las certificaciones ISO 9000, los plazos de entrega u otra información pertinente. Para algo como los servicios de conserjería, puede pedir un catálogo de sus servicios, precios y referencias.
El desarrollo de software es un poco diferente.
Es posible que no sepa exactamente lo que necesita y que no conozca lo suficiente el sector del desarrollo de software como para saber qué buscar en un socio de desarrollo de software. Corre el riesgo de elegir un socio basándose únicamente en el precio, de entrar en el proyecto con expectativas poco realistas y/o de quedar decepcionado con los resultados.
Para evitar esta trampa, es útil conocer un poco cómo funciona el proceso de desarrollo y prueba de software en general. Hay que saber las preguntas correctas que hay que hacer a cualquier socio potencial de desarrollo de software.
Estas son algunas de las preguntas más importantes que hay que hacer:
1- ¿Puede describir su proceso de desarrollo de principio a fin en términos sencillos?
Una desarrollador o empresa de software por contrato competente debe ser capaz de describir todo su proceso en detalle, evitando la jerga técnica oscura. Los miembros del equipo deben ser capaces de explicar:
Codificación – La mayoría de las empresas de software utilizan algún tipo de metodología ágil. ¿Cómo gestionan la planificación del sprint, la ejecución del sprint y la revisión?
Creación de prototipos – ¿Qué tipos de prototipos utilizan y cómo involucran a los usuarios finales en la evaluación de los prototipos? Una mayor participación del usuario final es mejor.
Garantía de calidad – ¿Cuál es su proceso para probar el software?
Descubrimiento de requisitos: así es como se enteran del problema empresarial y cómo determinan los requisitos detallados del software. Como mínimo, deben tratar de entender los:
- Tipos de usuarios del software
- Entornos en los que trabajan los usuarios
- Los recorridos que los usuarios tienen que hacer a través del software para apoyar sus tareas y objetivos
2- ¿Cuál es su experiencia en mi sector?
Cada industria tiene sus propias peculiaridades: terminología específica de la industria, mejores prácticas, marcos regulatorios, etc. Es útil que su socio de desarrollo de software tenga experiencia en su industria para que no tenga que explicar cómo funciona su negocio o los requisitos de software específicos de la industria. Deben ser capaces de compartir una lista de sus otros clientes en su industria y describir los proyectos que trabajaron para ellos.
3- ¿Cuál es su experiencia con el tipo de software que necesito?
Esta pregunta puede ser complicada porque es posible que no sepa exactamente qué tipo de software necesita. Pero sí sabes (deberías) lo que buscas: Software para PC o aplicaciones móviles para usuarios externos, software empresarial para uso dentro de la empresa, o tal vez incluso firmware para un dispositivo que está desarrollando o licenciando.
Si sabe exactamente lo que necesita, puede buscar socios especializados en ese tipo de software. De lo contrario, tendrá que buscar socios más “completos” con amplia experiencia en múltiples tipos de software. Pueden analizar sus necesidades y recomendarle el mejor tipo de software para su proyecto.
Si no sabe exactamente lo que necesita, puede preguntar: “¿Cómo vas a determinar el mejor enfoque para resolver mi problema empresarial?”
4- ¿Cuál es su experiencia con las tecnologías necesarias para mi software?
Esta pregunta es similar a la de la experiencia en software, pero también es claramente diferente. “Tecnologías” se refiere a enfoques específicos (como el deep learning o la realidad aumentada) que podrían ser la base de la solución de software.
En la fase de evaluación del proveedor puede ser prematuro entrar en este nivel de detalle de “full stack”. Pero si ya tienes una idea de la dirección del proyecto, puedes hablar de su experiencia con esas tecnologías específicas. (Sólo tienes que estar preparado para algo de jerga técnica).
Si no tienes ni idea de las distintas opciones de tecnologías subyacentes, puedes saltarte esta pregunta.
5- ¿Cuáles son sus opciones de soporte?
Esta pregunta suele ser más relevante para los proyectos de software de grandes empresas, pero también puede ser importante para los proyectos más pequeños. ¿Cómo dan soporte a su software una vez entregado?
Para los proyectos pequeños y puntuales en los que el producto de software no requiere un mantenimiento recurrente, es apropiado tener un corto período de tiempo durante el cual arreglarán los errores identificados. Todo lo que vaya más allá sería un nuevo proyecto.
Para un software empresarial más complejo y de misión crítica, el taller de desarrollo puede ofrecer varias opciones de soporte técnico para el mantenimiento, los parches de seguridad y las actualizaciones.
En este momento no estás negociando, sólo quieres conocer las opciones. Si la respuesta a esta pregunta es una mirada vacía, cambie de proveedor.
6- ¿Qué le diferencia de otros socios de software?
Aquí es donde usted les da la oportunidad de discutir la propuesta de valor de trabajar con ellos. Deberían hablar de cosas como la entrega a tiempo y dentro del presupuesto, la calidad y la eficiencia. Podrían compartir cómo se desarrolló y perfeccionó su versión específica de Agile y porque es superior a otros desarrolladores o empresas.
7- Por último: ¿Puede proporcionar referencias?
Esta puede ser la pregunta más importante de todas. Los comentarios sinceros de otros clientes del desarrollador de software pueden proporcionar información valiosa sobre cómo es realmente trabajar con el.
Un buen socio de software debería tener varios clientes dispuestos a hablar de sus experiencias.
Las referencias deben de poder decirle
- En qué medida el producto final cumplió sus expectativas
- Qué podría haber ido mejor
- Qué les gustó de trabajar con ese desarrollador
- Por qué recomiendan trabajar con ese socio
No tenga miedo de preguntar
Los buenos profesionales de desarrollo de software están acostumbrados a trabajar con clientes con una amplia gama de conocimientos de desarrollo de software, por lo que “no hay preguntas tontas”. Si pueden explicar las respuestas en términos que usted pueda entender, es una buena señal de que será un placer trabajar con ellos.