๐Ÿ– 5 Things Every Developer Must Know about Software Architecture

1. Software Architecture Isnโ€™t About Big Design Upfront โ˜๏ธ
Big designs upfront are usually done in waterfall models of software development.
  • The waterfall model is predicted to be bad by its own inventor :)
  • The upfront design should be a basic, good one done with an iterative and incremental process.
    When Do We Stop The Architecture Planning? โ›”๏ธ
    When we have a solid understanding of the following aspects:
  • The significant architectural drivers
    • Cost, Response Time, etc...
  • Requirements.
  • Constraints.
  • The context and scope of the product.
  • The significant design choices.
  • Technology used.
  • Is our application a Monolith or is a set of Microservices?
  • The risks associated with the product.
  • 2. Every Software Team/Product Needs To Consider Architecture And Needs To Have A Technical Leader โœŒ๏ธ
    This is crucial to have consistent patterns in the product.
    3. What's The Software Architect Role About ๐Ÿ‘จโ€๐Ÿ”ง
  • Coding.
  • Keeping an eye on whatโ€™s going on with the code base.
  • Coaching.
  • Collaboration with others to incrementally draw the architecture of the application.
  • Itโ€™s a continuous role that spans the life of the project.
    4. An Architect Doesnโ€™t Need To Use UML ๐Ÿ“
    There are several other tools that enable us to create architecture diagrams using GUIs or even using code.
  • C4-PlantUML (code based)
  • Diagrams.net (GUI based)
  • Structurizr (both code and GUI based)
  • 5. A Good Software Architecture Enables Agility โค๏ธ
    Credits ๐Ÿ™Œ
    This post has been prepared using the lecture of Simon Brown Five Things Every Developer Should Know about Software Architecture

    34

    This website collects cookies to deliver better user experience

    ๐Ÿ– 5 Things Every Developer Must Know about Software Architecture