The evolution of the software industry has created two separate roles: The developer and the tester. Traditional software development put these two at odds. Now, agile practices are bringing them together again in order to meet the original business goal: working software.
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 code. What is common for code, can't be neglected for software architecture. This is where software architecture assessment comes to help. 2
Gojko Adzic has written Specification by Example in which he provides advice and guidelines on adopting this approach as a way to create living documentation on a software development project. 7
In this article, Yogesh Kumar explains how to apply Agile techniques to create and maintain healthy business strategies. This approach can turn good business strategies into great ones. 7
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
This article ties a rather abstract and developer centered concept (story points) to the real world of business (spreadsheets and ledgers). Making this connection is essential for management. 5
This essay is an intentionally provocative and controversial call for a real revolution in how we conceive of and practice software development. The intent is to stimulate discussion. 32