The Importance of Measuring Your Software Architectural Health

Thursday, August 04, 2022

How do you measure the “architectural health” of a software project? Since every software project is different, it is hard to come up with a single number that represents the architectural health of an entire project. Lattix Architect, therefore, provides a variety of architectural metrics. These metrics were chosen based on academic research on system architecture …

software architecture

Architecture Erosion in Agile Development

Thursday, May 12, 2022

Software architecture erosion refers to the gap between the planned and actual architecture of a software system as observed in its implementation.1 Architecture erosion is a common and recurring problem faced by many agile development teams. Architecture erosion can result in lower quality, increased complexity, and harder-to-maintain software. At the beginning of a project, the source …

Code City by Richard Wettel

Visualize Code with Software Architecture Diagrams

Thursday, December 10, 2020

The source code is the design. This famous motto means that no matter how many diagrams you draw and discuss with your colleagues, what matters is how the existing source code is actually structured. The need for visualizing code It is important to distinguish between the static view of code (how classes depend on each other in …

software modularity

Modularity Parable and Software

Thursday, November 26, 2020

In his seminal book, The Sciences of the Artificial, Herb Simon describes the parable of watchmakers named Hora and Tempus. They built watches out of 1000 parts. The watches were of the highest quality – as a result, they were often interrupted by customers calling up to place orders. However, they built watches using different techniques. Tempus …

software architecture

DevOps and Testing Software Architecture

Thursday, March 05, 2020

Forbes Magazine famously wrote that “Every Company is a Software Company.” Your company must become more responsive and agile using software and technology. And if the software doesn’t work or gives customers a bad experience, it can lead to lost revenue. This has led to the DevOps phenomenon, which is speeding up deployment of software …

Static Analysis tool CodeSonar

Four Reasons to Refactor your Code

Thursday, February 13, 2020

1. Maintenance is easier Legacy code architecture erodes over time and becomes difficult to maintain. Legacy code bugs are harder to find and fix. Testing any changes in legacy code takes longer. Even small changes can inadvertently break the application because over time the design has been extended to accommodate new features and the code …

Motivation for Software Architecture Refactoring

Wednesday, January 15, 2020

Refactoring is commonly applied to code, but refactoring can also be applied to other development artifacts like databases, UML models, and software architecture. Refactoring software architecture is particularly relevant because during development the architecture is constantly changing (sometimes for the worse; see our blog post on Architectural Erosion) and expanding. Software architecture refactoring should happen regularly …