One of the main challenges when designing software architecture is the consideration of quality attributes. Not only their design turns out to be difficult, but also the specification of these attributes. Consequently, many problems in software systems are directly related to the specification and design of quality attributes such as modifiability or performance, to name just a few.
When developers know how their applications are really being used “in the wild,” they will build better software, more efficiently, and with greater confidence. Sebastian Holst shows you how using application analytics.
Testing is an important means to obtain information about implementations. Likewise, code reviews help to keep the code quality high. What is very common for code, gets sometimes neglected for software architecture. But how can a project team test the architecture itself? Software architecture assessment represents an effective approach for introspecting and assessing software design.
This article draws an analogy between QoS for networks and for applications, resulting in a mapping guide between the two and introducing a production solution for Java, (J)Ruby, and (J)Python apps.
James Madison shows how architects can bring agile and architecture practices together to pragmatically balance business and architectural priorities while delivering both with agility. 3
In this article, author Olivier Gaudin discusses the differences between internal and external software quality and how to perform the software quality assessment using Sonar and JaCoCo tools. 2
Fabian Kiss makes the case for a lightweight approach to documenting the rationale and decision process behind design decisions to tie the source code to its meaning in the application domain. 4
Fixed price contracts are often decried as evil, however they are something which many agile teams face. How can a company execute one using agile practices to achieve better results with lower risk? 15
The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect? 42
This article takes a look at Edward Deming's work and it's applicability to Agile methods. 2
To turn code into working software we need to deploy and test it. Often, we fail to emphasize the latter as well as the former. 2
In this article, the layered architecture of test automation is presented to solve the problem of test logic getting buried in unrelated supporting code. 9