As a freelance software system architect, I offer consulting in software engineering (from concept definition, requirements analysis, prototyping, design and implementation, through verification and validation) and specialize in architecting (architecture definition, modeling, assessment and evaluation).
I’ve worked in large, enterprise environments and for small organizations and projects; in commercial and government settings; in domains including business IT, Web applications, defense software, transportation, and large-scale scientific computing. I’m always looking for interesting projects and new challenges.
To any project, I bring an architectural focus: practical solutions to system problems, tackled through looking at the big picture and applying my experience which includes both industrial and research perspectives.
In addition to my own expertise, I can call upon a network of experienced colleagues from industry and universities with a variety of specialities to supplement what I provide.
I have been practicing and writing about software systems architecture since 1990. I help clients create architectures, model and document those architectures, devise architecture methods for organizations and conduct independent architecture reviews.
I’m active in the software architecture community through my publications, collaborations, teaching and as an invited member of IFIP Working Group 2.10 on Software Architecture.
In the area of architecture assessment, I led development of MITRE’s Architecture Quality Assessment (AQA); and was a contributor to the Software Architecture Review and Assessment (SARA) industry working group which developed a handbook for software architecture assessment. I use this background to conduct architecture assessments for my clients.
I’ve been a software engineer since 1978, working in languages ranging from Java and Ada to Scheme and Lisp, with an emphasis on using and creating Free Software. I was a member of the Ada 9X Mapping/Revision Team, which developed the ISO standard for Ada 95. In the 1980s, I was a developer of the IDEF methods for the Air Force’s Integrated Computer-Aided Manufacturing (ICAM) program. I practice requirements definition and modeling using techniques including SADT and UML.
Prior to consulting, I was chief technology officer and co-founder of an Internet privacy services start-up (that did not survive the dot com bubble’s bust in 2000!). I maintain an active interest in privacy and social network architectures, like GNU Social and the Riplz project.
As editor of several international standards (most recently, ISO/IEC 42010:2011, System and Software Engineering — Architecture Description, the international version of IEEE Std 1471:2000, for which I received the IEEE Computer Society’s Outstanding Contribution Award), I appreciate and practice effective writing and its application to training, specification, requirements analysis and architecture description.
I have developed training and curricula in areas including software architecture, modeling, requirements definition and design. I am often asked to create ontologies in various domains for clients using knowledge representation tools and delivery mechanisms such as XML.