Is it compulsory to implement IDfDynamicInheritance to our TBO.
No, I don't think so. I think I have actually done this. The caveat is that you don't inherit supertype methods nor can any subtypes of your TBO type inherit your methods. I do believe it works, but you limit yourself.