🖐 5 Things Every Developer Must Know about Software Architecture
Abdulcelil Cercenazi
Posted on September 26, 2021
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
💖 💪 🙅 🚩
Abdulcelil Cercenazi
Posted on September 26, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.