Skip to content

Nihon-go special (for my Japanese readers)

January 24, 2010

In December 2009, I made several presentations in Japan. Here are the slides in Japanese, translated by Dr.  Taku Fujii, from OGIS-RI:

And my books have been translated in Japanese, the first by Dr. Fujii himself:

the latter by folks at IBM Japan System Engineering.

The Context of Software Development

July 22, 2009

fig-1-contextFor real estate, the motto is “Location, location, location.” For software process, it should be “context, context, context.” In my rant paper Voyage in the Agile Memeplex in ACM Queue, I stressed the absolute necessity to put our processes in context. But “what is this “context” you keep referring to, Philippe?”, many people asked, “what is this context made up from?”. It is very unfortunate that too many advocates of agile development practice are preaching good practices, but completely removed from the context in which they were proven to be successful. It turns some of their followers, several levels of transmission down to become just blind bigots, sometimes rabid bigots (again see my paper for this phenomenon and the down side of decontextualization).

I provided some elements of response in my XP 2008 Keynote speech in Limerick. The short answer is in figure 1.

Read more…

Metaphors in Software Architecture

July 21, 2009

There is one constant, throughout the whole (short) history of software architecture, and regardless of the formality of the approach: it is the systematic use of metaphors to describe architectural elements and architectures.

Metaphors give meaning to form and help us ground our conceptual systems. A metaphor is a form of language that compares seemingly unrelated subjects: a rhetorical trope that describes a first subject as being equal or very similar to a second object in some way. A metaphor implies a source domain: the domain from which we draw metaphorical expressions, and a target domain, which is the conceptual domain we try to understand or to describe. The metaphor operates a cognitive transfer from the source to the target; it says in essence: “<the target> is <the source>.” Others call them the ‘metaphrand’ and the ‘metaphier’.

Read more…

Software Architecture Knowlege Management

July 20, 2009

akm_coverOn August 1st, the book  Software Architecture Knowlege Management, edited by M. Ali Babar, T. Dingsøyr, P. Lago, and H. van Vliet will be published by Springer-Verlag.

In this book I contributed chapter 3: Documentation of Software Architecture from a Knowledge Management Perspective–Design representation, pp. 39-57.

I review how software architects have represented architectural knowledge and in particular architectural design. This has evolved over the last 3 decades, from very intuitive and informal, to very structured, abstract and formal, from simple diagrams and metaphors, to design notations, and specific languages. As our understanding of architectural knowledge evolved, the importance of design rationale and the decision process became more and more prominent. There is however a constant through this evolution: the systematic use of metaphors.

Read more…

NSERC Chair in Design Engineering

July 9, 2009


As of now I am the holder of a chair sponsored by the the National Science and Engineering Research Council of Canada (NSERC)–our federal government. The chair is for five years and come with a sizable budget. The main objective of the chair is to further develop the teaching of design at UBC, and our specific focus will be interdisciplinary design in the areas of assistive technologies for people with disabilities or debilitating diseases and medical instrumentation. What does this has to do with software? A lot, actually. Software is pervasive in this field, but also this reconnects me with my roots: I am a mechanical engineer by education.

Press release at:

Read more…