I come across several situations which involve customizing a MS framework (Ex: Built a layer above the webparts framework to utilize it in an application) or extending an existing app's functionality. I've realized that the key point is to get familiar with the class library so that I can start writing classes that inherit from existing classes or extend the functionality by using interfaces etc.
Currently, the first thing I do is:
- Create a class diagram to understand the high level structure
- Get hold of quickstart apps written for that framework and step through the code.
What tips do you follow to get familiar with the code and get comfortable in extending the functionality.