Effective Software Reuse
For many years Software Reuse has been seen as a solution to both reduce the costs of software development and improve the quality of the systems being developed. However, in practice, most companies...
View ArticleProgramming Without an Internet Connection
Are you able to program without an internet connection? In my case the answer is definitely “No.” In most of my programming tasks I need to get some help from the internet, generally in the form of...
View ArticleSeparation of Concerns
The most important principle in Software Engineering is the Separation of Concerns (SoC): The idea that a software system must be decomposed into parts that overlap in functionality as little as...
View ArticleAvoiding Technical Debt: How to Accumulate Technical Savings
The metaphor of Technical Debt has been widely accepted as part of the current reality of software development. Programmers agree that they frequently need to make sacrifices in order to meet...
View ArticleAntifragility and Component-Based Software Development
In his book “Antifragile: Things That Gain From Disorder”, Nassim Taleb introduces the concept of Antifragility, which is the opposite of Fragility. Antifragile things are able to benefit from...
View ArticleOn Agile Architecture, Emergent Design and Framework-Based Design
I recently read the very interesting Ph.D. thesis of Michael Waterman on the topic of Agile Software Architecture. Michael investigated how professional software engineers in the industry are applying...
View Article
More Pages to Explore .....