¿Es la complejidad una forma de pereza?

Voy a responder esto de varias maneras porque la pregunta es ambigua.

No buscar la comprensión de un tema complejo podría ser la pereza. O podría ser un uso eficiente de los recursos propios (mentales, etc.) ya que el uso más eficiente de un recurso no es utilizar el recurso en absoluto.

Supongo que la pregunta es: ¿vale la pena resolver lo que parece ser complejo dado la posible recompensa de hacerlo?

En un escenario práctico, digamos que está tomando un examen estandarizado que consta de 100 preguntas de matemáticas. El primero es probablemente solucionable dado lo que sabes, pero es horriblemente complejo y tomará un tiempo para avanzar. A simple vista, 80 de ellos son fáciles de manejar, y el resto tomará un poco de tiempo pero será bastante solucionable. Su mejor uso de sus recursos mentales para la maximización no es fijarse en el problema más complejo, ya que puede quedarse sin tiempo para resolverlo. Más bien, saltarse eso y pasar al grupo más fácil tiene más sentido. Luego vuelva a los que son más difíciles y luego, si todavía tiene tiempo, resuelva el más difícil. Al menos puedes garantizar que obtienes un 80% de puntuación correcta porque son conocidos y muy solucionables. es probable que un 10–19% adicional de su puntaje sea correcto, y uno restante probablemente responda mal dada la complejidad a la mano y el tiempo limitado disponible.

¿Saltar esa pregunta es perezoso? Yo diría que no. En ese escenario, usted es eficiente para maximizar el valor y administrar bien su tiempo. Y eso también le permite a su cerebro filtrarse en el primer problema, mientras que está haciendo otras cosas que podrían preparar su memoria para algunos de los pasos mentales que faltan y son necesarios para resolver el problema.

Desde una interpretación completamente diferente de la pregunta … ¿es una solución compleja para una pereza de pregunta / problema planteado (en software) en nombre del desarrollador?

En mi experiencia, cuando me encuentro con soluciones muy complejas en código o experiencia de usuario, la mayoría de las veces es el resultado de alguno o todos los siguientes: falta de comprensión completa del dominio que se está resolviendo, falta de comprensión de las herramientas disponibles, una restricción para el ingeniero (por ejemplo, si es necesario para una demostración en 24 horas) impuesta por el negocio, o requisitos poco claros en primer lugar. Estos escenarios a menudo conducen a implementaciones o soluciones altamente complejas a un problema. ¿Es la solución creada por el ingeniero porque era perezoso? Probablemente no.

¿Es la especificación pobre o ambigua una forma de pereza? Sí. Por favor, aclare su pregunta, es sub-especificado.

En realidad es lo contrario.