Adaptive design for weblog software

Matt Webb's blog about adaptive and evolutionary design makes good reading for anyone interested in those concepts as they apply to software architecture and application development. Matt Jones is also linking to the blog.

I posted a short blog about the software ecology of Drupal on the Drop blog -- I've been spending a good deal of time talking to Drupal developers lately. I talk a lot about evolutionary design because I work in the the temple of Unix and C and the software ecology within my organization reflects that. I have learned to respect the wisdom of programmers that have spent decades using very elegant tools that have been refined over time. Webb's vision of the software ecology reflects the same -- small code components and an abstraction layer that are evolved slowly over time. The idea is that applications are developed separately to serve individual functions very well. The ecology is characterized by the slow evolution of software whose features remain shallow. The adaptability comes in the form of interoperability of individual applications across the software landscape.

I think it's good to reflect on this description of software development so that we understand, as contributers to the software selection process, what to consider when choosing software. Vendors of various content and document management solutions sell the concept of a platform that will serve as the panacea for your enterprise knowledge and content management and communication needs, but more important than the pitch is to understand how the platform and component pieces will allow for your solution to grow with your needs. As Gunnar has remarked in the Drupal discussion, the proof is in the pudding -- the pudding being the development team and I might add in the core software functionalities and solutions addressed by your tools.