Category Archives: Software Reuse

Software Reuse

On 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 Agile principles to software architecture and design. His conclusions are that … Continue reading

Posted in Adaptable Design, Agile, Software Architecture, Software Evolution, Software Reuse | Tagged , , , , | 11 Comments

Antifragility 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 volatility. In a previous post, I explained how in the field of … Continue reading

Posted in Antifragility, Software Architecture, Software Evolution, Software Reuse | Tagged , , , | 16 Comments

Avoiding 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 deadlines, and the consequences of these sacrifices are modules … Continue reading

Posted in Adaptable Design, Refactoring, Software Evolution, Software Reuse, Technical Savings | Tagged , , , | 24 Comments

Separation 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 possible. It is so central that it appears in … Continue reading

Posted in AOP, Design Patterns, OOD, OOP, Software Reuse | Tagged , , , , | 52 Comments

Programming 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 documentation and examples. … Continue reading

Posted in Efficacy, Software Reuse | Tagged , | 7 Comments

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 today have the feeling that they are … Continue reading

Posted in OOD, Software Reuse | Tagged , | 6 Comments