A. Datum Corporation

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.