Background
A. Datum Corporation is a large law firm.
Currently, the firm uses a commercial timesheet application to track billable
hours. However, this application no longer meets the firm’s needs. You are
contracted to create a new Windows-based solution by using the Microsoft .NET
Framework and Microsoft SQL Server.
Existing
IT Environment
Each lawyer uses a computer that runs either
Microsoft Windows 2000 Professional or Windows XP Professional. Many lawyers
travel frequently and use only portable computers. Most lawyers also use
handled PCs that run Windows CE.
Each employee has a domain user account. The domain is served by a Windows 2000
domain controller. All employees use Internet Explorer 6.0.
Employees do not have VPN access to the corporate network. A firewall restricts
incoming traffic to HTTP connections on TCP ports 80 and 443.
The IT staff will not open additional ports.
Interviews
Users
Lawyer, Corporate Law Division
I am a typical end user at A. Datum Corporation.
With our current software, I find it laborious to make timesheet entries. We
often postpone updating our timesheets. As a result, we often forget important
task details. The new timesheet application must be better suited to the way we
work.
Typically, I spend each afternoon writing a contract. However, I might also
receive 10 telephone calls related to other cases, and I might respond to 10
e-mail messages. The new solution should make easy to record each of these tasks
while I am working.
We envision a taskbar-type interface that should always be displayed along the
edge of the screen. This taskbar should contain toolbar-type buttons. These
buttons should represent the legal clients whom we most frequently bill. Each time
we begin a new task for a client, we should be able to click the button
associated with that client to start a timer. Clicking the same button again,
or clicking another client button, should stop the timer. A pop-up window
should then prompt us to describe and categorize the task that was just
completed.
The taskbar should also expand to show a more conventional timesheet interface.
The expanded interface must allow us to sort, review, add and edit our entries.
The new timesheet application should not require us to provide explicit name
and password information. When we work at home, we want to be able to use the
application over the internet. When we do so, the application should update the
data immediately.
Lawyer, Criminal Law Division
Each week we spend several hours making billable
telephone calls. We make a large number of these calls while commuting to the
office, while travelling to and from meeting and court appearances and while
waiting at the courthouse. We want to be able to keep track of our telephone
calls by using our handled devices. We need a simple timesheet application that
runs on our devices and is similar to the taskbar application. When we return
to the office, the application should synchronize with our desktop computers
and add the information from the handled device.
Business Stakeholders
Business Manager
We need a new solution to serve the needs of Team
Leads and Business Planners.
Each large project has a Team Lead. One responsibility of the Team Lead is to
review and approve all timesheet entries before the entries can be used to
create invoices. The new application should prevent Team Leads from viewing or
approving entries that are unrelated to their projects.
My own staff consists of several Business Planners. They must be able to view
all timesheet entries. In addition, they must be the only users who can add new
clients, create new projects, close projects and assign lawyers to projects.
After a project is closed, lawyers should no longer be able to bill to it and
the project should be described as completed.
Team Leads and Business Planners often work at home or while travelling.
Therefore, we want the new solution to be a Web application that is accessible
from the Internet.
Accounting Manager
For billing, we use a commercial software package.
Each month, I create an invoice for each of our legal clients. Currently, I
need to consult a timesheet report to look up the numbers of hours billed by
each lawyer to each client. Then, I must manually add a line item to the invoice
for each lawyer’s hours. This task is time-consuming and clients complain about
the lack of detail in the invoice.
We want the new solution to include a utility that automatically creates
invoices in our billing application. This utility should create the invoices
once each month, on the last business day of the month. A sales representative
from the billing software company told me that the billing software package is
fully programmable. He can provide you with API documentation.
IT Department
IT Manager
Our IT staff consists of five people. None of them
has any programming experience. The new application must include tools that
alert us to all failures and help us resolve failures. The application must
also be secure. Any Web application or application endpoint exposed to the
Internet must require authentication.
Business
Process
Timesheet Entries
Each timesheet entry is billable to a project. A
given client might have several ongoing projects. Each timesheet entry includes
a time, a lawyer and a task description. The following example is a typical
entry:
Lawyer: John Chen
Client: Fabrikam. Inc.
Time: 18 minutes
Project: Kite patent application
Task Description: Sent e-mail message to Ben with technical questions about Kite
Data Migration
Data from the existing timesheet application must
be migrated to the new timesheet application. This data is in a proprietary
format. From an examination of the existing application, you learn that all
required data can be exported to a comma delimited file.