So, I've been at the new job for about 6 weeks and it gets more interesting each day. I actually don't mind going in every day, mainly because I have an office (with a door AND a window). I'm able to sit back, focus and get things done with very few interruptions.
I've been writing a lot of relatively small apps, mainly to enhance the productivity of our helpdesk. We're currently using an open source PHP/PostgreSQL web app to handle issues. The main things I've been dealing with are improving the reports and making the helpdesk easier to use.
For example, a few weeks ago, during a department meeting, I saw that noone really had a handle on the helpdesk tickets that were assigned to them. After the meeting, I took the initiative and wrote a small console app (in C#) that sends an email to each person every morning. The email includes a link the actual ticket, the description, status and most importantly, the age of the ticket (I'll get to that later).
Everyone loves it, and now that I'm getting my own tickets assigned, I like it as well. :-)
On top of that, I developed a website (ASP.NET) to serve up custom helpdesk reports for the IT Manager. Basically, this allows him to see overall statistics (total tickets, average age, oldest ticket, current open, etc.) as well as drill down into different areas. I've still got a few reports to do, but overall, the IT Manager (and my boss, the CIO) love it.
As for ticket age...well, when I first started looking at the helpdesk, I noticed a large number of tickets that were quite old. The oldest ticket when I started was about 200 days old. Yes, I did say 200 days old. :-) The average ticket age was about 17 days.
Calculating the age turned out to be quite a pain because the original author decided to store the dates as bigints (number of seconds since 1/1/1970). PostgreSQL doesn't have a built in DateDiff function, so I ended up writing some pretty ugly SQL to get the results that I wanted.
In the last couple of days, I suggested to the team that we add some new status codes for the tickets. When I started, a ticket could be: Open, Pending, Suspended or Closed. After discussing it with the team, I added several new ones:
Assigned, not started
Started
Tested, see comments
Need more information
Finished, pending verification
Verified, Finished
Waiting for 3rd party
These new codes now allow us to get a more realistic picture of the active tickets. Simply adding these new codes has increased the usefulness of the help desk by an order of magnitude.