Time is Money (part 1) - Up A Creek (
Page 2 of 9 )
For those of you not too good at reading between the lines,
let me tell you what just happened.
The Customer, who happens to be a
very successful lawyer, and the head of one of the city's biggest legal firms,
wants to generate invoices based on hours worked by his employees. The
Customer's HRD department wants to monitor and analyze employee work hours, for
reasons best known to themselves. And they're looking to us to build the
application to do it.
The Boss just volunteered me to develop the
application for the Customer. Since the Customer happens to be very rich and an
association with him would probably prove to be lucrative (and, I suspect, the
cause of many ulcers), the Boss is very keen to make a good first
impression...which is probably why he agreed to that ridiculous three-day
deadline as well.
"Look," he says to me when I bring up the topic in the
cab, "you're one of my best developers. We need to do this, because those guys
are looking for a new software contractor and this is our foot in the door. You
keep telling me about that RAD thing you like so much - HPP, PPH," (he means
PHP, the moron), "whatever you call it. Why can't you use that, put it together,
make it look pretty and send it across in a couple days? Trust me," (oh no, I'm
thinking, here it comes, the Boss's favourite maxim) "I'm sure it isn't as
difficult as you're making it out to be."
How on earth did this guy get
to be CEO of a software development company?
Anyhow, it looks like I'm up
the proverbial creek without the equally-proverbial paddle. I need to develop
the requirements for this application, design an appropriate database schema,
put together the code, package it in a pretty interface, test it and deliver
it...all within the next seventy-two hours.
With the help of powerful
open-source tools like PHP and mySQL, the process can be simplified
considerably. And over the course of this article, I'm going to demonstrate how,
by building a PHP/mySQL-based timesheet application suitable for small
businesses or independent contractors.
The goal here is two-fold: to
introduce novice and intermediate programmers to the process of designing and
implementing a Web-based application; and to offer HR managers, accountants,
corporate efficiency experts and other interested folk a possible solution to
their woes.
Let's get started!