The "Redraft" workflow we created for LNTV was one of the most complex and difficult UX problems I've ever worked on. Redraft was born out of the desire to save dev time by not implementing a full version control system, but still wanting the ability to edit previously published posts.
The basic concept behind redraft is that once a post has been published, that post is "locked" but a duplicate version, or Redraft, of that post can be checked out and edited without impacting the original post. That is, until the Redraft is published, thus overwriting the original post. This workflow starts getting more complex once you introduce the concept of scheduling a post to be published in the future, along with some previously existing requirements for fields in the post form that must be completed before a post draft can be saved.
Together the Product Manager and I went through countless iterations potential states and flows, and conducted various surveys and low-fidelity testing sessions with our users before landing on the solution we ended up implementing.
In the end, we provided a feature that was well thought out enough that our developers were able to implement it, and our users were able to utilize it. That may not sound like much, but given the challenge we were tasked with, that felt like quite an accomplishment.