Guides

Best practices using tasks

This article introduces some best practices using the Taskboard feature of the Testlab. It also has a short crash course to the new feature, so this is a good read if you are new to the feature and would like to learn more.

Task board

  • Task board briefly

    If you are already familiar with taskboards for agile processes, just jump to the next chapter. Rest of you, buckle up!

    Basics first – what is a Task?

    Task is something you want to track and accomplish in your project. Tasks in IT projects are somewhat compact, something you finish in a week or two. If you have larger endeavours, you probably want to create an Epic – or “Epicly large task” and split it into actual tasks. Tasks can be pretty much anything. The are often used by developers to split implementation of features into manageable chunks, but tasks can also be used to track any other work such as documentation, test data creation or any other work you wish to track. There are many other definitions available, and you can read more for example from the Wikipedia.

    Tasks are meant to be temporary – the idea is that users can create them without the burden of permanent documentation. That makes them easy to use – just write as little as you need. Individual tasks are usually not that interesting after they are done. Testlab collects interesting statistics about tasks which is usually the level you want to see after the tasks are done.

    Working agilely

    What agile methods have to do with the tasks? Well, Task boards and tasks are just commonly used when implementing the agile processes. What is common to most agile methods is the emphasis on focusing on what is important in development, sharing the knowledge, and reacting fast. Taskboard is an intuitive way to do just that – share information that allows for good decision making in the project.

    Testlabs task board allows managing tasks with a very easy user interface but also has features for maintaining requirements, test cases and issue lists. Having these features on one tool helps users work efficiently with tasks but at the same time maintain full traceability from requirements to test cases and issues.

    Use-cases for Testlab users

    If you haven’t been using a Taskboard before, you probably wonder what would you get out of this feature. This is a subject well fit for a book, but a few most important ones are:

    • Get hold of small personal tasks. Often people have small tasks that are not really requirements or issues and using those features in Testlab for something small and shortlived would seem like overkill. Using tasks makes an ordered and easily communicable tasklist for you.
    • Get the big picture of the tasks. Using tasks is a way of managing the project. Chew the work in the project into tasks. Managing small items enables more efficient teamwork and progress tracking.
    • Bring the teams together. When you have an easy to understand view of the project, it is easier for others to see what they are doing. For example, if your developers and system testers both use tasks, it makes it easy for the project to system test the features early on. This way other people in the project will get a better view of what is going on in the project. This comes in very handy for people working in quality assurance.

     

  • First steps using the tasks

    Try the demo!

    The first thing to do when familiarizing with the tasks is to log on to the preinstalled Demoproject in Testlab. The project contains tasks set up for you so you will be able to check how the user interface works. Just log in to your Testlab demo project and click the tasks button on the top right corner of the user interface to open the tasks. Check the tour to see the UI elements and try it out!

    Initial setup

    Tasks in Testlab are always tied to Sprints. Sprints in turn are always part of a milestone. Thus, when you want to use the tasks in your own project, you will need to create a Milestone and a Sprint for a milestone if you don’t have them yet. If your project is not using sprints, but you would like to use tasks – no problem. Just create a long sprint for this purpose and use it.

    Second thing to do is to decide what statuses ( columns)  you wish to have for your tasks. If you don’t know what task statuses you need, start with the default settings. You can modify them later. The Statuses are shared between all sprints in a milestone. That means that when you complete a sprint and start another one, you will continue with the same statuses.

    Third and last initial setup is setting up the task types.Task types are just an easy way to group different kinds of tasks together. Task type colour is always seen in the user interface so you’ll find the certain typed tasks easily. Again, you don’t know how you want to group the types in your project, go with the defaults. You can change the used types later.

    That’s all folks! You can start tasking!

     

  • Planning the project using the tasks

    If you are familiar with using backlog or are using scrum or some other agile method you probably already know what to do. You can also create tasks in your task board, so pre-planning is not mandatory when using tasks. That said, you might want to do some planning with a taskboard. Here’s how it works in Testlab.

    Manage the backlogs

    First, open “Sprint planning” tab in your Testlab. Your product backlog and sprint backlogs are empty, so you’ll start by filling the product backlog with tasks. The product backlog contains tasks that you are going to do, but not necessarily yet. You can add tasks from assets ( Epics and other requirements, bugs and other issues and test runs ), or you can create tasks directly. You can maintain the priority of the tasks by ordering them.

    Having a product backlog thought out in advance makes it easier to plan future work and find high priority tasks.

    Creating tasks

    Adding a task from an asset is simple – just drag an asset from the left “Project assets” column to “Product backlog”. This automatically creates a task for the asset. You can ( and should! ) rename the task to tell what the task is about. Just double-click the task to open it into edit mode. You can also write a description of the task if needed. when you create tasks for assets you will be able to track the assets’ progress. It is also possible to track the remaining effort for tasks for the asset.

    When tasks are created via dragging them from project assets, they may have a task type assigned to them automatically. You can also add or change a task’s type by drag & dropping them into tasks.

    Managing sprints

    Sprint are managed in many ways in different agile methods, but generally they are time boxed, quite short ( 1 – 4 weeks long ) periods where the team does the development. The goal of what to implement is chosen so that it is realistic to do during the sprint.

    In Testlab, when you want to implement certain tasks in the near future, you will move the tasks from the product backlog to the sprint backlog. When you estimate the work duration for each task, you can track how much work you have accumulated for the sprint being planned.

  • Using the board

    In daily use for most users, the task board is the main feature of Testlab tasking. It allows you to see a sprint’s progress at glance, see who’s doing what. Also, it allows for easy communication about what is going on with each task.

    Assigning tasks

    Usually, at the beginning of the sprint the team goes through the tasks, discuss about them with the team and make estimates of how long will it take to accomplish a task. You may also assign tasks to people, or leave that for later. When it comes to the tool, this phase is pretty straightforward – just drag the tasks from Sprint backlog to the taskboard ( usually to “To Do” first ).

    You can also group the tasks by adding swimlanes to the board. When tasks are grouped, moving tasks between groups also edits the task’s corresponding field. So, for example, if your tasks are grouped by assignee, you can assign tasks to users by dragging them to their swimlanes.

     

  • Testlab specific tips

    Working with Requirements / Epics

    As you have a possibility to create tasks for requirements, Epics, or user stories ( later I just call these Requirements), it’s a good idea to do so. When you maintain your requirements with information on how your software works, you have a much easier time testing it and communicating about it with other stakeholders. Having the links also allows seeing what is yet to be done for certain features – again nice for communication.

    This is not often used by developers, but it is possible to task requirement design or specification as well. If there are tons of individual requirements to design/go through, and each inspection does not take a long time, it might be better to create tasks for the requirement folder – this way you do not need to track the work at a too detailed a level.

    Using tasks for testing

    Testlab can couple test runs as a task. This way you can show the testing progress in the taskboard as well. There are many many other kinds of various tasks you need to do which you should track with tasks. The test case design is a good example; Most probably you do not want to create a task for each individual test case, but possibly for each requirement makes more sense. Ensuring test data is usable might be another good task. Just do whatever works best for you!

    Tasks for issues

    The task for fixing an issue is a pretty straightforward example. When

    Finishing sprints and starting another

    When your sprint ends, you will most of the time start another. In Testlab, you can choose what happens to unfinished tasks. You can return them to the product backlog, sprint backlog, or keep them in their current status in the new sprint. Remember that you can also create a sprint under a new milestone if you wish.

  • Using tasks in different situation

    Tasks are used in quite a different way in different kinds of projects. Here’s some tips from us

    Using tasks for development

    This is probably straightforward for development teams that have been doing agile development. It is a good idea to maintain requirements ( probably as epics ) in the Requirements part of Testlab, create user stories for epics, and then tasks for the user stories. Having an intuitive taskboard is great during the intensive development phase. You will also have user stories ( which are easy to maintain if you need to change something ). If you do systematic testing the ones designing test cases will love your up-to-date user stories as it is great source for test cases.

    Using tasks for companies that purchase IT projects

    Test management / Application lifecycle management software is often used in companies purchasing software from third-party vendors. Their view on quality is quite different from developing companies. While both generally want to deliver good quality, their business incentive is the opposite – especially when the price for a project / system is fixed. Purchasing company does not want to see any bugs in the finished product, and the supplier wants to deliver the product with a minimum viable effort which next to always means there are more bugs in the product than the customer wants.

    To ensure that the customer gets what it has purchased, the customer often does rigorous acceptance testing. More often than not this acceptance testing finds issues that are unwanted – bugs, and thus this phase justifies the costs it has. The customer thus often understands the value of testing, but rarely is very experienced in development methodologies.

    Here the tasks come handly. They can act as an intuitive bridge between the customer and the developer. It is easy for purchasing party to see what is going on, and easy for developer to get input from the customer. When the word travels between the developers and the customer, the project ends up succeeding better.

    Another helpful thing for customer is to manage their work better. If the software they are purchasing is big and has many people involved, there propably are lots of tasks that need to be priorized and benefit when tracked. Taskboard is easy way to manage the project – for testing, requirement planning, issue management etc.

    Migrating to Testlab from previous tool

    Have you been using another tool to manage your Tasks, and would like to manage your tasks and would like to consider migrating to Meliora Testlab? You are warmly welcome! We’ve tried to make the feature easy to approach, so once you know how you wish to manage your tasks, it should be relatively easy to roll the usage to Testlab.

    Do you have a huge amount of tasks you would like to have imported to your Testlab? No problem, contact us and we’ll see how we can help you. Also, if you have any other questions or remarks, do contact us – we are there for you!