Chapter 12

Managing Projects

In This Chapter

Handling tasks and resources

Billing time to clients

Creating project templates

Businesses sell goods and/or services. Goods are generally easy to define and manage, at least from a conceptual standpoint. They’re physical inventory items that are usually tracked and priced on a per-unit basis. But what about services? They’re not always as easy to track and price. Services may be related to goods (when someone from the electronics store comes to install your flat-screen television set) or services may be the only thing a firm offers (such as legal advice or software development).

Generally, services have three components:

Time: Self-explanatory. Right?

Resources: Individuals or entities — such as subcontractors — who actually perform the service.

Tasks: Various goals that have to be achieved along the way. The entire set of tasks necessary to provide a particular service is called a project. A task or group of tasks whose successful completion moves the entire project forward is called a milestone, and the final milestone is often referred to as the deliverable.

So the electronics store sells a service that involves a technician (the resource) for two hours (the time) to install your television set (the task). By the same token, a law firm may supply a team of lawyers (the resources) each billable at their own rate for as long as it takes (the time) to write a contract (the task).

ontheweb.eps NetSuite has no standard project manager role, but you can create such a role. For some of the tasks described in this chapter, you can be a salesperson, the person who sells the project. For others, you will need Administrator privileges. And if you use project management a lot in NetSuite, you may want to define a role just for project manager, as discussed in Bonus Chapter 6 at www.dummies.com/go/netsuitefd.

If the only thing you’re doing with time is billing it to clients, and you don’t need to plan or track how time is used, then chances are you don’t need any of the additional functionality for project management in NetSuite. In this case, you simply set up time and/or milestones as inventory items that can be added to customer invoices (see Chapter 6).

remember.eps However, if you need to manage projects with multiple tasks and assign resources to each and allow time entry against those tasks, then you need one or both of two options within NetSuite: basic projects and advanced projects. To know more about these optional features, read on.

Priming Yourself for Project Management: Time and Billing

Painting a room is a classic example of a project. When’s the last time you painted a room? It’s made up of a series of tasks, all of which must be performed successfully in a specific order to achieve the desired outcome.

A typical painting project may consist of the following:

1. Choose the color and brand of paint.

2. Buy the paint and supplies.

3. Prepare the room.

a. Cover the furniture and floor with drop cloths.

b. Remove wall decorations.

c. Prime the wall.

4. Paint the room.

a. First coat.

b. Second coat.

5. Clean up.

a. Remove the furniture and floor covering.

b. Re-hang the wall decorations.

Splitting a project into tasks is called the Work Breakdown Structure (WBS). Notice that some tasks are groups of other, more detailed, tasks. Some of the tasks are independent, meaning that they don’t rely on the completion of a prior task before they can be started or completed. Other tasks can’t be started or completed until a prior task has been finished. Part of breaking down a project into tasks involves determining which tasks have dependencies and which do not.

In the case of painting a room, it’s pretty intuitive. For instance, Task 3c (Prime the Wall) can’t (or shouldn’t) be started until the completion of Task 3b (Remove Wall Decorations). Task 3c is said to be dependent upon Task 3b, and the relationship between the two tasks is known as the dependency.

When you aren’t so familiar with the tasks (and the practical implication of putting paint right on top of existing wall decorations), you may need to talk to the people who will be working on the project to determine which tasks are independent.

Table 12-1 shows the WBS with dependencies.

Table 12-1 Work Breakdown Structure (WBS) with Dependencies

Task

Description

Dependency

1

Choose the color and brand of paint.

n/a

2

Buy the paint and supplies.

Task 1

3

Prepare the room.

Task 2

3a

Cover the furniture and floor with drop cloths.

n/a

3b

Remove wall decorations.

n/a

3c

Prime the wall.

Task 3b

4

Paint the room.

Task 3

4a

First coat.

n/a

4b

Second coat.

Task 4a

5

Clean up.

Task 4

5a

Remove the drop cloths.

n/a

5b

Re-hang the wall decorations.

Task 5a

In this WBS, tasks are dependent on other tasks at the same level (such as Task 2 depending on Task 1) and subtasks are dependent upon other subtasks within the same task group (such as Task 3c depending on Task 3b). This hierarchy tends to be the most streamlined way to organize a WBS. However, in NetSuite, you can make any task or subtask dependent on any other in the entire project, as you will see later in this chapter.

Adding resources

This WBS assumes you are doing this project alone. That’s why preparing the room can’t start until you buy the paint and supplies, unless, of course, you clone yourself! But what if a friend helps you? By adding the friend you now have two people (known in project management speak as resources) and you can divvy up the work. The dependencies on the WBS change because now someone can shop while the other person prepares the room. Since tasks can now be performed simultaneously, determine whether a dependent task must be completed first or whether it can be started at the same time and indicate finish-to-start or start-to-start on the WBS. This is called the dependency type.

If you’re writing software instead of painting a room, the person testing the software can’t start until the software has been created. The task of software development would then have a finish-to-start dependency type.

Table 12-2 shows the WBS with two additional columns: Dependency Type and Resource.

Table 12-2 WBS with Dependency Types and Resources

Task

Description

Dependency

Dependency Type

Resource

1

Choose the color and brand of paint.

n/a

n/a

Kate

2

Buy the paint and supplies.

Task 1

Finish-to-Start

Kate

3

Prepare the room.

Task 2

Finish-to-Start

n/a

3a

Cover the furniture and floor with drop cloths.

n/a

n/a

Kate & Adam

3b

Remove wall decorations.

Task 3a

Start-to-Start

Adam

3c

Prime the wall.

Task 3b

Finish-to-Start

Kate & Adam

4

Paint the room.

Task 3

Finish-to-Start

Kate & Adam

4a

First coat.

n/a

n/a

n/a

4b

Second coat.

Task 4a

Finish-to-Start

n/a

5

Clean up.

Task 4

Finish-to-Start

n/a

5a

Remove the drop cloths.

n/a

n/a

Kate

5b

Re-hang the wall decorations.

Task 5a

Start-to-Start

Adam

The reason Task 3c is dependent on Task 3b, and Task 3b is dependent on Task 3a is that 3a and 3b both have to be completed before they can start on 3c (Prime the Wall). However, 3a and 3b can be done at the same time. Once the wall has been primed, Kate and Adam will paint the room together, one coat at a time. They will then assume separate chores in cleaning up the room.

Estimating time and costs

Assume you want to use the WBS to determine how long it will take Kate and Adam to paint the room. Then they need to assign a value to their time, so they can determine a fair price to charge their customer in order to earn a profit. Table 12-3 shows the WBS with three new columns: Hours, Rate, and Price with totals.

Table 12-3 WBS with Dependency Types and Resources

Task

Description

Dependency

Dependency Type

Resource

Hours

Rate

Price

1

Choose the color and brand of paint.

n/a

n/a

Customer

n/a

n/a

n/a

2

Buy the paint and supplies.

Task 1

Finish-to-Start

Kate

0.50

17.50

8.75

3

Prepare the room.

Task 2

Finish-to-Start

n/a

n/a

n/a

n/a

3.a.

Cover the furniture and floor with drop cloths.

n/a

n/a

Kate

0.25

17.50

4.38

n/a

n/a

Adam

0.25

15.00

3.75

3.b.

Remove wall decorations.

Task 3a

Start-to-Start

Kate

0.75

17.50

13.13

Adam

1.00

15.00

15.00

3.c.

*Prime the wall.

Task 3b

Finish-to-Start

Kate

1.50

17.50

26.25

Adam

1.50

15.00

22.50

4

Paint the room.

Task 3

Finish-to-Start

n/a

n/a

n/a

n/a

4.a.

First coat.

n/a

n/a

Kate

3.00

17.50

52.50

n/a

n/a

Adam

3.00

15.00

45.00

4.b.

*Second coat.

Task 4a

Finish-to-Start

Kate

2.50

17.50

43.75

n/a

n/a

Adam

2.50

15.00

37.50

5

Clean up.

Task 4

Finish-to-Start

n/a

n/a

n/a

n/a

5.a.

Remove the drop cloths.

n/a

n/a

Kate

0.25

17.50

4.38

5.b.

*Re-hang the wall decorations.

Task 5a

Start-to-Start

Kate

0.75

17.50

13.13

Adam

1.00

15.00

15.00

TOTAL

18.75

230.00

305.00

*Project milestone

Now the WBS shows how long they expect things to take for each of them and what they will charge the customer. The rate chosen is based on Kate and Adam’s perceived value of their time (Kate’s rate is higher because she’s managing the project), but if they were employed by a painting contractor the rate would be based on their actual wage plus any overhead (i.e., the labor cost).

For software development, you’d figure out the time it will take the developer to write the software, the tester to test the software, and the developer to fix any problems the tester finds. You’d also need labor costs for both the developer and the tester.

Also, in this example, you’re looking at this project from a time and billing perspective, but not from a project scheduling perspective. If you were to further develop this WBS, you wouldn’t only account for the resource’s time and cost, but for the total time necessary to complete each task.

remember.eps You can bill projects to customers a variety of ways:

Straight time: Only a resource’s time is accounted for and billed.

Time and materials: The resource’s time and any materials used or expenses incurred are billed.

Cost plus fixed fee: The company’s cost, including labor, materials, and expenses, plus an additional pre-negotiated fixed sum.

Fixed fee: A flat rate for the deliverable.

Billing can occur at scheduled intervals (such as once a month) or when certain negotiated milestones are met.

NetSuite manages projects from a time and labor perspective. Notice in Table 12-3 that the customer is purchasing the paint and supplies, so this project only has to track time, not materials. If a contractor using NetSuite provides the paint and supplies, those materials would be accounted for as regular inventory (see Chapter 7).

Managing Service-Oriented Tasks

When you’re managing a project, there are two kinds of tasks. There’s the stuff you do (the tasks themselves) and then there’s the stuff you do to enable people to do the tasks (schedule meetings, review sessions, phone calls, and create schedules). This section describes how to track basic tasks and how to handle supporting activities.

Tracking basic tasks

Even without enabling the optional project features, you can track basic tasks in NetSuite as they pertain to customers.

1. From the Lists tab menu, choose RelationshipsCustomers.

2. Click Edit next to the name of a customer.

3. Click Task on the Create New bar at the top of the Customer page.

Figure 12-1 shows the New Task form. Here you can start setting up a basic WBS for tasks related specifically to this customer. They won’t be grouped under a project umbrella, and you can’t identify dependencies or create subtasks, but here’s what you can do:

Figure 12-1: The New Task form enables you to create a new task for a customer.

9780470191071-fg1201.tif

• Title: Identify the task with a name such as Delivery, Installation, or Send Technician.

• Assigned To: Assign any employee in the system as a single resource for this task (required).

• Start Date: Establish when this task is to begin (required).

• Due Date: Establish when this task is to be completed (required).

• Date Completed: Identify when this task was completed.

• Insert Before: Place this task before another task.

• Priority: Set a priority for this task (Low, Medium, or High) (required).

• Status: Mark a status for this task (Not Started, In Progress, or Completed) (required).

• Notes tab: Include text describing this task in detail.

4. Click Save.

tip.eps When you create a new task in a customer record and save, you will find the record on the Activities tab of the General tab for that customer. Figure 12-2 shows the Activities tab.

Figure 12-2: You can see your new task on the Activities tab on the Customer page.

9780470191071-fg1202.tif

Handling activities

You manage tasks, events, and phone calls on the Activities tab.

tip.eps Administrators can log the time spent on tasks for a client without turning on any additional features.

1. Click the Time Tracking tab on the General tab in the Customer page.

2. Click New Time.

Figure 12-3 shows the Time Tracking entry form.

On this form administrators enter time and billing information related to this customer. However, you can’t relate this time to specific tasks on the Activities tab. What you can do:

• Employee: Select the resource that performed the work from this drop-down list (required).

• Date: Enter the date the work was performed (required).

• Customer: Change the customer for whom the work was performed from the drop-down list. It defaults to the current customer.

Case/Task/Event: Associate this time with a particular activity such as a case, task, or event.

• Billable: Select this check box to mark this time as billable to the customer.

• Service Item: Use this drop-down list to select a Service Item, such as Delivery, Installation, or Repair.

• Class and Location: Use these drop-down lists to assign the time to particular areas within the organization for accounting purposes.

• Duration: How long did this task take? Use the two buttons to the right of this field to either start a timer while you work, or to calculate the time based on values you enter.

• Supervisor Approval: Select this check box if you have authority to approve the time entered.

• Memo: Describe the work performed.

3. Click Save.

Figure 12-3: Click New Time on the Time Tracking tab of the General tab on the Customer screen (in the house that Jack built) to access the Time Tracking entry form.

9780470191071-fg1203.tif

Enabling Project Features

Basic and advanced project functionality are discussed in this section.

remember.eps You must be logged in as an Administrator to enable project features. To enable project features, from the Setup tab menu, choose CompanyEnable Features.

To enable basic project functionality, select Projects on the Company stab and click Save. This adds a new tab to the General tab on the Customer page called Projects. With this feature enabled, tasks can be created for projects (not just customers), and top-level information, including budget and accounting details, about the overall project can be tracked.

To enable advanced project functionality, see “Working with Advanced Projects” later in this chapter.

Setting Up Basic Projects

Once basic project functionality has been enabled in NetSuite, roles with the proper permissions (or Administrators) can create new projects and associate tasks with them.

To create a new project:

1. From the Customers tab menu, choose RelationshipsCustomers.

2. Click Edit next to the customer name you want to assign this project.

Or create a new customer, if you wish.

3. Select the Projects tab on the General tab.

4. Click New Project.

Figure 12-4 shows the New Project page.

Figure 12-4: Reach the New Project page from the Project tab.

9780470191071-fg1204.tif

5. Set up a basic project in the following fields:

Project Name.

Status. Use the drop-down list to choose a status, such as Not Started, In Progress, or Completed.

Start Date.

Project Manager. Select an employee name from the drop-down list to designate a project manager.

6. Click Save.

remember.eps You can access this project at any time: From the Lists tab menu, choose RelationshipsCustomers. Notice that when you get to the Customer list page, it now says Customers & Projects. The projects you create are underneath the customers with whom they’re associated. Without Advanced Projects enabled, you can only create projects associated with customers.

You add tasks and time entries to projects using the exact same methods as you do for customers, as outlined earlier in this chapter.

After you save a project, you’ll see one additional tab called Subprojects. You can add any number of project levels underneath this one and add tasks and time entries to it also.

Working with Advanced Projects

Advanced Projects is an add-on feature that is suitable for companies that sell services to their customers.

tip.eps If you don’t have Advanced Projects enabled in your account, contact your NetSuite sales representative to talk about this add-on feature.

Enabling advanced projects

remember.eps You must be logged in as an Administrator to enable features. To enable project feature, from the Setup tab menu, choose CompanyEnable Features.

Select both Projects and Advanced Projects. Don’t worry; if you forget to enable Projects first, the system will warn you. Advanced Projects lets you designate employees and vendors as resources and assign them to projects, as well as build project schedules and view them in a graphical format called Gantt charts. It also adds menu items that allow you to create and edit projects independently from customers so you can set up reusable project templates.

Allocating resources (aka people)

After enabling Advanced Projects, you designate specific employees or vendors as project resources (a fancy term for those humans walking around drinking coffee in your office).

To designate an employee as a resource:

1. From the Lists tab menu, choose EmployeesEmployees.

2. Click Edit next to the name of the employee you want to designate as a resource.

3. Click the Human Resources tab.

4. Select the Project Resource check box.

This check box was added magically when you enabled Advanced Projects for your account.

To designate a vendor as a resource:

1. From the Lists tab menu, choose RelationshipsVendors.

2. Click Edit next to the name of the vendor you want to designate as a resource.

3. Click the Financial tab.

4. Select the Project Resource check box.

This check box was added when you enabled Advanced Projects.

Setting Up Advanced Projects

With Advanced Projects enabled, you can create and copy projects inde-pendently from customers. You can access projects by selecting ListsRelationshipsProjects. Figure 12-5 shows the Project page.

Figure 12-5: Creating a new project independently from customers is available when you enable Advanced Projects.

9780470191071-fg1205.tif

Creating a new project

To create a new project:

1. From the Lists tab menu, choose RelationshipsProjectsNew.

2. Enter a name into the Project Name field.

3. Select someone from the Customer drop-down list.

tip.eps In Advanced Projects, selecting a customer is brilliantly optional. Leave this field blank if you’d like to use this project as a template for other projects or if you have an internal project not associated with a customer. Click Save when you’ve filled in all the information you want to use in your template.

4. Select from the Status drop-down list.

5. Indicate the start date for this project.

The end date is calculated automatically based on the task schedule.

6. On the Resources tab, select from the Name drop-down list.

7. Click the Add button after each selection.

You can choose as many resources as you want, but you must click Add after every selection.

remember.eps Notice that you only see names of employees or vendors you’ve already designated as project resources in their respective Employee or Vendor pages. Unless overridden at the project level, only the resources you assign to the overall project are available as resources for its associated tasks.

8. Click Save.

9. Select the Schedule tab on the Project page.

10. Add tasks to this project.

Read the following section for those steps.

Adding a task

To add a task:

1. Click New Project Task.

2. Type a name for this project task.

3. Assign a parent task from the drop-down list, if appropriate.

4. Use the Insert Before drop-down list to specify where in the WBS this task will fall.

5. Type the number of hours you expect this task to consume in the Estimated Work field.

6. Choose from the Constraint Type drop-down list.

The constraint type specifies whether this task must begin on a specific date or if its start date is determined by the completion of a dependent task before it.

7. If the constraint type is Fixed Start: Select a start date.

Otherwise the start date is automatically calculated based on this task’s dependencies. In other words, the start date is the day after the last task is scheduled to finish.

8. Choose the Assignees tab.

9. Choose from the Name drop-down list to assign employees or vendors as resources to this task.

10. Click Add after each assignment.

11. Choose the Predecessors tab.

12. If a task depends on the completion of another task: Select the dependent task from the Task drop-down list.

tip.eps You can add more than one dependent task by clicking Add after each selection.

13. Select the Dependency Type from the drop-down list on the Predecessors tab.

Select either Finish-to-Start or Start-to-Start for each dependent task in the list.

14. Click Save to add this task to the project.

tip.eps If you’ve added more than one task to this project with dependencies and durations, click the View Gantt button on the Schedule tab to see a graphical representation of your project. Figure 12-6 shows an example of a Gantt chart.

Figure 12-6: You can view a Gantt chart in NetSuite on the Project page.

9780470191071-fg1206.tif

technicalstuff.eps The Gantt chart is named for Henry L. Gantt (1861–1919), an American mechanical engineer who developed it to show planned and actual progress on large-scale construction projects. Gantt charts were used to great success on the Hoover Dam and the Interstate Highway System. Today they’re used for just about every type of project imaginable, from launching the space shuttle to painting a bedroom.

Entering time

Enter time for projects using Advanced Projects in NetSuite:

1. From the Lists tab menu, choose RelationshipsProjects.

2. Click Edit next to a project name.

3. Click Edit next to a task name on the Schedule tab.

4. Click Time in the Create New bar.

tip.eps

5. Fill out the Time form.

It’s the same time entry form that we explain in this chapter’s “Tracking basic tasks” section.

6. Click Save.