Time is Money (part 1) - Bills, Bills, Bills (
Page 3 of 9 )
Before getting into the nitty-gritty of syntax and structure, it's important to
understand the problems this application will be addressing, so that the
functional requirements of the solution become clear. As the Customer explained
it, his HRD and Billing people had the following two problems:
1. Most
law firms and consultancies bill on an hourly basis. If employees log their
hours on paper worksheets and submit them to Billing at the end of every day, it
falls to the poor guys in Billing to add up the hours worked on specific
projects and generate appropriate invoices. An electronic system, available via
the local intranet to every employee, would help tremendously, as the tasks of
classification and summation could be handled by the system.
2. Human
Resources would also like a peek at the data, in order to locate and resolve
staffing and resource allocation issues. It would be helpful to know, for
example, the projects (and the tasks within projects) which generate the most
activity, so that resources can be allocated to those projects and tasks (or new
employees hired to cover the shortfall, if any). It would also be helpful to
view activity by user, in order to identify which users are the most productive,
which users make the most contributions to specific projects, and which users
spend their day playing Tetris.
Having understood the problems, it
becomes easier to decide on the requirements of the solution. An analysis of the
problems above reveals that most of them would be resolved by a system
which:
1. maintained a list of active projects;
2. broke up
activity on a project into standard tasks, and maintained a list of these
standard tasks;
3. allowed employees to log work hours by project and
task, on a daily basis;
4. provided reports on the hours worked by
different users on a specific project, together with summary totals (to simplify
billing, and to understand employee contributions to different
projects);
5. provided reports on the hours spent by users on the
different components of a specific project, together with summary totals (to
assist in monitoring employee efficiency and resource allocation);
6.
provided summary reports on resource allocation across different projects for a
specific period of time (to allow managers to develop a big-picture view of
employee activity and make corrections, if required)
This, therefore,
constitutes the initial feature set for the application, and serves as the
guideline for any future development.
It should be noted as this point
that these requirements (and consequently, this application) are not limited
only to law firms or software consultancies. Information like this would be
useful to any company, regardless of size, simply because it would help in
analyzing and monitoring employee activity, tracking resource allocation and
usage, and resolving possible flaws in internal business processes and systems.