architectural requirements

Software architecture should start with Why

Posted on May 24th, by Arnon Rotem-Gal-Oz in Blog. 1 Comment

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 “the golden circle” going from Why -> How -> What. Saying most people work from the outside in (rarely getting to the why) and leaders work from the inside our (starting with Why). It is true for us as well –  Software architecture decisions should start with why

We’re not just building an SOA (What) using mule or nservicebus (How) we’re doing that to build a flexible solution so that we can respond to … Read More »

Evolving Architectures – Part III starting out

Posted on May 17th, by Arnon Rotem-Gal-Oz in Agile Architecture, Blog, Featured Posts. No Comments

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 instead

Another  important point to remember is that sometimes you can get away with it. By “get away with it” I mean you can make 1 day or less design session opt for an off-the-shelf architecture, usually that also means choosing a product (e.g. Rails or Django) and it would be good enough for your project. This is usually true for small project or for projects which are ver/y familiar (and thus rather predictive and for the most part can be handled by waterfall processes).

If your project … Read More »