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.
Gojko Adzic has written the book Specification by Example, explaining the set of techniques for describing the functional and behavioural aspects of a computer system in a way that they are useful to the development team (expressed ideally as executable tests), understandable by non-technical stakeholders and maintainable to remain relevant despite changing customer demands.
A successful business strategy starts with unique value creation. But for an organization to realize the full benefit of it’s business strategies it must develop and maintain them using an Agile approach. An Agile mindset and careful application of feedback provided by an iterative implementation will help retain value and turn good business strategies into great business strategies.
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
Agile seems to be all about short-term focus and a product life cycle is typically the polar opposite. How does one compare the relationship between the two? This is where product value comes in. 3
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? 39