Stop the Software Architecture Erosion: controlling and building better software systems

Sun 1:30-5:00 pm - Bonanza B
Bernhard Merkle, SICK AG, Germany

During the evolution of a software system, it becomes more and more difficult to understand the originally planned software architecture. Often a architectural degeneration happens because of various reasons during the development phases.

In this session we will be looking how to avoid such architectural decay and degeneration and how continuous monitoring can improve the situation. (and avoid architectural violations) In addition we will look at "refactoring in the large" and how refactoring can be simulated.

We will also look at some popular open source projects like ant, findbugs and eclipse (CDT/JDT) and see if and how far architectural erosions happens/ed there.

The participants will analyse a system and search with tool support for ersion areas and subsequently simulate virtual refactoring for improving the software. At the end participants will improved the system and have a good feeling how far an automated and tool supported approach can lead to better results.

AudienceResearchers, Practitioners
Objectives
  • detecting architectural erosion
  • refactoring eroded areas, and avoid this in the future
  • improve software and architecture quality
Class format

This is intended as a hands-on tutorial, 3 hours in length or longer with some presentation and some exercises parts.

 

2009 Highlights

Robert JohnsonRobert Johnson discusses Facebook’s approach to scalability issues resulting from a large growth of the user base. He talks about: why one needs to prepare for horizontal and not vertical scalability, very short release cycles which are better because they introduce fewer bugs, the need to streamline to deploying process for short release cycles, and making the entire process faster every day.

Watch the video on InfoQ.

More Highlights