Oct 11, 2016

How to Make a Custom Task Management Software?

In this article I will try to tell you what you should think about and what decisions should be made so that the web system become truly effective. Here, we will talk not about the full-fledged ERP system, which includes all aspects of a large company’s work (strategic planning, supervision, operational accounting, financial accounting, corporate reporting), but about systems designed to record current operational tasks. Such tasks usually have a large number of details and a complicated internal process, but in general the company is only interested in its results like a signed agreement, finished transaction, developed functionality.

Before you start developing the custom cloud based task management system it is necessary to answer the following questions:

  1. What business(department) problems do you want to solve with the help of the new system?
  2. What functions should the system perform?
  3. How to choose a suitable system among existing solutions?

Let's consider the possible answers to these questions.

The purpose of the implementation of the task management system

For a start it is important to determine why the idea of automating came to mind and what the company expects from its implementation. Understanding this greatly affects the basic functionality that the system should support and the procedure of a further system implementation.

There is a lack of data for the Head management to assess the effectiveness of the company

Common problems and complaints: The work is being performed, customers are satisfied, but nobody knows exactly how the last advertising campaign has affected the sales. How many products did not pass quality control? How long does it take to work with one transaction on average?

The purpose of the system implementation: Get the numerical values for the company’s work assessment.

Common mistakes in the implementation process:

  1. For the sake of a cherished numbers in the report, a system for recording all the actions of all employees should be implemented. In this case, money and effort, which will be spent on such a system, do not pay back the knowledge of the final result.
  2. Implementation is started without defining exactly what figures we are interested in. By default, it is assumed that all the necessary numbers will be obtained by themselves. The consequences are obvious - there will be a lot of different data, sometimes interesting, but just the desired indicators will not be obtained. Because no one knew that they are needed.
  3. A wide variety of secondary indicators is determined, like 'By the way, let's count this as well". In an effort to do everything at once, really important data is lost. Often, far more time and effort is spent to get secondary indicators, though, it's not worth it. As a result, implementation of the system is being delayed over and over, and nobody uses the received data.
  4. A rapid return after implementation of the system is expected. It is important to understand that reporting is the last stage of the system work. To make the reporting system work, it is essential that all the needed data is gathered using the system. This means that the first actual data is obtained only after the system has been operating long enough to accumulate the statistics to create reports.

How to avoid mistakes:

  1. Clearly identify the list of indicators which are important for the business effectiveness assessment.
  2. Write down what actions of the employees should be recorded in the system so that you could get the desired indicators. Start with the key processes, do not try to cover everything at once. The simpler the system is at the beginning, the more likely that it will work.
  3. Divide indicators into the groups by importance. Do not move on to less important indicators until more important ones are available.
  4. When determining importance, do not forget to take the difficulty of obtaining the indicators into account. Often, obtaining several intermediate results in the system (several different systems) and their further manual processing can be more reasonable than building the monstrous system.
  5. Although the main purpose of the system is the high quality reporting, but when planning work, it is important to understand that the data registration and training of the employees to use the system will take a lot of effort and time. Actually, reporting is the final step.

There are obvious problems with the quality of services

Common problems and complaints: Managers regularly forget to call customers back. The delay between the different stages of one task exceeds the acceptable level. No one knows where the necessary documents are.

The purpose of the system implementation: Arrange the workflow, make it clear to all participants. Be able to control the workflow, understand at what stage each task is.

Common mistakes in the implementation process:

  1. A company uses one workflow, but it is planned to use the other process in the system. It is very risky to combine the new management system with the implementation of a new process - and surely, both of them will have their own drawbacks, and their combination will make the implementation process very difficult for the staff. In addition, it may be that the new process will not fit your organization and it will be decided to abandon it. In this way time and money will be wasted.
  2. It is not clear how the staff should work. Moving to the process management system that is incomprehensible to its users, will not solve the initial problem.
  3. The workflow is described by people who do not perform the described tasks themselves. In this case, it is a very big risk to miss the unusual situations in the work or not to take technological problems into account.

How to avoid mistakes:

  1. Start with a description of the project workflow. Who should do the action and to whom, when and what should be passed, who should be informed, what should be filled in, etc.
  2. The resulting process should be checked for viability. It is not necessary to fully implement it within the entire enterprise, but at least some key employees should try performing their daily tasks from the beginning to the end using this process. This will help solve several problems at once:
    1. Establish communication among employees.
    2. Show the weaknesses and obvious mistakes in the process.
    3. Give feedback from performers of future tasks who directly participate in the process and can help make it complete and consistent.
  3. If the resulting process is too complex to be tested (too much effort or time is needed, so that employees can make all steps without management system) - it is likely to be too complex when the task management system will be implemented. The fact is that the task management adds work rather than simplifies it for employees. Yes, as a result, the process will be more controlled, it will be clearer what is happening and why, but the amount of work for the average employee will not decrease. Therefore, if an employee has no time to fill in all fields in Excel, he will not have time for a new task management system. It is necessary to simplify the form, delegate duties, devote more time to the task - i.e., take organizational steps rather than rely on the magic system.

Certainly, the system is often designed to solve both problems described above. In this case, the task becomes more complicated, and the implementation process is longer.

Standard features of task management systems, which you should think about

We come to this step with the results of the previous step:

  • Formulated purpose of automation.
  • Main process (or several processes) described.
  • List of required performance indicators.

In general, it is enough to move on to choosing the management system. But apart from the basic functions - managing tasks - the system should also have some additional features, which are important to remember.

There is a list of functions below, which you should think about before choosing the system:

  1. Initial input of current data in the system. More likely, the company has already got some way to manage internal problems - a common Excel file, set of files in Google Docs or something like that. And at the start of work in the new online management system, some tasks will be in progress, at different stages. Therefore, you should be able to enter the initial status of the current tasks at the start of the work. Sometimes, it is the possibility to import your files (csv, xlsx), sometimes it is the possibility to manually create a task on the required stage with partially filled data. In any case, it is necessary to make sure that there is such a possibility.
  2. Rights of the system users. Often employees, who perform work on different stages, should have access to different data. It is important to think in advance what restrictions may be necessary for you. Here are the standard options:
    1. No restrictions. All users have the same level of access and see all the information. This option is the simplest and may be quite suitable for small companies or in the initial stages of the system implementation. But if you expect that in the future you will need a more complicated option, it is necessary to think about it in advance.
    2. Separating data access. Each user has access to specific data only, but within the data all the actions are available. For example, each user gets the access only to a specific project he is working on, where he has the access to all tasks and operations. Or the deal indicates the users that have access to it, but all the documents and actions within the deal are available to anyone who has access to it.
    3. Role-based access. Different users can perform different actions depending on their role. For example, the developer can put the problem in the “For Testing” status, but it can be changed to Done only by quality assurance engineer. Access to the financial statements on transactions is allowed only to users with the manager role.
    4. Data and role-based access. The most complicated option, which combines the previous two options. For example, the customers can view the data on their orders, but can not change it. More often, this option is used when the system gives access not only to employees, but also to external stakeholders - customers.
  3. Notification System. One of the most important functions in the online task management system is to inform the employee about the progress on a task fully and in time. Therefore, notifications that will be sent in the system should be carefully considered. The common mistake in this case - too many notifications in a row to all users on any occasion. In this case, employees no longer pay attention to these messages and their effectiveness comes to naught. For a notification system you need to consider:
    1. Ranking notifications by importance. It is important for the user to know that the task has been assigned to him. It is less interesting that the other user has also been given a task in his own project. He is not interested in the fact that someone has changed his avatar. When selecting management system, note that all the notifications, that you have considered to be the important ones in your process, will be displayed to users.
    2. Method of receiving notifications. Notifications can come via e-mail, phone, Skype (Slack or any other messenger used by the company), appear inside the management system or as the information notifications. Depending on the importance of notifications it can make sense to use different channels. Therefore, decide how you will be comfortable to receive notifications about various events, and pay attention to the use of these channels when selecting management system.
  4. The ability to attach files to tasks. Almost certainly your tasks will be accompanied by a sufficient number of additional files. It can be a contract, task requirements, tables with cost calculation and so on. It is important that the staff was able to store all the necessary documents in the management system so that everyone has a single point of access to the latest versions. More often it will be enough to be able to attach the necessary file to the task. Sometimes it is important to be able to insert images in a preview in the description of the task (for example, when describing bugs). But sometimes certain files themselves become tasks, for example, when the process is the contract signing. In this case, it is important to store the information about the file version, who changed it and its current status (draft, approved, signed, etc.). If you have any specific requirements for the storage or control of documents inside the task - pay attention to it in advance.
  5. Exporting data from the system. There are two types of exporting:
    1. Exporting of generated reports with indicators. This may be necessary if the management does not plan to use the system and it will need to prepare regular reports on the basis of the system data. Or if there is a need to show the data to third-party partners like investors, customers. In this case, it is necessary to take care that the system has the exporting in a convenient and beautiful format.
    2. Exporting tasks. In this case task data itself (usually in pdf or xlsx format) is exported. If this function is required, it is necessary to check that it is possible to download all the data, that you're interested to see in the file.
    3. Search and filtering. It should be available and comfortable.
    4. Search. This is a possibility to find all the tasks where the text entered by the user is mentioned in any field. When working in the task management system, search is rarely used, nevertheless, it should work for all task fields and display the results in a convenient format.
    5. Filtering. This is a possibility to create a list of tasks with the specified parameters. For example, to see all the tasks in the Active status, created from the beginning of the month by a specific user. Think in advance what filters will be needed in the daily work and make sure that the system can use them.
  6. Search and filtering. It should be available and comfortable:
    1. Search. This is a possibility to find all the tasks where the text entered by the user is mentioned in any field. When working in the task management system, search is rarely used, nevertheless, it should work for all task fields and display the results in a convenient format.
    2. Filtering. This is a possibility to create a list of tasks with the specified parameters. For example, to see all the tasks in the Active status, created from the beginning of the month by a specific user. Think in advance what filters will be needed in the daily work and make sure that the system can use them.
  7. User-friendly interface to perform tasks. It is important to think about what kind of information about the task and what actions should be available to the user in the first place, so it could be convenient to use the system. If the process involves multiple users with different roles, it is necessary to make sure that it will be convenient to carry out the functions for each role. For example, a developer needs to see all the tasks assigned to him, regardless of the project. A quality assurance engineer should see all of the tasks for the testing, regardless of the person who performs this task. So, the application interface must work in a way to be able to get both lists. Or an employee who is responsible for the execution of the contract with the customer is mainly interested to see customer contacts and the current status of the contract. A person responsible for the calculation of the budget is not interested in contacts, but in all the financial indicators in already existing or planned contract. So, it should be possible to show / hide certain fields in the list, depending on the user.
  8. Security and confidentiality of data. Before the implementation, decide whether your company has specific security requirements and data privacy. Available options are:
    1. SaaS solutions. The application and all your data are completely on the side of the application vendor, you do not have direct access to databases. This option does not require any special technical knowledge and everything works just out of the box. The app is automatically updated with the release of new versions by the vendor, you do not have access to the application. All users can access via browser. Often this is enough.
    2. Installing applications and databases on the cloud server systems. A vendor gives you an application that is installed on the cloud based server which is leased by your company. This server does not belong to you and is at the vendor's side, but you have full access to the application and data located there. Such servers usually have rather adequate default settings or provide technical support for setting up. However, you will need a technician to adjust the infrastructure. The application will not be updated automatically, you will have to carry out technical works to obtain and install the new version . In this case, access may be via browser (web application) or each user will have to install the application to the computer (desktop application).
    3. Running the system on company’s own servers. A vendor offers you an application that can be installed on the company's own server. This is the safest option, but also the most difficult. To do this, you should have the staff responsible for the setting up and maintaining the necessary infrastructure. In case of incorrect (unskilled) configuration of servers this option may be more vulnerable than the use of cloud systems. In the rest, this method is no different from the use of cloud based servers.

How to decide, which system should be implemented

Thus we have an approximate list of functionality that you plan to use in the work. And only now you can choose a particular system to manage tasks. What are the options?

  1. Choosing a turnkey solution.
  2. Ordering development of a web based task management software.

Choosing a turnkey solution

These days there are turnkey solutions virtually for any standard type of tasks and it makes sense to look at them in the first place. Hundreds of different applications has been developed for CRM, task management for software development, documentation management, orders recording, warehouse operation, production and other important individual processes. So it is more likely that you will be able to find the one that is right for you.

Cases, in which you can choose a turnkey solution:

  1. You can use this solution to cover 80% of the functions (and 100% of the basic workflow) that you have defined in the previous stages.
  2. The selected turnkey solution has the appropriate installation method.
  3. You understand how to implement the system or vendor team offers support in the implementation process.

Advantages of turnkey solutions:

  1. Price. Almost always the use of a turnkey solution will be cheaper than developing your own web based app.
  2. Standard processes. System developers have studied the experience of many companies with similar objectives and offer the best solution to their opinion.
  3. Implementation time. After choosing the system, implementation time depends only on the employees of your company.

Disadvantages of turnkey solutions:

  1. It cannot be changed. If the system does not have something, you will have to put up with this. This is actually the main and often decisive disadvantage.

Ordering development of a web based task management software.

It is worth to think about how to make a custom task management software only after you are convinced that a suitable solution does not exist.

Cases, in which you can choose to create a custom task management software:

  1. A company is engaged in the activity that is rare or strictly regulated by law (or contracts with partners). In such cases, you will not be able to use turnkey solutions, which are 80% suitable, and do the rest manually.
  2. Company has the resources (time and money) to develop its own solutions.
  3. There is a person responsible for the development tasks definition and accepting of the ready system in the company. It is important that the employee fully understands all the processes that should be automated. Technical training is not required, but at least a basic level of knowledge is highly desirable.

Advantages of the web based task management software development:

  1. 100% task coverage. The system will fully meet your requirements and processes.
  2. Possibility to change. There will be a possibility to make necessary changes to the system work.

Disadvantages of the web based task management software development:

  1. Price. Almost always, task management software development cost will exceed the cost of the same turnkey solution.
  2. Implementation time. It will take more time to build a task management software on your own.


As our practice of the online task management system development shows that the most important thing is to decide what you want to obtain before the actual start of the implementation of the turnkey solution or making a software for a task management on your own/outsourcing it. For business, a clear understanding of the problem is more than half success of the future program. The process of considering the future system usually takes a lot of time and requires the solution of many fundamental problems, but it's worth it. It will actually save you money, time and nerves during the process of implementation (and remaking) in the future.

Subscribe for the news and updates

More thoughts
Feb 16, 2022Business
How do Free Apps Make Money and How to Monetize a Web App

Get to know how do free apps make money. Develop your free web app wisely and monetize your success.

Sep 21, 2021Business
Billing Software Development: How to Build Your Own Custom Invoicing Software

Trying out multiple invoicing software options is an expensive investment. No third-party tools will fit your company’s needs as well as a custom one would ✓ In this article, we’ll talk about how to create an invoicing software and share our development insights.

Nov 13, 2020Business
Factors Determining the Cost to Build a Minimum Viable Product

Minimal Viable Product is almost a must-have for a startup. It can help you persuade investors to finance your new project, obtain real feedback and not waste a fortune. Though development costs vary greatly, this article gives you a roadmap to figure out your MVP price.

Jun 22, 2020Business
In-house vs. Outsourcing Software Development: What Is the Right Choice?

Wondering about the difference between in-house vs. outsourcing software development? ✓Read this article to get more details now!

May 5, 2020Business
10 Best Ways for Finding Great Software Developers

Everybody wants to get experts to work on their projects. However, it is not easy to find a professional software engineer. We can show you the best ways to find software developers!

Apr 14, 2020Business
Why is a Minimum Viable Product (MVP) Important for Software Development?

A minimum viable product is a way to validate the demand for your project idea. Here are the main types and benefits of designing an MVP in software development.