Earlier quoted context omitted.
There is a huge satisfaction, or maybe even a need, to do something then feel the patent and "finished" result of our action. In most occupations we are a cog in some huge machine working in a way forbidding us to enjoy this feeling.
It is not always possible, but as a senior software developer, I try to keep the feeling of 'finished' in my team. It is, by far, the most important piece in keeping a team happy, productive, cooperating and improving. Definition of done, demo's, releaseparties, well-defined delivery requirements, chopping up tasks, user stories, etc. All help a lot here. But all require effort to maintain, establish and improve. Con…
So I've actually never cared much for release parties. I think because by that point the work is 'done', and I'm ready to move on. Plus, if upper management is involved, it feels very parasitical ("let me attach myself to this launch"), and if they aren't it feels unnecessary (we know we did a good job). And the timing is always problematic; if it's literally as we release it feels disingenuous just knowing that if anything goes wrong the team has to step away from any sort of party (but not upper management, or others who glommed on), and if it's after the fact I've mentally moved on.
That said, all the other things are must haves, not just because of morale but because of effectiveness. Things don't get done without definitions of done, things don't get proper feedback and iteration without demos, etc.