Freedcamp¶
Tiger Sheep uses Freedcamp for project management and tracking. For administration and project managers, Freedcamp is used to keep track of all projects at the company level. For project leads, Freedcamp is used to manage and plan the current state of known work and project plans. For development and individuals working on a project, Freedcamp is their tool to track and plan out their work.
Legend¶
Freedcamp has specific terms for its features:
-
Project Group
A groject group is simply a container to organize projects. Administrators and project managers use these to group projects into logical categories, such as a company that has multiple discrete projects or projects from a specific source.
-
Project
A project is the highest-level interface in Freedcamp. Projects can have apps installed in them, explained individually below. Generally, all projects will have the tasks and discussion apps installed, but they may have apps such as Calendar, Time, Discussions, or Milestones on them, as well.
-
Apps
In Freedcamp, apps are featuresets enabled on a project that extend its usefulness.
-
Task App
The most-used app in Freedcamp. At the simplest level, the Task App lets the user create tasks, and track the tasks against three statuses: No Progress, In Progress, and Completed. The status of all tasks can either be seen in a list view, or in a classic "kanban" view. All projects generally have the tasks app installed.
-
Task List
A task list is simply a container for tasks. In both the list view and the kanban view in the task app, task lists separate out groups of tasks into rows. An example use case of tasks lists in a project would be to separate tasks into development work, design work, and QA work. Tasks lists are not to be confused with milestones, explained below.
-
Tasks
Tasks are the basic unit of work in Freedcamp. A task might be a single thing to work on or a single feature in a project, but they can be separated into subtasks if necessary. Most interaction in Freedcamp is via tasks, and most information is assigned at the task level. Tasks can be assigned to a person, given a deadline, assigned a priority, etc. Comments can be left against a task, and files can be attached to a task.
-
Subtasks
Subtasks are limited-functionality tasks contained inside a task. An example use for subtasks would be to split out a task into three simple parts, for simple trackability. Generally only developers or individuals responsible for work will create subtasks. Subtasks can only be marked as complete or deleted, and do not share the extra features of normal tasks. Subtasks should not be used for any tasks that needs any extended features or trackability. You cannot even assign a subtask to an individual, subtasks inherit the assignment of a task.
-
Milestone App
Projects that have multiple phases or require a greater level of planning can have the Milestone App enabled, which allows a project to use and manage milestones.
-
Milestone
Milestones are an extra layer of trackability and granularity for tasks in a project. Tasks from any task list can be assigned to a milestone, and the milestone can be assigned its own responsible individual, due date, and priority. Using milestones properly allows a project to be split into larger units or work with one individual in charge of completion. Generally, only adminstrators, project managers, and project leads will deal directly with milestones.
-
Calendar App
The Calendar App is usually enabled on all projects, and allows a simple view into any tasks or milestones with due dates. Projects have their own calendars, and a cross-project calendar can be viewed from the top header if any of your projects have the Calendar App enabled.
-
Discussion App
The Discussion App is usually enabled on all projects, and allows for project-level discussion. Discussions can be set to notify specific users, or be set to private amongst a small set of users. An individual discussion can have multiple comments left inside of it, and attachments attached to it. Think of a discussion as forum thread. Any topic that only involves a single task or set of subtasks should be left to the comments inside the tasks itself.
-
Files App
The Files App is usually enabled on all projects, and allows for files to be attached to tasks and discussions. All files attached to a project can be viewed by clicking the files sidebar link.
-
Time App
The Time App is enabled on projects that require time tracking, and it is good practice to enable it on any project involving a client that we bill by the hour. Once enabled, the Time App allows time records to be marked against a project.
-
Time Record
Time records are marked against a project, inside the Time App. When time tracking is necessary, developers and individuals responsible for work are responsible for keeping current their worked time, so that administration and project managers can quickly at-a-glance see how much time can be billed against a project. Time records are given a title, and can either be added later with a specific date and amount attached to them, or used as a live stopwatch of work down.
Example Freedcamp Use¶
As an example, perhaps Tiger Sheep just signed a new client. Let's go over how Freedcamp should be used by each job type.
Project Managers¶
-
Administration notifies the PM of a new potential project.
Immediately, the PM adds the new project to the overarching Project Management project, and keeps its status current.
-
Administation signs the new project
The PM works with the client to gather requirements, and starts a new Freedcamp project. Either the PM or the Development Manager assigns a project lead to the project.
-
Planning
The PM and the Project Lead split the requirements into specific tasks and if necessary, milestones. These tasks and milestones are given rough due dates.
-
Work Begins
The PM works with the Project Lead to confirm that work is proceeding according to the correct timeline, and interfaces with the client to keep everyone on the same page. According to the billing structure, the PM uses the Time App to reference how many hours can be billed against the project each week.
-
Work Ends
The Project Lead and PM confirm that the project's final state matches the requirements originally outlined. When a project is complete, the PM marks it as complete in the overarching Project Management project, confirms all hours are billed, and archives it.
Project Leads¶
-
A Project Manager assigns a new project to you
The PM and the Project Lead split the requirements into specific tasks and if necessary, milestones. These tasks and milestones are given rough due dates. The Project Lead assigns other developers or individuals responsible for work to the project
-
Work Begins
The Project Lead assigns all tasks and milestones to the appropriate developer or individual responsible for work, and audits the project often to make sure the project's visible state matches reality. If a project requires the Time App, the Project Lead is responsible for auditing that time tracked is accurate and current across the whole project. Any issues or deviations from the expected timeline should both be changed in Freedcamp and communicated to the PM. Generally, tasks should only be moved between task lists by the PM.
-
Testing
If QA is needed on a project, the Project Lead is responsible for notifying the QA team that there is a project that need to be watchful of, and assigning testable tasks to the QA task list.
-
Work Ends
The Project Lead and PM confirm that the project's final state matches the requirements originally outlined. The Project Lead does a final audit to make sure all tasks, and milestones, and time records are complete, and notifies the PM that a project can be considered finished.
Developers¶
Developers may also be project leads, in which case they will be reponsible for the duties of both roles. Project Leads will often be assigning tasks to themselves.
-
The Project Lead attaches you to a project
The Project Lead will introduce developers to the project and the plan for it, and begin assigning tasks and perhaps milestones to specific people. Early deadlines will be communicated to each developer.
-
Work Begins
Each developer will coordinate across the project, taking their assigned tasks and doing the work given them. Developers are responsible for using time records for any project that requires time tracking. Care will be made to meet deadlines, and any issues will be discussed with the Project Lead. Developers are responsible for being as verbose as necessary with task comments, and should make active use of the Discussion App. If the initial version of a task* is not descriptive enough or needs to be split into **subtasks, the developer should feel free to split it into multiple tasks or subtasks. As work begins on a task, developers should mark each as "in progress". As work on a task is completed, it should be marked as complete.
-
Testing
The Developer should notify the Project Lead of any task that requires testing.
-
Work Ends
Aside from auditing that all their tasks are complete and that all their time is recorded, developers do not have any responsibilities in Freedcamp at the completion of a project.
QA¶
QA interacts with Freedcamp in a unique supplementary role. For a project that requires QA, the Project Lead should notify the QA Manager that their project needs testing, the QA Manager should be added to the project, and a QA task list should be created. The QA Manager is responsible for watching for tasks that get sorted into the QA task list, and assigning those tasks to the relevant QA tech. When testing is complete, the QA Manager and any attached QA techs should be removed from the project.
Responsibilities and Benefits¶
Developers and individuals responsible for work get value from Freedcamp by:
-
Having a central hub to see what deadlines need to be met, and what their current responsibilities are.
-
Getting a visible glance into the future plan for a project.
Developers and individuals responsible for work are responsible for using Freedcamp to:
-
Coordinate with the project lead or the project manager to make sure that a glance at freedcamp is an accurate glimpse into the current state of a project and project plan.
-
Split tasks assigned to them into multiple tasks or subtasks when necessary.
-
Keep accurate the current state of their work on a project on tasks and milestones.
-
Track time spent on a project, split into tasks or a set of work.
-
Assign tasks and milestones to other developers or individuals responsible for work when necessary.
-
Give insight into time needed for future tasks and milestones.
Project leads get benefit from Freedcamp by:
-
Having a central hub to plan a project's requirements into tasks and milestones.
-
Assign tasks and milestones to the individuals doing the work.
-
Assign due dates to tasks and milestones, for responsibility tracking.
-
Removing bureaucracy by allowing administrators and project managers easy glances into a project.
Project leads are responsible for using Freedcamp to:
-
Plan out a project's requirements into tasks and milestones.
-
Coordinate with the project manager and developers or individuals responsible for work to make sure that a glance at freedcamp is an accurate glimpse into the current state of a project and project plan.
-
Delete completed tasks from view when applicable.
-
Be sure that the correct developers or individuals responsible for work are assigned to tasks and milestones.
-
Audit the hours worked when applicable to make sure that administration and project managers have an accurate view of hours worked.
-
Split tasks between milestones when necessary, and designate milestone leads.
-
Make sure that all deadlines on tasks and milestones are accurate.
-
Invite the correct team members to a project
-
If QA is needed on a project, the Project Lead is responsible for adding the QA Manager to the project, creating a QA task list, and notifying the QA team that there is a project they need to watch.
Administration and project managers get benefit from Freedcamp by:
-
Being able to view and get quick insight into the current state of a project.
-
Having a central hub for planning future work.
-
Being able to quickly reference due dates and time worked on a project.
Administration and project managers are responsible for using Freedcamp to:
-
Work with project leads to translate requirements into a work plan and a schedule
-
Work with project leads to confirm client expectations with deadlines and hours worked.
-
Audit deadlines to confirm no disconnect between employees and clients.
-
Build out the initial project in Freedcamp, and enable the correct apps.
-
Invite the project lead to a project, and work with project leads to confirm that the correct staff is assigned to a project.
-
Maintain the overarching project management board.
Not the end-all-be-all¶
Because Freedcamp is outside of our active directory system, users are responsible to keep some information outside of Freedcamp. Use common sense, but example include:
-
Any documentation about client system access.
-
Passwords and credentials, unless tied purely to a test database.
-
Any sensitive Automat details or proprietary information.