Blog

3 weeks ago

New Feature: Continuous Team Workflows for teams collaborating in sequence

At Targetprocess, we strongly believe that your project management tool should adapt and grow together with your company; it should be easy to adjust the tool’s configuration to fit your current process, and to update it later when your company process is changed. That is why we try hard to enable you to follow your target process.

Previously we introduced the Team Workflow feature which allows teams to create and use their custom workflows for all the entities in Targetprocess which do not affect other teams. However, there are many other possible scenarios for organizing the collaboration of multiple teams in your company. For example, several teams might need to work on the same entity. Until now, they used different workarounds for this purpose: they might have created duplicate entities or used relations to link several teams to one item.

We are proud to announce our new feature: Workflow Management for Functional Teams.

The new functionality will be interesting for companies who have teams working sequentially. Accounting, Marketing, Designers, Development are examples of such teams. They are often called functional teams.

From now on, several teams can work on the same item – e.g. a feature or a user story – one after another. So, the final state of the item in the workflow of one team is its first state in the workflow for another team.

For example, you might have Analysts, Development and Delivery teams working sequentially on a user story in a project:Functional Teams

The work is started by the Analysts. When the Analysts move a user story to the state which is final for their team, the Development team takes the responsibility for it.

The “Done” state of the Analyst team’s workflow is mapped to the initial state of the Development team workflow. This enables passing a work item from one team to another automatically. Below here is an example of the team workflows setup:

Team Workflow Sequential case

When we open a user story assigned to the Analyst, Development and DevOps teams we will see these teams’ states under the corresponding project states:

Team States Selector

Any team can create their own view by choosing the Team State for the vertical lanes in order to see this team’s part of work only.

When the Analytics team moves a user story to the “Done” team state, it automatically goes to the Development’s “Open” team state (as they are mapped to the same project state) and disappears from the Analysts’ Kanban board:

Functional done states

For more use cases and FAQ, please visit https://www.targetprocess.com/guide/settings/states-workflows/multiple-teams-use-cases/ or contact our Support team.

By default, the new functionality is enabled:

  • for all new Targetprocess accounts created after January 19, 2016
  • for all the existing accounts where at least one Team Workflow has already been set up

If you would like to check out this functionality for your teams, don’t hesitate to email support@targetprocess.com with a request to enable this feature for your account.

We’d love for you to try it and let us know what you think!

3 weeks ago

BuildBoard – our tool for developer’s workflow automatization

Hi minna-san!

It’s been awhile since the last post about our development process. Today I’d like to focus on some aspects of our developers’ workflow. Despite writing shiny new code which is the most interesting part, developer’s life consists of necessary, but not so interesting routine work. In this post I’ll describe our approach to minimise routine. It has helped us not only to devote more time to other activities, but also to enforce our practices. Let’s dive into it.

Here are some tools we use:

We have several teams each working on a separate feature. It’s the responsibility of a team to split each feature into user stories. Every user story is then elaborated by a feature owner and put into the ‘Planned’ state. A user story is implemented by 1-2 developers from the team. Let’s imagine that is my turn to do it. Before I start user story implementation, we arrange a kick-start meeting which is aimed to ensure all team members have shared understanding of the user story. It’s also a good time for constructive critics and suggestions. After the meeting I open Targetprocess and move the user story from the ‘Planned’ to ‘In Dev’ state. It’s time to code now!

0-plan-scaled

According to HubFlow, we create a new branch for each work item (a user story, or a bug). There is ‘develop’ branch which is an integration branch accumulating all the work that has been done lately. So, I start with creating a new branch from ‘develop’ for the user story. Then I open GitHub and create a pull request on the newly created branch.

As functionality is implemented, I run builds on Jenkins on my branch. Our builds have rather complex structure, so it’s quite difficult to see what’s going on in Jenkins. We have different types of builds: short, full and custom builds.

  • Short build includes only a subset of all tests and is the most commonly used one.
  • Full build includes all tests and performs some extra actions, i.e. building installation packages. It is usually triggered automatically every night on ‘develop’. Full builds are necessary for release process as well.
  • Custom build, as it comes from its name, is used when we want to run only particular test parts for some reason and don’t need to run others. Sometimes functional tests fail because of instability. In such case we re-launch failed parts to make sure that everything is OK.

After coding has been finished I have to make sure that the pull request can be merged and the last build is green (all tests passed). It’s a good idea to perform code review now. Another developer reviews all the changes made in the pull request. If everything is good, he leaves ‘LGTM’ comment in GitHub. Then I move the user story to the ‘Coded’ state and it becomes ready for testing. If bugs have been found by our QA, the user story goes to the ‘Reopen’ state and I fix these bugs. After the fixes are verified, the user story finally goes to the ‘Tested’ state.

Eventually, the user story is in the ‘Tested’ state, and it’s high time to merge! Before that, I have to wait for the green ‘develop’, ensure my pull request can still be merged and code has been reviewed.  Only then I can merge my branch into ‘develop’. Finally merged! I have to remember to move the card in the ‘Done’ state in Targetprocess. Phew… Actually not yet. After each push, a new build on ‘develop’ is started automatically. If it fails, I’ll have to fix it ASAP, or revert my commit which caused the failure, fix the build and merge again.

workflow-scaled

As you can see, there are some steps that are nothing but routine (although, useful) and can be automated.  Thankfully, we’ve created a tool for that. We called it BuildBoard. It looks like this:

1-my branches-scaled

I see all work items (user stories, bugs, etc.) assigned to me with the corresponding pull requests, statuses of the latest builds, as well as the states of these work items in Targetprocess. Here I can run a new build, open a pull request or, for example, change the state of a work item in Targetprocess. When all conditions are met, the grey ‘Merge’ button in the right column becomes enabled and I can eventually merge my branch into ‘develop’.

If any part of tests fails, BuildBoard automatically re-runs this part to determine whether it is due to instability, or the build fails for a valid reason and has to be fixed. I can also re-run particular part manually.

2-re-run-scaled

In BuildBoard, we can also view and manage special branches like ‘develop’, ‘master’, ‘release’ or ‘hotfix’.

3-special branches-scaled

The status of ‘develop’ and the status of Transifex integration (the tool we use for localization) are placed in the header, because we want this important information to be always visible.

4-header-scaled

After a build is complete, BuildBoard pushes a notification to Slack. So, I do not have to periodically check build progress in Jenkins. That means less context switching and, thus, better productivity.

5-slack integration-scaled

I can even deploy the current ‘develop’ to the staging server in two clicks.

6-deploy-scaled

In a nutshell, BuildBoard allows us to automate our workflow and enforce our practices, spend more time on actually important things, not routine work. Moreover, it helps us to visualise our development process with all its peculiarities.

Is there anything similar in your developer’s life? How do you automate your workflow? Please share in comments.

 

3 weeks ago

Vizydrop | Our Free Data Visualization Software Released

Vizydrop is a data visualization platform. We created Vizydrop with a goal of building a simple and natural data visualization tool. Vizydrop aggregates data from various software apps into a single dashboard, automatically builds visualizations for you and helps to create custom charts.

Vizydrop helps to get insights from the very first step. The application provides an easy to use interface to extract your data from applications that you are using or from storage where your data is located. Custom data source connectors can be added using any programming language with a simple API. We keep your data up to date with automatic updates.

Apps Gallery

Vizydrop automatically creates chart suggestions from your data in order to minimize the effort spent on finding insights. Statistical and machine learning algorithms are used to build the most suitable visualisations for trends and correlations discovery.

Suggestions

The suggestions functionality gives you an opportunity to explore your data visually from different angles. A selected suggestion can be edited and tuned up using simple, but powerful editor.

Editor

Your saved charts can be shared with colleagues, friends and the whole world like this one. Charts can also be exported to an image and printed.

Go and get visual with Vizydrop. We appreciate your feedback and happy to answer questions you have.

1 month ago

Xmas backstage

Hello friends,

The holidays are over and we are glad to see you again. Last year we prepared the special greetings for you. Our team congratulated everyone who dared to press play on the popup personally in the live mode. We didn’t have a chance to greet everyone of you, so we prepared a small gift for those of you who missed our greetings. Check our video with funny moments to give you the spirit of these magical greetings.

Enjoy.

Have a magical year, full of joy and happiness.

Your Targetprocess team

 

Request a demo
Our product specialists will show you the beauty and power of Targetprocess 3 and help you to customize it for your process and business requirements
Request a demo