Our company has three stages of application development:
I think these are the problems with our deployment process so far:
Our ex system administrator had done a good job in setting up the infrastructures to ease the stage progression. He introduced the use of Subversion for source control replacing Visual Sourcesafe, he also tried to automate the deployment process by using Ant script. The former has been one of the best move so far, the later has a mixed result. The problem with automating deployment at the moment is our lack of understanding on how Ant works. Out of frustation with Ant script, a colleague wrote a deployment script using Coldfusion instead, at least every developers in the company knows Coldfusion, it is yet to be known whether this approach is working well.
The headache at the moment is due to the fact that we have no specific person who knows all there is to know about deployment. Due to some internal problems, the company could not fill the system administrator role thus every developers now is sharing the responsibility but ONLY for the projects that they are involved in. There are just too many variables in live or even staging deployment that just break our projects over and over again. Some killer variables:
I guess over the time we will be able to iron these issues out, but to do that we really need to hire someone that can concentrate in these issues and thus free up the developers to do things that they like most, you know things like programming.