It's probably been asked before, but how do you duplicate the Stage Duration functionality in Opportunities on a custom field? I have a custom picklist field named "Operations Status" that serves the same purpose as the Opportunity Stage field. Users select a value that changes based on events driving our operations process. The statuses do not move in a linear fashion and can go back-and-forth based on certain events so a record can go from Value1 to Value2 to Value3 and back to Value2.
The idea is to track the duration on each status value and account for the back-and-forth situations (probably incorporating some sort of counter?) as well as the dates they occurred.
Does this involve the creation of n custom fields where n = the number of Status values or is this something that warrants it's own Custom object related to the parent object which is Opportunity in this case? Additionally, does this require the use of Apex Triggers or can this be done using declarative configuration (Workflows, Formulas, and such)?
Thank you in advance for the feedback.
Sean