Category Archives: Agile & Architecture

Agile Development & Software Architecture

Domain-Specific Languages

There seems to be quite a lot of activity on the “Domain Specific Language” front at the moment. Martin Fowler published “Language Workbenches: The Killer-App for Domain Specific Languages?”, in which he concludes that the common programming pattern of setting up repeating data structures via either very similar lines of code, or an external configuration file, is actually a DSL. He also republished a paper by Dave Thomas entitled “Design to Accomodate Change” on the related topic of table-driven programming.

However, Martin’s essay goes beyond common programming and data techniques to look at the development of specialist tools which he calls “Language Workbenches”. I’m not completely convinced that we need these in the world of XML and XSD. If you have a defined schema for you XML-based DSL (and aren’t all the many *ML langauges just different DLSs?) then any schema-sensitive editor will provide you with good design and editing support. The leading IDEs (e.g. Visual Studio) all have such a tool built into their core capabilities. Surely we now have a sufficiently sophisticated set of XML-based tools and standards that we have an opportunity to exploit synergies rather than re-inventing the wheel?

See http://www.martinfowler.com/articles/languageWorkbench.html
Posted in Agile & Architecture, Code & Development, Thoughts on the World | Leave a comment

The Fear Premium

In an interesting echo of my last piece (Why Software Isn’t Like Building Construction), Scott Ambler has analysed bureaucratic processes as a response to management fear about what can go wrong in software development. His conclusion is that these processes Continue reading

Thursday, June 23, 2005 in Agile & Architecture, Thoughts on the World

Why Software Isn’t Like Building Construction

Many software development and management methods are founded on a basic assumption – that constructing software is rather like building a bridge or a house. Once we’ve “done the design”, actually generating the software ought to be a completely predictable, Continue reading

Monday, June 20, 2005 in Agile & Architecture, Thoughts on the World

Application Development Strategies

I recently attended a day of the Butler Group “Application Development Strategies” Symposium. I’ve just posted a short report on some of the more interesting discussions and presentations. Almost all of the presentations shared a reminder that we still have Continue reading

Saturday, May 21, 2005 in Agile & Architecture, Thoughts on the World

Growing a Language

I’ve just read a wonderful paper by Guy L Steele, “Growing a Language“. He argues strongly that programming languages must be “small”, but able to grow. Such a language will have a relatively simple structure, syntactic rules, and a small Continue reading

Wednesday, May 11, 2005 in Agile & Architecture, Code & Development, Thoughts on the World

Enterprise Integration Patterns

Integration, like other design activities, can benefit from sharing ideas and proven strategies in the form of patterns. An excellent starting point is Gregor Hohpe and Bobby Woolf’s Enterprise Integration Patterns website and book. In my recent work I’ve discovered Continue reading

Friday, March 25, 2005 in Agile & Architecture, Code & Development, Thoughts on the World

I Told You So

In Extensibility Points, Gregor Hohpe describes architecture as a guessing game, trying to understand future changes to a business, and designing a system to cater for those changes. He’s written a good article on types of extensibility and where they Continue reading

Sunday, March 20, 2005 in Agile & Architecture, Thoughts on the World

Web Service Challenges

In a recent article, Gregor Hohpe asks “Is SOA Like Drunk Driving?” In our attempts to address the shortcomings of component-based development have we “swung too far” and introduced new problems? One recent experience suggests to me that we may Continue reading

Enterprise Architecture Design and the Integrated Architecture Framework

I’ve recently been catching up on the Microsoft Architecture Journal. This is an occasional MS publication, which can be downloaded from the .NET Architecture Center. It’s got a lot of good articles, with a software architecture and process focus. Of Continue reading

Tuesday, March 8, 2005 in Agile & Architecture, Thoughts on the World

Business Flexibility

The business equivalents of expansion capabilities like the spare slots in a desktop PC Continue reading

Wednesday, February 23, 2005 in Agile & Architecture, Thoughts on the World

Architects – Masters of Order and Unorder?

A consideration of how an architect should handle complex or chaotic behaviour, using the Cynefin framework Continue reading

Friday, February 18, 2005 in Agile & Architecture, Thoughts on the World

Domain-Specific Modelling Techniques

Some useful Domain-Specific Languages I have developed or discovered Continue reading