Software Architecture – 5 years later
I got several interesting comments to “Who needs an architect” (both here and on DZone). Some of them said I don’t get the architect “role”, some said I am looking at things from the code level and don’t see the forest for the trees, others said that this whole “agile” thing is crap (admittedly not in so many words). Another one talked about the...
Read MoreWho needs an architect anyway?
Not all projects need architects. There, I’ve said it. Not all projects need architects and I am not talking here just about trivial projects. There are cases (maybe even many cases) where you can get by with what I call “off-the-shelf” architecture – maybe with a few adjustments that any master developer (i.e. seasoned and experienced developer) can handle. For instance a...
Read MoreSoftware architecture should start with Why
I recently saw Simon Sinek‘s TedX talk on Start with Why (see below) talking about leadership. But WHY am I telling you this? For one, it’s a good talk on leadership and inspiration in itself (well worth the 18 minutes or so it would take you to watch it). The main reason, however, as the title says, is that it also pertains to software architecture decisions. Simon talks about...
Read MoreNanoservices anti-pattern pdf version
The formatting on the html version of the nano-services is a bit off (Word to HTML is so much fun) so I am also making it available as PDF. if you don’t remember Nonoservice is an Anti-pattern where a service is too fine grained. Nanoservice is a service whose overhead (communications, maintenance etc.) out-weights its utility. * illustration by...
Read MoreEvolving Architectures – Part III starting out
Before we talk about the what/how let’s do a quick recap on the why we’re here: Architecture is important to software projects Architecture and agile have some conflicting forces that needs to be reconciled (e.g. up-front work, hard to change vs. delivering business value quickly and embracing change) design can be emergent but architectures can’t and must be grown...
Read MoreEvolving Architectures – Part II but Design is emergent
This is part II of a series on agile architecture. You can read part I here. In the previous installment I provided a definition for software architecture and raised the apparent friction between the up front design implied by software architecture and the YAGNI approach and deferred requirements prompted by agile development in the large. This installment take a look at an additional angle of...
Read More


Me elsewhere