InfoQ: The Elusive Dependency
Architecture models how the system and its elements hang together. Yet the true complexity of architectural dependencies can be highly elusive. We share architectural information when we build integrated systems creating complex and hard to find dependencies. This article introduces a simple modelling approach to analyse of architectural dependencies within complex technology environments.

LogiGEAR Magazine: More just isn’t more
Most have probably heard the expression ‘less is more‘, or know of the ‘keep it simple and stupid‘ principle.  These are general and well-accepted principles for design and architecture in general, and something that any software architect should aspire to.  Similarly, Richard P. Gabriel (a major figure in the world of Lisp programming language, accomplished poet, and currently an IBM Distinguished Engineer) coined the phrase ‘Worse Is Better‘, in formulating a software concept that Christopher Alexander (a ‘real’ architect famous within software engineering) might have termed ‘piecemeal growth’ – e.g., start small and add later. But what happens if we continue to add more, even if they are just small, simple pieces? Read more…

Peer-reviewed academic publications at international conferences

Visualising Architectural Dependencies
Abstract: Visibility of technical debt is critical. A lack thereof can lead to significant problems without adequate visibility as part of the system level decision-making processes. Current approaches for analysing and monitoring architecture related debt are based on dependency analysis to detect code level violations of the software architecture….

Publication: Click here to download
Conference: ICSE 2012, Managing Technical Debt Workshop (MTD)

Towards an Architectural Viewpoint for Systems of Software Intensive Systems
Abstract: An important part of architectural knowledge is the capture of the environment and external system relationships through contextual viewpoints…

Publication: Click here to download
Conference: ICSE 2010, 5th Workshop on SHAring and Reusing architectural Knowledge (SHARK)

Software Architecture for Systems of Software Intensive Systems (S3): The Concepts and Detection of Inter-System Relationships
Abstract: Key to software architecture is the description of relationships between software components supported by commonly understood semantic definitions…

Publication: Click here to download
Conference: ICSE 2010, Doctoral Symposium