Another dive into Architectural Principles. This post really is about the brilliance provided to us in the book "Organizational Patterns of Agile Software Development by James Coplien and Neil Harrison There is a balance point to me between what is a Principle vs a Practice vs a A Technique or even a major section heading in a book. Each of them can end up being an architectural principle. And some are not. In Organizational Patterns" you will begin to see the nuance. To be honest, I want you to jump over the distinction for my next points. There are so many patterns leading to page 235 it is easy to let them overwhelm you. In "Organizational Patterns" you'll want to get to section "5.2 People and Code Pattern Language". And there you see it. In the next few sections, in the paragraphs, and in bold (in my 2005 edition anyway) are about a dozen or so thoughts which should be directly driving our architecture as principles. I think this principle encapsulates the others: "Create an architectural role as an embodiment of the principles that define an architectural style for the project and of the broad domain expertise that legitimizes each style." In the following pages, there are key phrases you've seen and heard in bits and pieces elsewhere - some of the other principles include things such as: "create an architecture which is simple and cohesive" "a team of resonating mindesto define the initial architecture" "come up with a single coherent architecture" "domain experts working together in the same room to work out the architecture" And so many more are in this section, your list might begin with the very first item on page 34. That is up to you. I've not counted, my guess is there are about 100 or so. And while there are these which focus on architecture, there are others which are on development, test, people, teams, and other points of focus. These handful in section 5.2 should be a starting set of architectural principles for all of us. john Doug Kathy Charlene Charlene Christopher Mark Mark Mark Dr. Adam Steve Steve Michael Harry Daylon Katie Blake Luke Keith Rosana (Ro) Karen Scott Scott Niraj Kiran Martin Phil Travis Terry Jane William Steve Rick Mark Dr. James Neil Dee
SAFe - Agile Architectural Principles from an earlier SAFe class from versions ago: I reread "Lean Architecture for Agile Software Development" over the weekend. Thank you James Coplien & Gertrud Bjørnvig with your SO MANY great insights. And I reread it to remind myself of all of those insights. And in my nth reread of Lean Architecture I still find so much value. Honestly I was looking for a list of software development architectural principles to compare my current list against and stayed to go through it again. Here is a list of agile architectural principles we used in SAFe classes many versions ago. This was from a v3 SAFe class. Agile Architecture Principles Principle #1 The teams that code the system design the system. Principle #2 Build the simplest architecture that can possibly work. Principle #3 When in doubt, code it out. Principle #4 They build it, they test it. Principle #5 The bigger the system, the longer the runway. Principle #6 System architecture is a role collaboration. Principle #7 There is no monopoly on innovation. Again, these are from several years ago. A question for you. What are you using as your list for your achitectural discussions with the system architects, portfolio architects, and enterprise architects you are working with today? The folks I work closely with often joke how I always go back to Reinertsen or Ward! For you, yes I do have a larger reading list! And yes, I do have my list of architectural principles for lean product development (not just for software development). Here's my next question, and yes, I am looking for comments. What is an architectural principle driving your discussions, toward the top of your head today. For software dev or product dev wherever your thoughts head. john ps. And yes, in a future post, I will share my current list. Doug Kathy Charlene Charlene Christopher Mark Mark Mark Dr. Adam Steve Steve Michael Harry Daylon Katie Blake Luke Keith Rosana (Ro) Karen Scott Scott Niraj Kiran Martin Phil Travis Terry Jane William Steve Rick Mark Dr. James Neil Dee