Los buenos desarrolladores escuchan lo que sus clientes realmente quieren, en lugar de intentar una vida fácil, asustando a los clientes fuera de su visión original.
Recientemente desarrollé un software para un cliente, que rastreaba trabajos en el campo. El desarrollo fue inusualmente difícil e incómodo desde el punto de vista del desarrollo, porque no había una identificación de trabajo clara: las diferentes entradas realizadas por personal de trabajo diferente tenían que unirse por inferencia, determinando si las diferentes entradas probablemente pertenecían a la misma trabajo, basado en geolocalización y tiempo.
Desde el punto de vista del desarrollo de software, era feo: lógica difusa en todas partes. Pero desde el punto de vista del usuario, funcionó muy bien, incluso cuando el usuario cometió errores, los datos se curarían a sí mismos en función de otras sugerencias, y unirían los datos en una narración coherente.
- ¿Cómo resuelvo algunos de los mayores problemas de TI con el desarrollo de software offshore?
- ¿Los bancos antiguos de los años 70 que dependen del software COBOL no tenían software de base de datos? ¿Fue solo el almacenamiento de archivos simples?
- ¿Cómo debo prepararme para un rol de ingeniería de software en Freshworks?
- ¿Qué busca Mesosphere en los posibles pasantes de ingenieros de software?
- ¿Cómo podría una startup hacer socios de canal en la industria del software?
¿Por qué hice esto, aunque violó mis instintos de software, mi sentido del buen diseño? La razón por la cual el usuario tenía muy claro que esto era lo que querían, que solo este diseño cumpliría sus requisitos. Y tenían razón: el diseño brindaba la funcionalidad que el usuario quería y la entregaba bien.
No siempre funciona de esta manera. A veces, los clientes quieren una funcionalidad que realmente no se puede entregar, por ejemplo, regularmente me preguntan sobre la creación de aplicaciones de iOS que leen los SMS del usuario; esto está prohibido por el sistema operativo iPhone de Apple. Pero si siente que su desarrollador no lo está escuchando, no lo deje pasar, ¡hable con otro desarrollador!