Getting Started with Achievo

(This guide pertains to version 0.6.6)

Contents

  1. What is Achievo?
  2. How is Achievo structured?
  3. What is a Profile?
  4. What is an Activity?
  5. What is a Phase?
  6. What is a Project?
  7. What is meant by Template?
  8. What is a Customer?
  9. What is a Coordinator?
  10. Building a project template
  11. Starting a project
  12. The project plan
  13. Entering time information
  14. The statistics displays
  15. Conclusion

What is Achievo?

Achievo is a web-based project planning tool written in PHP. It works with a web server (in my case, Apache) and a MySQL database. It provides basic project planning capabilities, and since it's under active development, we may expect its functionality to be expanded and refined as new versions are released. However, after a brief evaluation, I've decided to use it for my own plans, and have written this guide in the hope that others will find Achievo helpful as well.

This isn't a heavyweight multiproject planner, though it does allow tracking resources across multiple projects. It's not very sophisticated about dependencies, supporting only end-to-start dependency definitions; on the other hand, it doesn't enforce dependencies either, so with a bit of ingenuity you can plan your overlaps so the timing shows up about right. It does allow tracking against a baseline, although you have to change your baseline for each phase if you decide to establish a new starting point. It's logically built, as you can see in the next section, and very easy to grasp and to use; I got familiar with its basic capabilities in a couple of hours of playing, without even the benefit of this guide ;-)


How is Achievo structured?

(In this section I'll capitalize Achievo's terms where they first appear, or at the start of a term's definition.)

Achievo manipulates entities called Customers, Employees, Activities, Phases and Projects. Achievo users are Employees. Each employee is associated with a security Profile, assigned by a supervisor or administrator, that defines what that employee may do on the system.

Achievo considers a project as existing on behalf of a Customer, which may be an individual or an organization with one or more Contacts. The project is managed by a Coordinator. Each project has one or more Phases, and each phase encompasses one or more Activities. A phase end constitutes a Milestone, and phase duration estimates (both calendar and expended-hour) are the basis against which the project progress is tracked; actual time spent, however, is entered against individual activities.

In recognition that project phases, and indeed projects as a whole, can and usually do have a lot in common, Achievo supports the definition of phase templates (which list individual activities) and project templates (which list phases and their dependencies). The process of defining an actual project should normally begin with the selection of a project template, a copy of which then becomes the starting point for the actual project. The coordinator has full freedom, however, to customize the actual project by modifying its phases and their activities and dependencies.


What is a Profile?

Achievo supports security profiles. The creator of a security profile is allowed to specify, for the following entities, what users who are given that profile may do:
Hours
    Administration    Add    Edit   Delete    Time Survey    View all users   

Customer
    Administration    Add    Edit   Delete   

Contactperson
    Add    Edit    Delete   

Project
    Administration    Add    Edit   Delete    Statistics    Planning   

Phase
    Add    Edit    Delete   

User preferences
    Edit   

Activity
    Administration    Add    Edit   Delete    Statistics   

Employee
    Administration    Add    Edit   Delete    Statistics    View all users   

Security Profiles
    Administration    Add    Edit   Delete   

Phase Templates
    Administration    Add    Edit   Delete   

Project Templates
    Administration    Add    Edit   Delete   

What is an Activity?

An activity is what many other project planning tools call a task. It's something that must be done in the course of a given phase of a project. The same activity may occur in different phases and in different projects, however. The definition of an activity comprises a title, a brief description, and whether or not a specification is required for this activity. A phase consists of one or more activities. Achievo does not support definition of dependencies among activities.

What is a Phase?

A phase is a major component of a project, comprising a list of activities the completion of which reaches a milestone in the project's progress. Phases may have dependencies associated with them, such that one phase cannot start until another is completed; however, the software does not enforce these dependencies when time spent is being entered. The definition of a phase includes a title, a definition (which can be as long as needed) and a list of activities.

What is a Project?

A project is an effort undertaken to reach a specific goal on behalf of a defined customer, managed by a single coordinator. In Achievo, it consists of one or more phases which may be interdependent. The purposes of Achievo are to allow the definition of the hierarchy of phases and activities dictated by the goal, to associate estimates of calendar time and of employee hours with the phases, to allow participating employees to record the time spent on each activity of a given project and phase, to provide a view of the planned timeline, and to show statistics related to time spent on projects, on activities, and by employees. Employees are associated with the projects and activities for which they enter time spent. Resource planning or levelling is not supported by Achievo at this time.

What is meant by Template?

Many projects may make use of phases consisting of identical activities, and indeed many projects may themselves involve identical sequences of phases. In recognition of this, Achievo permits that a project be initiated by copying the project definition from a project template; if no sufficiently similar template exists, one can first be created, and unless you're absolutely certain that your project is a wierd and wonderful one-off, that's the right way to go about it.

A project template is built by combining phase templates (which again may need to be defined for the purpose) and defining the dependencies among the phases. Once a project template is copied to an actual project definition, the two become independent; changes to the template no longer affect the actual project and vice versa. Thus a project may start from an existing template, but then be individually customized where it's appropriate to deviate from the template definition.


What is a Customer?

The customer is the primary stakeholder in the project. Contact information can be maintained in Achievo for actual or prospective project customers; if the customer is a group of executives within your own organization, for example, the group members can be listed as contacts. Space is provided for recording free-form customer information.

What is a Coordinator?

Each project has one employee who's "on the hook" for that project's successful completion. That employee is the coordinator.

Building a project template

In this section I describe, briefly, the process of building a project template from scratch. In reality, some of the needed components will probably have been defined for other projects, but I'll assume we're starting with a brand-new Achievo installation. It's really pretty simple, and can be done iteratively if the project manager likes working that way.
  1. List the project phases on paper and work out their logical sequence.
  2. For each phase, use the Activity Administration function to define the activities needed.
  3. Next, use the phase template function to create the phase templates (duh!). It's easier to go do it than to read an explanation, which is why I'm not writing one.
  4. Now go to the project template function and enter the title and description, and the phases.
  5. Complete the project template definition by adding the dependencies into the table at the bottom of the page.

Starting a project

Now that a template exists, the next step is to be sure that the participants are all entered. This is done with the Employee Administration and Customer Administration functions. As employees are entered, you need to associate a security profile with each one, so before starting the employee administration, plan the employee roles and then use the Security Profile function to build the profiles that give them enough, but not too much, privilege. If you aren't entitled to set up employees and design security profiles, list your needs on paper or in an email -- that's not very hard -- and ask an administrator to set them up for you.

Once the particpants are all defined in the system, you start the project with the Project Administration function. Enter the project title, select a template, click Save, and then proceed with the editing. You need to enter the customer and coordinator information and a project description; the phases, dependencies and activities have all been copied from the template. If you need to do any customizing, you'll find that the project admin screen is very like the project template screen, and the editing will be familiar. One useful thing to do is to change the phase names so they're numbered; that way, they appear in order on the project plan. (You could number the phase names in the phase template definitions if you were sure they'd mostly be used in the same order from project to project.)

On the project administration screen, however, the phases have calendar day and expended hour estimates beside them, and these are all zero. You need to edit each to enter your planning baseline.


The project plan

Next take a look at the Project Planning function. This displays a Gantt chart of sorts, showing your phases and milestone dates. At the right is a comparison of hours booked vs. hours planned for each phase.

Entering time information

To record time spent on a given activity, employees use the Time Registration function. The screen is pretty self-explanatory; one selects a date, project and phase, then an activity; then one can record the hours spent, to a resolution of 15 minutes, and add a very brief comment, such as a status indication.

The statistics displays

Time spent can be viewed by project, by activity and by employee. The reader is encouraged to explore these functions once the project has some recorded time data.

Conclusion

Achievo is a work in progress, and there is lots more coming. I have seen code in the installation that seems intended to support project billing (allocation and/or invoicing of costs to customers), but isn't yet integrated into the user interface. But as you can tell by my having spent half a Saturday afternoon writing this guide, I'm already pretty impressed and -- I'll finish as I began -- I'm going to use Achievo in my own project planning.