It's been a busy week in the startup world. Now that we actually have people using our product, I have more on my plate then ever as the feature requests from new users roll in. We're having demos for new clients at least once a week now, and before you know it we may actually start producing revenue. ; )
I'll tell you truthfully, my time has been mostly spent scrambling to put out fires as new issues come up. The great thing is that so far no "fire" (bug/defect whatever you want to call it) has spread beyond the first couple people who have experienced it, and they've so far all been fixed and deployed within a couple hours.
This is great for a couple reasons, the first being of course that having fewer bugs means you have a better product, but the more important part I think is that the people who experiece the problems notice that once they arise they disappear quickly, and we are in communication with them the whole time letting them know how the process is proceeding. This has given the company a very good reputation amongst the people who are using it, and I would love to attribute this success to myself, but the fact is that I happen to be using a toolbox that helps me keep abrest of everything quickly and successfully, and THAT is the primary reason things are going so well. Below, I have listed the all tools that I'm currently using that have made a significant difference to me just in the last week.
I know, you readers have seen me mention EngineYard often enough to believe that I'm starting my own fan-club for these guys, but the fact is they're just fantastic. Every issue I've had, major or minor, has been dealt with as soon as I report it in a friendly way, with great speed, and totally above and beyond my expectations. You just can't beat a good hosting company like them, as it takes one major concern (maintenance and troubleshooting of your production server) entirely out of your hands. Also, did I mention the friendly part? When I have a question, even a *stupid* one that I know I should probably know the answer to, they're more than happy not only to answer it quickly, but to take action on my behalf should I ask for it. Yes, they're relatively expensive in the hosting world, but it's worth cutting back else-where in your operation to have the EngineYard team taking care of you.
NewRelic Performance Monitoring
To date I've had 13 serious performance issues with this current web application. Do you know how many of them have been experienced for more than 1 day? More than 2 hours? Zero. I use NewRelic RPM to keep track of my application's performance, and because of they're great detailed information and pleasent-to-use website, I can catch most performance problems almost preemptively. I can see which controller actions are taking the longest to respond, which database queries are slowest, and a pile of valuable information that has saved me potential embarrassment time and time again.
Hoptoad Error Notification
If there's one thing you do TODAY about your production application, make it this: MAKE SURE YOU ARE BEING NOTIFIED OF PRODUCTION ERRORS. This can be a task that gets put off and off, but you don't want to be in a position of having to wait for users to report a problem before you know about it. Most production errors can be fixed before the first person even calls in about it if you can find out about it exactly at the time that it happens. HopToad has made this easy for me, and I am currently a big fan of theirs. Easy setup, wonderful web interface, and very detailed reporting. When I get notified of a problem, it's in my email, in my RSS reader, and it's detailed enough to give me a complete back trace and the number of times the problem has occurred to date. I don't need to rush to my commandline to SSH to my production app and start digging through logs. Usually I just take the parameters that hoptoad tells me the user passed into the request, and throw them verbatim into a functional test. Once that test is passing, I know the error won't happen again. As a Rails developer, If you aren't currently using them (or another exception notifier that's just as good), you have no good reason not to.
Lighthouse Ticket Tracking
Finally, it's easy to forget to do things that you don't write down. My lighthouse account keeps me focused because I log all my tickets through there, and they're super-easy to use. Admittedly, you could just use a spreadsheet on your local machine, but using Lighthouse has some added advantages. Mainly, the other members of my team can easily see what I'm currently working on, what's been finished since the last deployment, and what's next in my priority list, and they can add information to them as needed (attach files, leave comments, etc). Fairly cheap, very pleasent to use, LightHouse comes highly recommended.
So there you have it, four tools you shouldn't leave home without.
NOTE: I am not financially affiliated with any of the above services. I have no vested interest in you using their products over any other competitors. I really do just like them that much.