TargetProcess: User Guide

Iteration #Zero

— I want to try Scrum, should I start with an agile project management tool?
— No, you should not. Use basic tools first: whiteboards, sticky notes, markers. We recommend to learn agile first, then adopt a tool if you need one.

— When I really need a tool?
— If you have a distributed team (or many teams). It is really hard to adopt agile development without a web-based tool in this case.

Agile Development Processes

TargetProcess is an Agile Project Management software. You can't run a Waterfall project with it, but it fits perfectly to popular Agile processes like Kanban, Scrum, Extreme Programming and others.

It is really hard to define agile development process these days. Is it just a common sense process? Is there a set of principles to clearly distinguish between agile and not agile process? It's hard to say. To give you a brief overview, we will describe 2 most popular agile processes in this section.

Scrum

Scrum is the most popular iterative agile project management methodology in software development. Quite often Scrum uses with Extreme Programming engineering practices like TDD and refactoring for better results.

First, you need to create Product Backlog: a list of user stories or features you want to implement in the future.

Then you select a set of user stories to implement in the next Sprint (Sprint is the same as Iteration, it's a time box, usually of 1 to 4 weeks). The goal of the Sprint is to release a working software. Yes, it might be hard to release anything in 1 week, but it's possible. Some companies do daily releases. It seems to be a miracle, but it's true.

There are some practices that help run Sprint.

  • Daily meetings where team members answer the following questions: What have you done since the last Scrum meeting? What has impeded your work? What will you do between now and the next Scrum meeting?
  • Burn down chart shows sprint progress and it is the only tool in Scrum to track development.

At the end of the Sprint development team releases software and run Retrospective meeting to discuss problems and brainstorm process improvements.

Scrum is great for either fixed-date variable-scope, or "fixed-scope" (which always grows) variable-date. If you're doing fixed-date fixed-scope, I recommend waterfall or RUP, which will buy you a few months to look for a new job.
Michael James

Kanban

Kanban visualizes the development flow and clearly shows bottlenecks. You can start Kanban process in 3 steps:

  1. Visualize development flow via Kanban Board (use whiteboard or a wall to setup Kanban Board).
  2. Put user stories on Kanban Board.
  3. Limit Work In Progress (WIP).

Here's how Kanban Board looks in TargetProcess:

Kanban Board

That is it. No need to estimate user stories, prioritize backlog, plan iterations. Even no daily meetings. To track progress it is required to calculate Lead and Cycle Time and use Cumulative Flow Diagram.

Kanban is the simplest process you can start with. Many people think that it's better to use an iterative approach such as Scrum first. Others recommend Kanban as the first agile process. The truth is - it heavily depends on your context. E.g. if you do greenfield development, Scrum may fit better. However, if project is in the support phase, Kanban will work perfectly.

I think the underlying principles are that a fixed WIP limit provides a predictable cycle time and an expectation of a quality level. That a pull system balances demand against throughput, releasing slack time in non-bottlenecks and revealing the bottleneck in the process.
David Anderson

Customize TargetProcess

TargetProcess is a very customizable tool. You can create a unique development process for any project with customizable:

  • Practices
  • Workflow
  • Terminology
  • Custom Fields

Process

Scrum

Let's setup Scrum development process.

Practices

Go to Admin → Processes → add and select required practices.

Customize practices

Workflow

Let's setup a workflow for Task. By default Task has 2 states: Open and Done. We will add In Progress state. Navigate to Workflow → select Task → Change State. Click Add New State.

Add In Progress State in TargetProcess

Role dropdown sets the responsible role. In this case Developer will be responsible for Task if it is in In Progress state.

Save changes and Edit Open state to specify In Progress as a Next State after Open. Then edit Done state.

You may change workflow for User Stories, Tasks, Bugs, Features and Requests the same way.

Terminology

Scrum has unique terminology. Let's change Iteration term to Sprint. Go to Terms.

Change Iteration to Sprint

Save changes. Now if you apply Scrum process to your project, you will see the term Sprint everywhere.

Custom Fields

The final thing is to setup custom fields. Click Custom Fields → add. Let's say you are using T-shirt size estimates.

T-shirt sizing is a way to estimate user stories relatively to each other as Small, Medium, Large, or Extra Large. Relative estimates are less prone to errors, that is why estimating in abstract units like points is alwasy better than in hours.

You can easily create a custom field to specify user stories size:

Add Custom Field

Save this custom field. We are done with Scrum process setup. Now you may add project and select Scrum process for the new project.

Select Scrum process

My Unique Process (for Retrospectives Management)

Let's use TargetProcess for some exotic process. For example, to manage retrospectives in TargetProcess.

Retrospective meeting is a very important part of any agile process. This is the way to look back, discuss problems and find solutions. The whole team participate in retrospective meetings and two questions are asked: What went well during the Sprint? What could be improved in the next Sprint? Also the team discuss improvements from the previous Sprint, if they worked or not, so this is a reflective process.

The Retrospective process will have only a few entities:

  • Retrospective - retrospective event for an iteration.
  • Idea - improvement idea proposed at retrospective meeting
  • Task - one step to implement/run the idea
  • Improvement Area - high-level area of improvement like "better code", "faster cycle time".

Practices

We need just 2 practices for Retrospective process.

Retrospective Process Practices

Workflow

First, let's add a new role responsible for ideas and action items in Retrospective process. Go to People → Roles → add.

Add Role

Workflow should be modified for this process. The Idea entity will be represented by User Story. Go to Processes → Edit → Workflow → select User Story. Modify workflow as shown on the picture below:

Idea workflow

Then switch to Task and add In Progress state.

Action Item flow

Terminology

Click Terms tab and change the following terms:

  • User Story → Idea
  • Feature → Improvement Area
  • Release → Retrospective

Retrospective terms

Retrospectives In Action

Eager to see how this process works? Let's create a new project.

Retrospectives project

Now add several Ideas via add → Idea. And here is the power of Retrospectives management. You can see a high-level picture on Kanban Board:

Kanban Board for Retrospectives

and track low-level details for each Idea on Task Board:

Task Board for Retrospectives Management

As you see, TargetProcess works well for activities such as Retrospectives. You can be very creative and use it for other areas, not only for software project management.

TargetProcess Structure

Here is the structure of TargetProcess entities. You can have Projects, Releases and Iterations. Then you can create Features, break them to User Stories, then break User Stories to Tasks.

You can assign Features, User Stories and Bugs to Release and User Stories and Bugs to Iterations.

It is impossible to assign Feature to Iteration. Feature is a high-level requirement. You should split it to User Stories and assign User Stories to Iterations.

TargetProcess releases and iterations structure

You can have various entities in a Project. Note that Tasks can't be created without a User Story.

Project entities

Start Project

We are going to quick start a new project, create a project team and fill the project with user stories.

Click Add → Project. Fill project name and save it. Go to People list and add several people to the system. You can envision this list as a repository of all available people that can be assigned to projects.

Now let's setup a project team. Click Project Admin → Team, select people you want to add and click Add To Team button.

Project Team

You can also specify roles for people in this project

Role sets permissions and affects workflows. For example, you can give user a permission to add projects or features. Also role defines user responsibility for user stories, bugs and other entities. E.g. Developer role is responsible for bug in Open state and Tester role is responsible for bug in Fixed state.

and set allocation. If someone joins project team for a limited time, it is recommended to set End Date, showing the end of this allocation.

Add or Import User Stories

You can store requirements as Features or as User Stories in TargetProcess. For the sake of this tutorial we will use User Stories only.

User Story is a software system requirement. Usually it is short and consists of several sentences. With user stories you can quickly handle customer requirements without large formal requirement documents.

First, let's add a user story, and then export several user stories from a CSV file. Click Add → User Story and type user story name.

There are some popular name formats for user stories naming. The most popular one is: As a [user] I want to [do something] so that [benefit]. Example: As a developer I want to see critical bugs so that I can grab them and fix quickly.

You can also set other parameters:

User Story parameters

So far we are not going to assign story to release or bind to feature. Our goal is to create a simple project backlog. You can add stories one by one, but it'd be faster to import them.

Create a simple list with several user stories in Excel and save file as *.csv. You can download and use this template if you want.

Name Business Value
As a user I want to purchase the service and see no advertising Must Have
As a user I want to delete my account Great
As a user I want to disable plugin when required Great
As a user I want to automatically filter search results based on credibility level Good
As a user I want to be alerted when credibility level is below 50% Nice To Have
As a user I want to register via a form Nice To Have
As a user I want to register using my Twitter account Nice To Have

Go to Project Admin → Import.

Import

Click Next and set mapping between columns in CSV file and user story properties.

Import

Click Next and let TargetProcess import all user stories into the project. Then go to User Stories list and see all imported user stories.

Prioritize Backlog

You have a list of user stories, now you may want to prioritize them to put most important user stories on top. It will help you plan release and iterations. Usually most important user stories are implemented first.

Backlog is a list of user stories, bugs and features that need to be done.

  • Product Backlog is a list of customer requirements for an entire product.
  • Release Backlog is a list of user stories, features and bugs that should be implemented in a certain release.
  • Iteration Backlog is a list of user stories and bugs that should be implemented in a certain iteration.

Go to Plan → Prioritize, filter list to see Backlog and use drag-and-drop to re-order user stories.

Prioritize Backlog

It is important to note that user stories order (priority) and business value are compeltely independent. It means that user story with Nice To Have business value is to be implemented first.

You can prioritize user stories in any release/iteration same way.

Cross-project / multi-projects priorities
You can select several projects and see combined backlog with user stories, features and bugs from several projects. Then you can prioritize items in the backlog. Let's specify that a user story from the first project is more important than a user story from the second project. Prioritize backlogs for several projects

Now you are ready for release planning.

Plan Releases

The purpose of release planning is to define what will be shipped in the next release. Usually release has a goal, start/end dates, and a set of user stories with rough estimates.

First, we will add a new Release. Click Add → Release. Specify release name, set release start and end dates and save it.

Release belongs to exactly 1 Project and may contain several Iterations in TargetProcess.

Now click Plan → Release Plan. This screen shows project backlog on the left and releases timeline on the right. Use drag-and-drop to assign stories from backlog to the release.

Release Plan

You can plan releases for several projects on one screen. Just select required projects in the projects top menu.

Release Plan for several projects

Iterative Development

Scrum and Extreme Programming are iterative development processes, while Lean/Kanban is not.

Iteration is a time period (usually from 1 week to several months) in which a development team implements and delivers a set of functionality (user stories). Iterations should be of equal duration for accurate Velocity measurement.
Iteration Velocity is a summary effort of all completed user stories assigned to iteration. For example, in Iteration 2 you have several user stories with total effort of 50 points. All user stories were completed, so Iteration 2 Velocity is 50 points. Velocity has the same effort units as user stories.

The idea is pretty simple: we should break all work into time boxes, say, of 2 weeks. Why? There are several positive moments in this idea:

  • Control scope and prevent scope creep. It is not allowed to add new work into iteration in general, thus you have fixed scope for 2 weeks.
  • Measure velocity and predict release date with good accuracy.
  • Fast feedback. You may react and improve something or just cancel project minimum loss in case of total disaster.

In general it looks like a good idea and huge step forward in comparison with Waterfall approach. Let's see how TargetProcess will help you to run iterations.

Plan Iterations

One way to add iterations is to generate them when adding a new release. Another way is to click Add → Iteration.

Iteration must belong to Release in TargetProcess. You can't create Iteration without Release.

Then you need to plan iteration: assign user stories that are to be implemented. Click Plan → Iteration Plan and use drag-and-drop to assign user stories to iteration.

You see iteration velocity on the screen and you can control iteration scope. There's no need to have an exact velocity match. It is more about team commitment. For example, you may have an 80 points velocity, but team may commit to ship 100 points in the next iteration. If this is a team decision, Scrum Master should not interfere, but just accept it.

Iteration Plan

Cross-project / multi-projects Iteration Planning

You can plan iterations from several projects on one screen. Select required projects and cumulative Backlog with stories from all the projects is shown on the left side of the screen. The current iteration from each project is on the right. You can plan or re-plan iterations as you want.

Iteration Plan Cross Project

Track Daily Progress

What is the best way to track daily progress? Ask developers! The most accurate method is to ask each developer daily how many hours were spent on a task and how many hours still remain. It is easy to track time in TargetProcess with Time Sheet functionality.

Time Sheet

With these time records, you can see a fancy daily progress report. Click Track → Daily Progress. Color coding represents the state of a task or a user story. If the row is green — there are no problems with implementation. If time remaining is increasing, there will be red boxes. Yellow is a warning about incorrect estimate. It means that task had been estimated e.g. at 8 hours, but took 12 hours to complete.

Daily Progress

You can see all the tasks from current iteration or current release in this report.

Use Task Board for Daily Meetings

Daily meeting is a useful way to receive fast feedback and boost communication in development team. A typical daily meeting consists of 3 questions that everybody should answer:

  • What did I finish yesterday?
  • What I am going to do today?
  • Do I have any problems?

You can use TargetProcess Task Board to run daily meetings. In this case you need to have a large TV screen that everybody can see. Ideally this should be a touch screen, but you may setup laptop as well and use it for some actions.

Task Board

You can select a person who started talking on the drop-down and see all his tasks. You can change task states, update remaining time and re-assign tasks right there. Then you can select another person and so on.

Understand Burn Down Charts

A burn down chart is a graphical representation of the work left to do vs. time

There are 2 types of burn down charts in TargetProcess: Release and Iteration. Iteration Burn Down shows progress for a single iteration. You want to see progress for current iteration mostly. Here is an example of iteration burn down chart:

Iteration Burn Down chart

Yellow bars represent work to do: 68 hours were assigned to current iteration initially. Green bars represent completed work and you can clearly see that progress was not good during the first 4 days of the iteration. Red bar shows added effort. A new user story with 27 hours of effort was added to the iteration today. This is not a planned effort, so it is marked as red. Moreover, baseline shifts down and the total iteration effort is now 68 + 27 = 95 hours.

Despite this fact, the iteration is still on track and most likely all the user stories will be completed on time, since work to do is below the ideal line. Forecasted work to do is represented by gray bars. They are below the ideal line as well.

This chart clearly shows that we are doing OK. How will it look in case of troubles?

Iteration Burn Down Problems

Work to do is above the ideal line and it is clear that with the current progress the development team will not complete all the planned functionality on time. Moreover, new work added today is represented by the red bar! It is unacceptable to add more work when development team is already out of track.

Release Burn Down chart is easy to understand if you already know how Iteration Burn Down works. The only difference is that it shows Iterations on X-axis and progress for the entire release.

Release Burn Down

Kanban

Kanban is becoming more and more popular in software development. It is really easy to start with and it is very un-obtrusive in the begining. TargetProcess supports Kanban nicely. As you know, there are 3 steps to get started:

  1. Visualize development flow via Kanban Board.
  2. Put user stories on Kanban Board.
  3. Limit Work In Progress (WIP).

Let's see how you can do that in TargetProcess.

Use Kanban Board

First thing you should do is define your development workflow. For example, you may have a separate Testing phase for each user story or even "create automatic regression tests" phase. All that phases are steps to produce complete user story.

The idea of Kanban Board is simple — it visualizes user story implementation flow and shows what is in progress, possible bottlenecks and what is planned for the nearest future.

Kanban Flow

A basic workflow may look like Backlog → Planned → In Progress → Done.

We at TargetProcess currently have much more complex workflow:

Backlog → Planned → In Development → Coded → In Testing → Ready to merge → Merged → Done.

As you analyze your workflow, you need to define it in TargetProcess. Check Customize TargetProcess section.

Now let's customize Kanban Board to set the correct columns order. Click Customize icon in the top right corner of Kanban Board.

Re-order columns on Kanban Board

The hardest part is to set correct limits for columns. Initially you may set limits quite arbitrarily. For example, if you have development team with 6 developers and 3 testers, you may have 3 limit for In Development column and 3 limit for In Testing column. It means no more than 3 user stories are allowed to be in In Development state and 3 In Testing state, so the total Work In Progress (WIP) limit is 6.

You can specify limits for Kanban Board in TargetProcess via Customize → Limits section.

Set limits on Kanban Board

With time it will be required to modify and tune limits to enable development flow without bottlenecks.

Now you have your Kanban Board, what's next? You can fill backlog and move some user stories and bugs to Planned state. It means development team will start working on them as soon as possible, based on Priority (Rank). You can prioritize user stories in Planned state. Go to Plan → Prioritize and filter stories by Planned state.

Prioritize stories in Planned state

Now you are ready to start development. Developers should take several user stories and move them to In Development column. Limit should be observerd all the time. And then things start moving as usual: implemented story is moved to Coded state, then to In Testing state, then maybe back to In Development or into Done state. You observe bottlenecks and make process improvement decisions during retrospective meetings or right away via stop-the-line events.

Limits help to streamline development flow and detect bottlenecks. For example, if you have limit 5 for In Testing state and there are 10 user stories in this state right now, it is clear sign of a bottleneck.

Track Progress With Cumulative Flow Diagram

There are several ways to track progress in Kanban. First, it's Kanban Board itself. The other one is Cumulative Flow Diagram which can be used nicely to identify bottlenecks and team velocity.

Cumulative Flow Diagram

This chart shows user stories breakdown by statws for a particular week. The light blue area represents work to do. The yellow area shows work in progress (WIP) and the green area — completed work.

You see that development velocity was slow between March-7 and April-24, but then it jumped up significanly. Also we see some bottlenecks (large WIP). It's fairly easy to hold a retrospective meeting and identify root causes for bottlenecks and slow velocity. Cumulative Flow Diagram just reveals problems, but not their exact reasons.

Track Lead and Cycle Time

Lead and Cycle time are very important metrics in iteration-less development. In fact, they are the only metrics to measure team improvement in terms of velocity. Here is the difference between cycle and lead time.

Lead and Cycle time

If you are in product development, most likely lead time is not as important as cycle time. And remarkable information can be carried out from cycle time observation.

Cycle Time Chart

The blue line represents cycle time for user story, while the red line shows cycle time for bugs. The chart above shows how cycle time has changed from month to month.

First, we see that cycle time has been very unstable. It changes from 7 to 21 days for user stories. This is a clear sign of significant unevenness (or mura — a type of waste in lean) and something should be done about it. Second, there's a correlation between cycle time for user stories and bugs. We see simultaneous spikes where cycle time for user stories is larger.

Mura — type of waste in Lean. It may be represented by a fluctuation in schedule, variability. E.g. a tester works hard to verify build over the weekend, but has no tasks on Monday.

Short cycle time is a good goal to strive for. It makes for a faster delivery, stable releases and other benefits. Cycle time chart helps to track these changes.

If you create custom software, lead time is also a very interesting metric, especially for customers. Short lead time means faster reaction to customer requests. Lead time chart is very similar to cycle time chart actually.

Track Bugs

Bugs are inevitable in software development. They are found by customers (bad) or by testers (better). They should be planned and fixed. And you should know how many bugs are there.

TargetProcess supports bug tracking practice. You can add bugs, prioritize bugs, plan bugs to releases and iterations, view quality reports.

In Bugs List you can change bug states, assign bugs to developers and testers, edit bug (change severity, release/iteration, effort).

Bugs List

Bugs are similar to User Stories in TargetProcess. You can prioritize them in Plan → Prioritize area. Let's say you have several bugs and user stories. You might want to set priorities exactly like that: fix this bug first, then implement this user story, then fix 3 bugs, then implement that user story.

Prioritize Bugs

You can assign bugs to releases in Plan → Release Plan. Some bugs found by end users can be treated as user stories and can have their roadmap. You might want to fix them soon in the next release or postpone till later releases.

Plan Bugs to Release

You can assign bugs to iterations as well in Plan → Iteration Plan.

Plan Bugs to Iterations

There are several charts that show bugs progress and dynamics. Bugs Dynamics chart shows how many new bugs are found each day and how many bugs are fixed. It helps to define whether product is ready for release in terms of quality.

Bugs Dynamics

Another interesting chart shows bugs trends in a long-term perspective. Below we see that from August to January open bugs count increased from 225 to 401. Then bugs count dropped to 288 and remained pretty stable.

Bugs by States

If you want to focus on bugs in the current iteration, Task Board is the best place. You can see all the bugs attached to user stories on one screen and handle them: assign to developer and tester, update remaining time, change bug state to Fixed or Closed.

Bugs on Task Board

Manage Test Cases

Test Cases (or Acceptance Tests) are an important part of development process. In TargetProcess you can create Test Cases, add them to Test Plans and execute them in Test Runs. Let's review all the steps to run test cases.

First, you need to add or import test cases into TargetProcess. Then you need to create a Test Plan. In fact, it is just a group of test cases. For example, you may have a test plan like "Email Module" and include all the test cases that are related to email module. Or you may create test plan "Iteration #1.2 testing" and include all test cases that will be executed in iteration #1.2 to this plan. It is up to you how to organize test cases in test plans.

Second, you need to assign test cases to a test plan. Go to Test Plans, click Actions link for your Test Plan and select Assign Test Cases action.

Assign Test Cases

Select test cases and assign them to the test plan.

Third, create Test Run. Go to Test Plans, click Actions link for your Test Plan and select Add Test Plan Run action.

Add Test Run

Here you should select a release or iteration for the Test Run. Also you can select an exact Build in the iteration or release. This Test Run will appear in testers ToDo list and tester will be able to run it right from his ToDo.

In TargetProcess you can execute Test Plan several times and have history results. For each execution you should create a new Test Plan Run.

Now we are ready to execute test cases. Go to Test Runs and click the Run link. Test Runner helps to execute test cases fast. You can verify test case and click Passed or Failed button. The next test cases are loaded automatically, so there's no need to remember which test case you should run. Also you can reorder test cases in the list on the right.

Test Runner

As usual, there are some reports that show test cases dynamics and quality. Go to Reports → Project Reports section and click Test Cases by User Story report. Select the required release and check quality of all the stories in this release.

Test Cases by User Story Report

Test Runs by Release/Iteration/Build report shows state of a selected test plan by iteration or by build.

Test Cases Progress

Lightweight Test Cases Management

That was a quite heavy approach to test cases management. Sometimes you need something simpler, no test plans and no test runs. You may want to just add test cases for a user story and run them fast. You can do that right on user story view page in Test Cases tab.

Quick Test Cases

Provide Support via Help Desk

You have released your product and now want to provide first-class support. It means fast reaction time and complete traceability from initial request to solution. TargetProcess provides everything you need to setup and run your support help desk.

Setup Email Integration

Most often customers and leads will use email to communicate about problems and ideas. TargetProcess has tight email integration and can create requests from incoming email. Let's setup email integration.

First, let's enable SMTP. This will allow you to send emails to customers from TargetProcess. Go to Admin → General Settings and mark checkbox for Email Notifications. Specify correct parameters of your SMTP server.

SMTP

Next, we need to configure incoming emails for some project. Go to Projects list, click Edit for the project and mark Enable Inbound Email Integration checkbox.

Pop

Specify correct parameters of POP server. It is important to mark two checkboxes: Check email automatically and Create requests automatically. In this case all incoming emails will be converted to requests, and you'll be able to handle all of them in a single Queue.

Handle Incoming Issues & Ideas

Now you're done with email integration. So how TargetProcess powers help desk? Here is the process:

  1. Customer sends an email with a problem.
  2. Request is created automatically in TargetProcess.
  3. You read this request in Queue and add a comment as a reply.
  4. Customer receives email and replies back.
  5. New comment is created exactly for this request based on customer's feedback.
  6. You reply back with a solution and maybe you close the request. Or you can create a bug or a user story right from the request.

As you see, there is no need to check email as you have complete request threads right in TargetProcess. Go to Help Desk → Queue to see all incoming requests.

Requests Queue

When you want to dig into details and reply to a request, click the request name.

Request

As a support person who handles questions, issues and ideas, you don't need to check email anymore. Review requests and reply via comments.

Let's look at some other cases. Customers send new ideas quite often. Obviously, you can't implement all the ideas and most of them do not require feedback from support. It is actually Product Owner who is responsible for ideas management. In this case you can quickly convert request into an idea and it will disappear from the Queue.

Some requests are bugs essentially, and you want to create bugs from them. Click Create Bug link and add a new bug. It will be associated with the original request and developers will clearly see who has the problem. Now they can communicate about this bug with customer. When bug is fixed, they can quickly notify customer about the fix.

Bug from Request

If bug is an important one, you can quickly assign it to current iteration or switch to urgent state. Actually, there are various approaches to how you can handle urgent bugs. TargetProcess does not enforce a single approach, it is up to you.

Help Desk Portal

TargetProcess provides a separate application for communication with customers: Help Desk Portal. You can setup Help Desk Portal on the same server with TargetProcess. Customers can:

  • Post requests/ideas/issues.
  • Vote for requests.
  • View requests with statuses, related bugs and stories, and discuss them via comments.
Go check live Help Desk Portal that we use at TargetProcess.

Help Desk Portal

Check Help Desk Portal Installation Guide [pdf] and Help Desk Portal User Guide [pdf] for more details.

Create Custom Reports

TargetProcess provides a powerful engine to create custom reports. Go to Reports → Custom Reports and click Create new custom report.

In general, custom reports provide an interface to extract data from database and present it in lists. For example, you can extract all open user stories that have zero estimated effort.

First, select process and entity type for the report. This is an important step, since you're not able to change process in a saved report. Then select entity type for the report.

Add Custom Report

You can have many columns in the report, in fact almost all entity properties are available. Expand related entities to include more columns. You might want to see entity state for example, in this case click Entity State group and mark Name checkbox.

It is not possible to include columns for lists. For example, it is not possible to create a column that shows all assigned people.

Report Columns

You can filter by entity properties and by properties of all related entities.

It is not possible to use OR condition in filters

Filters in Report

Summary columns allow to extract data from related collections. For example, you can create a column that shows the number of failed test cases for user stories.

Summary Columns

You can embed one report into another with Inner Lists. It means you can create a report for Tasks and include it into a report for User Stories.

Inner List in Report

Click Save & Run Report. There are several possible actions:

  • Group and sort entities by any column.
  • Inline edit entities.
  • Export report to Excel.
  • Print report.

Report

Integration

TargetProcess is extensible. You can write your own plugins or use Web Services API to integrate other tools with TargetProcess.

Out of the Box Plugins

TargetProcess provides out of the box integration with a number of popular tools and platforms: Visual Studio 2008/2010, Eclipse, Subversion, JIRA, Bugzilla, Perforce, Selenium, NUnit, JUnit, TestTrackPro, Team Foundation Server.

Here are the guides to all available plugins:

Plugins and Web Services API

You can create use Web Services SOAP API to integrate with TargetProcess.

Here is the list of documents for developers:

Check Plugins section for all plugins' source code.

References

Prioritizing the Product Backlog a nice overview by Peter Stevens
Release Planning a short and informative guide to release planning
Commitment Based Planning
Kanban Development Oversimplified an outstanding introduction into Kanban
Using Cumulative Flow Diagrams by David J. Anderson
Mura, Muri, Muda? Jim Womack explains 3 types of waste in Lean

top