One of the things I've thought about for a bit is how difficult it is to get people to integrate tests into their deployment strategy. I've been fortunate enough to adopt tests in a few projects & highly recommend getting test coverage for your codebase immediately.
My reasoning is simple, it's saved me & other people from deploying bugs into production at least 5-6 times. It's a great insurance policy & 1000% worth the time invested.
But it's hard. You have to wrap your head around what to test & how to test it. You have to also create a way to automate tests in your production environment for every deploy. Now that's just testing, you still have to think about bouncing your web server + any other associated processes (celery, zeromq, etc).
My idea is simple: Continuous Integration as a Service. Make it easy for anyone to create test cases that are run before anything goes into production.
Specifically, anyone; qa team members, product managers, ceo's or developers can create data fixtures (read: fake information) that will be input into forms on a staging server to make sure that things are in working order before they're deployed. Of course, developers would provide command line instructions to bounce services on their machine for pushing to staging & production.
On top of that, I envision that there would be a notification system for when a deployment is not passing tests. Another cool thing would be that you could tie it into your github webhooks.
If this were all wrapped up in a nice interface with graphs for everyone committing to my repo, I'd be more than happy to pay $10-15 a month for it.