or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them. Architecture is concerned with the public side of interfaces; private details of elements—details having to do solely with internal implementation—are not architectural. ~ Wikipedia
blueprint for an object at runtime. Similar to the architecture of your solution, it is the blueprint of your solution during its lifetime. One should be able to look at your architecture and immediately see the system built, the same way your classes should be self-explanatory. ~ @igbanam
health check on teams • Opens the development processes up to the business CONS • Ceremonies can become a bore — switch it up: Scrumban • The development team could become an assembly line
on the “Domain” ◦ Bounded Contexts ▪ Islands (Independent Clusters) would begin to form in your models. • Code like an elite ◦ Structural Design Patterns ◦ Behavioural Design Patterns ◦ Creational Design Patterns ◦ SOLID, KISS, DRY • In Deployment ◦ More computing power — Moore’s Law vs. Amdahl’s Law [ | ] ◦ More computers — [ - ] ◦ More computes — [ \ ] Sharding. Breaking up similar things into inherent groups.
out the domain’s ERD. 3. Encircle similar entities. 4. Group these circles in code as modules (or folders) 5. [Optional] Define a facade for each module. 6. Transition module to service. 7. Scale. The Journey into Microservices
to solve into the problem your solution creates; then solve that problem • The architect does not design for the codebase; that’s the job of the software designer. The architect designs the domain and her systems • Measure EVERYTHING!!! • Scale forward