I think you have identified the things that I find important in many processes that involve humans and that actually get important work accomplished.
It is interesting that you a) had something well specified to work on, b) were given the resources to work on the specification, and c) were given the freedom to do your craft.
Where did the leadership, or the leverage, for this come from? Did the client recognise that this was necessary? Was it the something negotiated by the software development team? Most places do not want to give up control over their resources.