Philippe Kruchten: Controlling Your Architecture - Episode 195

Published: May 30, 2022, 8 a.m.

Philippe Kruchten has over 35 years of software development experience. Now retired, his experience focused mostly on large technical systems such as telecommunication, defense, aerospace, and software tools. He also spent 16 years as an educator and researcher in a major Canadian engineering school.

\xa0

Topics of Discussion:

[2:18] Philippe gives some of the highlights of his long career, starting first as a mechanical engineer and then traveling the world as a software engineer.

[4:26] How Philippe has seen software architecture change over time and the struggles architects still face.

[6:03] Software architects are among some of the most in-demand professions.

[7:10] What makes software architecture different from other coding?

[9:05] Discussing Building and Evaluating a Theory of Architectural Technical Debt in Software-intensive Systems and the three reasons for architectural debt.

[11:31] A major reason for architectural debt in software is not understanding the architecture due to improper documentation. So what is the proper way to document?

[17:23] Regardless of the format, each key audience needs a view specific to them, and how to document the decisions.

[21:19] Is there a best approach for harvesting or understanding the actual architecture?

[23:46] With a big architectural change, using systematic impact analysis and prototyping are ways to carefully approach the shift.

[26:48] Some unsolved issues that remain within the industry and what a good software developer looks like, then vs. now.

\xa0

Mentioned in this Episode:

Architect Tips \u2014 New video podcast!

Azure DevOps

Clear Measure (Sponsor)

.NET DevOps for Azure: A Developer\u2019s Guide to DevOps Architecture the Right Way, by Jeffrey Palermo \u2014 Available on Amazon!

Jeffrey Palermo\u2019s YouTube

Jeffrey Palermo\u2019s Twitter \u2014 Follow to stay informed about future events!

\u201cBuilding and Evaluating a Theory of Architectural Technical Debt in Software-intensive Systems\u201d

\u201cA General Model of Software Architecture Design Derived From Five Industrial Approaches\u201d

Software Systems Architecture

4+1 Architectural View Model

IEEE 1471

\xa0

Want to Learn More?

Visit AzureDevOps.Show for show notes and additional episodes.

\xa0

Quotes:

  • \u201cI think we\u2019ve made some progress. We understand the role of architecture a little bit better.\u201d\u2014 Philippe [4:59]
  • \u201cWe\u2019re still hindered by the fact that architecture is hard to grasp; it\u2019s hidden out there in the software, it's not visible at the surface.\u201d \u2014 Philippe [5:05]
  • \u201cWe\u2019ve come a long way in making architecture a first-class citizen in a few organizations.\u201d \u2014 Philippe [5:42]
  • \u201cArchitecture, for me, is the set of design decisions you have to make usually early in the life of a system that will actually condition a lot of things in terms of structure and behavior of the system.\u201d \u2014 Philippe [7:25]
  • \u201cIt\u2019s not programming; although the architecture will end up being code somewhere. The act of developing a software architecture is more about decision-making and understanding the intricate network of decisions and how they relate to each other.\u201d \u2014 Philippe [7:58]
  • \u201cNot every software developer needs to be a software architect, but they need to understand what is the software architecture of the system I\u2019m working on.\u201d \u2014 Philippe [8:45]
  • \u201cYou end up being in a position of architectural technical debt not because you made the wrong decision 10 years ago, but because those decisions are not the right one in the current circumstances. Then there is architectural debt because what you did 10 years ago was just plain stupid!\u201d \u2014 Philippe [10:38]
  • \u201cDiagrams are useful for architects to communicate to another audience.\u201d \u2014 Philippe [18:59]

\xa0

Philippe: Website | Twitter | LinkedIn