Voretaq7's top two bulletpoints are something that, ideally, every person in a company should be considering. The IT people (whether Devs, Sysadmins, Helpdesk, Deskside deployment team, etc) must have some understanding of the first answer, and should be able to talk to each other about how everything they're doing works towards the second question.
That's the high flying overview.
Beyond that, platform requirements (this is a 'both directions' thing - there should be no surprises on either side on deployment day as it should be discussed beforehand). If your app requires .net 4 framework then give me some notice. If there's a reason why the production servers can't be upgraded to .net 4 just yet then you shouldn't hear that for the first time when I'm saying "No, sorry" on deployment day.
You should agree things like uptime requirements, support routes (both directions), app dependencies, test cases for making sure it all works properly.
One thing I want to empathise is the word agree. This should be a three-way dialogue. The sysadmins, devs, the helpdesk (who do need to be involved in this too as they're going to be getting phone calls about this and if the only answer they have to give angry users is "WHAT $foobar app? Those @£$%£$%!!!!'ing devs and sysadmins have been changing stuff and not telling us again" then guess what, you all look bad) all need to agree what is happening before it happens.