Lesson 187 - Categorizing Architectural Characteristics

Published 2024-05-19
There are literally hundreds of architectural characteristics (sometimes called NFRs, or non-functional requirements). As such, it can get quite overwhelming trying to understand what they all mean. In this lesson I’ll show you a way to categorize architectural characteristics, making it easier to know which ones you might need. While no categorization is perfect, I hope The categories I present in this video will help you better wrangle the plethora of architectural characteristics.

Head First Software Architecture: amzn.to/3VNFI0o
Software Architecture Monday: bit.ly/3dadEe3
Fundamentals of Software Architecture: amzn.to/3rgFLjY
Software Architecture: The Hard Parts: amzn.to/3BjMMF2

All Comments (8)
  • @pftg
    So neat introduction to the categories! ❤❤❤ There is only one bias suggestion, which presents in all videos 😊 Mark's comparison of testing microservices versus monoliths is flawed. Transitioning from monoliths to microservices makes testing more challenging due to network connections and other integration complexities. Testing a single unit of a monolith should require the same amount of effort or less compared to one testing microservice unit, as the functions are the same but without the overheads.
  • @mahdi5796
    Thank you. But can you please make a video and explain what's the practical benefit of these categories? How can they be used? Or they are just "nice to know"?
  • Happy to inform that yours truly has bought Fundamentals of Software Architecture yesterday.:eyes-pink-heart-shape:
  • @david56681
    Thanks Mark, just discovered your channel, great content! Questions about security: you classify the security as structural and cross-cutting characteristic. In large companies, this is THE essential one whatever the application, so incurring costs which may be overrated for some. Do you have any framework/tips on how to "adapt" the right level for each product.
  • @sant4398
    Thanks for new lesson! Portability looks for me like an Operational AC, while Interoperability can be also considered as a Process AC. Am I missing something? )
  • Graeat video. Thanks for this and for share you knowledge. Can you make a video or give us some info about comparing differents aspects of operational categories that overlaps with each other? For example, in a microservice architecture, the more responsiveness your system is,, the more you will sacrifice data consistency because you provide data to other services through events instead of send the data synchronously. Thanks!!
  • @sant4398
    Am I only a person who hear a low frequency bump sound periodically on Mark's videos? )