Episode 173: Feature-Oriented Software Development with Sven Apel – Pt 2

Topics covered
Popular Clips
Episode Highlights
Granularity
Granularity issues in feature-oriented software development present significant challenges. explains that while modularizing features is ideal, there are limits due to granularity. At a coarse level, software systems are seen as packages and classes, but at a fine level, they involve statements and expressions. This complexity can hinder the separation of features, especially when legacy code is involved 1. Apel notes that the difficulty arises because statements lack names, making it hard to decompose code effectively:
The reason is that statements don't have names.
---
This limitation highlights the need for improved modularization mechanisms beyond traditional interfaces and mixins.
Refactoring
Refactoring legacy systems to incorporate feature modules involves a strategic approach. discusses the use of preprocessing techniques and modularization to manage complex codebases. He mentions the site tool, which allows for step-by-step annotation and transformation of code into modular implementations, enhancing maintainability and evolution 2. This method is particularly useful in product line engineering, where gradual adoption of feature modules can lead to better software properties. Apel emphasizes the importance of educating future developers in these methodologies, noting that courses on feature-oriented software development are spreading across universities 3.
One way to do it is not to convince the old guys, but to educate the new guys.
---
This educational focus ensures that new developers are equipped with the skills to handle modern software challenges.
Related Episodes

Episode 172: Feature-Oriented Software Development with Sven Apel – Pt 1
Answers 383 questions

Episode 6: Model-Driven Software Development Pt. 2
Answers 383 questions

Episode 112: Roles in Software Engineering II
Answers 383 questions

Episode 180: Leading Agile Developers with Jurgen Appelo
Answers 383 questions

Episode 5: Model-Driven Software Development Pt. 1
Answers 383 questions

Episode 32: Service Oriented Architecture, Pt.2a
Answers 383 questions

Episode 224: Sven Johann and Eberhard Wolff on Technical Debt
Answers 383 questionsEpisode 147: Software Development Manager
Answers 383 questions

Episode 47: Interview Grady Booch
Answers 383 questions

Episode 85: Web Services with Olaf Zimmermann
Answers 383 questions
Episode 170: Large Agile Software Development with Bas Vodde
Answers 383 questions

Episode 33: Service Oriented Architecture, Pt.2b
Answers 383 questions

Episode 17: Feedback and Roadmap
Answers 383 questions

Episode 97: Interview Anders Hejlsberg
Answers 383 questions

Episode 55: Refactoring Pt. 2
Answers 383 questions













