At TechEd Developers Europe, Krzysztof Cwalina presented a talk called “Framework Engineering: Architecting, Designing, and Developing Reusable Libraries”. If you weren’t able to make the conference or missed his talk, you can download the video recording (in WMV format) or just the slides (in XPS format). The abstract for the session reads:
This session covers the main aspects of reusable library design: API design, architecture, and general framework engineering processes. Well-designed APIs are critical to the success of reusable libraries, but there are other aspects of framework development that are equally important, yet not widely covered in literature. Organizations creating reusable libraries often struggle with the process of managing dependencies, compatibility, and other design processes so critical to the success of modern frameworks. Come to this session and learn about how Microsoft creates its frameworks. The session is based on experiences from the development of the .NET Framework and Silverlight, and will cover processes Microsoft uses in the development of managed frameworks.
If you are involved in developing APIs or other reusable libraries (and even if you’re not) you should check out this presentation.