I think companies should have release team where there is more than one person to manage the release cycle (now of course that depends upon how big is the release cycle and how often it is done).
Software release can be very complex, may involve many small projects, to coordinate, scope of the project can change based on available resource and customer priorities, the main role of the release team is to ensure that the software being released meets customer requirement, all small project are included, and the most important thing is to release on time with highest quality possible.
The software release team should be decided earlier on the project and each person should have a clear responsibility within the release cycle. Often QA team leader or project manager is the best person to be the team leader of software release team. Software release team leader should be expert on interdependencies and various integration issues, s/he should be very familiar with the product to be able to analyse the impact of release on each and every customer, this information is very crucial when the software has to be released with known bugs (I know no one accepts this but it has been the fact of software release)
Some of the role/things to be managed by the release team are as follows
- Who is the Build Master (ideally there should be one complete build every day)?
- Who is responsible for the installer?
- Who is responsible for releasing the software and ensuring the software is delivered to the customers?
- Who is in charge of the release/installation document?
If all (or most of the above) is planned and executed there may not be any surprises on the release dates.