Software Architecture – 5 years later

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 More

Who needs an architect anyway?

Who 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 More

Software architecture should start with Why

Software 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 More

Nanoservices anti-pattern pdf version

Nanoservices 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 More

Evolving Architectures – Part III starting out

Evolving 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 More

Evolving 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