To created fields in the deals module that can be asked at different stages of Deal cycle

To created fields in the deals module that can be asked at different stages of Deal cycle

I want to understand how I can create some fields in the deals module that the sales rep would have to fill only if it is moved to that cycle of deal. 

For example: If the deal moves from qualification to demo done, In the demo done stage I would like to make the date of demo to be made mandatory.