Craig Larman, especialista en procesos de desarrollo, autor de siete libros técnicos y con una larga experiencia de más de 30 años en el desarrollo de software, habla acerca del desarrollo incremental del software. El desarrollo incremental consiste en simplemente hacer crecer un software, no construirlo como se haría un edificio. Hoy en día los conceptos o entidades tratados en el software son complejos de especificarlos de antemano. Por ello, se debe enfocar el desarrollo de un modo diferente.
Actualmente, el hombre vive inmerso en una naturaleza compleja, llena de técnicas y ciencias complejas y diversas. Todo ello se ha conseguido realizando pequeñas mejoras sobre el estado anterior sin haber planificado de antemano donde vamos a llegar.
Del mismo modo, nuestros sistemas de software deben desarrollarse de manera creciente basado en un desarrollo incremental que haga mejoras según nuestras prioridades o necesidades. Craig comenta que siempre ha trabajado con esa mentalidad y cuando a mediados de los 80 escuchó por primera vez la palabra “arquitecto del software”, le pareció disonante con su perspectiva.
Andrew Hunt y David Thomas, en su libro “The Pragmatic Programmer: From Journeyman to Master“, comentan que la ciencia del desarrollo de software “se parece más a la jardinería que a la arquitectura”. La palabra arquitectura no es solo una metáfora, es la influencia sobre la política y la gente. Cuando una tarea la asemejamos a la arquitectura, se da a entender que hay una “fase de arquitectura” donde trabajan los arquitectos calculando todo y una “fase de desarrollo” donde los obreros ejecutan la obra.
Por lo general, en el desarrollo del software esto nunca ocurre así y cualquiera con experiencia en ese mundo lo conoce. Sin embargo, existe una influencia importante de las políticas y comportamientos en la formación. En ocasiones personas no expertas técnicamente pero con poder político escuchan la palabra arquitectura y en seguida sugieren políticas de impacto, procesos, planes, etc, semejante a la arquitectura del sector de la construcción.
Por todo ello, lo más interesante es pensar en “jardinería” más que en arquitectura, en una cultura de diseño creciente para evitar tal asemejanza con la construcción de edificios. Se suele creer que una arquitectura ágil proviene de un comportamiento ágil. No es el uso de un patrón de diseño particular, si no por las acciones y la mentalidad.
Fuente original | InfoQ