
Architecture Erosion in Agile Development
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 …
Continue reading “Architecture Erosion in Agile Development”

Reasons NOT to Refactor your code
Last week I wrote about the reasons to refactor code. Let us now look at some reasons why you shouldn’t refactor code. When dealing with legacy code there will always be a temptation to refactor the code to improve its understand-ability or performance. However, here are some reasons why it might be better to hold off: 1. …

Four Reasons to Refactor your Code
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 …

Android Modularization
Out of the box, Android Studio provides one module: the app module. Because of this, most developers write their entire application in this one module. This is fine for small teams and small applications. But, as an application grows, more team members are added and the application becomes more complex, build times can increase – …

Motivation for Software Architecture Refactoring
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 …
Continue reading “Motivation for Software Architecture Refactoring”