Problemas en el desarrollo tenemos dos:
•** Esenciales** que tienen que ver con el problema que vamos a solucionar diseño y comprobación del concepto. Los dividimis en 4 partes:
• Complejidad
• conformidad
• tolerancia al cambio
• invisibilidad
•** Accidentales**: detalles de implementacion y produccion, lengiajes, integraciones, servers, frameworks etc. Los dividimos en tres partes:
• Lenguaje de alto nivel
• Multi-procesamiento
• entornos de programacion
Los problemas accidentales nos traen ganancias cuando los resolvemos, incluso algunos son solucionables con al alguna libreria, api, etc. Lo verdaderamente importante es resolver los problemas esenciales.
Como solucionar dificultades esenciales:
Lo complejo de un desarrollo es lo esencial y no lo accidental. No hay ninguna bala de plata que solucione el problema esencial del desarrollo de software. Para ello nos dan 4 formas de resolver las dificultades esenciales:
• No desarrollar: siempre que podamos primero ver si el problema se puede solucionar con un software ya existente, con algo de open source, servicios, integraciones y soluciones pequeñas que solucionen parte del probela etc.
• Proptotypado rapido: son la evolución de las metodologías agiles, la idea es obtener e fedback lo mas rapido posible de si estamos resolviendo el problema correcto. Para eso hay que ir evolucionando en pasos muy pequeños y siempre obteniendo feedback. EL FEEBACK ES LA HERRAMIENTA DE DESARROLLO MAS IMPORTANTE DENTRO DEL DESARROLLO DE SOFTWARE MODERNO.
• Desarrollo evolutivo: esta relacionado al tipiado rapido, consta de ir desarrollando en pasos pequeños e ir evolucionando en ese sentido.
• Grandes diseñadores: personas que tengan la capacidad de diseñar una solucion simple y que resuleva el problema de la mejor forma y con la mejor calidad.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?