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

Evolving Architectures – Part I What’s Software Architecture

I’m writing a short series of posts for MS Israel MCS blog (in Hebrew) and I’d thought I’d translate them to English, as it seems to me they are interesting enough. In this series I am going to talk about Evolutionary Architecture or , some of the aspect of dealing with software architecture in agile projects. The topic is interesting since architecture and agile seems to have some...

Read More