I've used computers for many years in many ways. I've developed software for them, used software tools, supported computers on a local network and helped users with computer problems. During that time I've seen software used in many different ways by different users. A common problem I've seen is users excited about using a software tool at the start of a project only to lose interest and fall back to older software or real world tools. The chosen software didn't work as expected and it is easier to fall back on old methods of doing a task.
Part of the problem is the selection of a software tool for a task. There are many software companies who spend a lot of money to convince users their software will definitely solve all of their problems. The advertising portrays an ideal world where every problem, big or small, is easily fixable while using their product. This advertising doesn't show how the working environment, number of users, user skills and other factors have an impact on how well the software tools work in the real world. Unfortunately, software is often selected by businesses and deployed without sufficient planning or support. The software is used less while the users develop workarounds to get their work done on time. The intended improvements are lost due to inability to use or lack of interest in the deployed tools.
Based on my experience, there are some things to consider when choosing a software tool for a project. This is a short list of things to consider before purchasing software for tasks.
1. Understand the problem you need to solve with a software tool - This may sound simple but I've seen many people select software before they have a good grasp of the problem they are trying to solve. For example, I've worked with technical writers in developing technical manuals. One of the first tasks is defining an outline for the manual. The outline is used as a starting place for developing the content for the manual. The outline can also be used for planning work, assigning writers and track progress on the manual development. During the project the outline will get updated with new content or some content may be removed from the final manual. By analyzing what data is collected, it helps to define the tasks. This task definition can help in selecting the right kind of software to manage the outline and the work. Based on these tasks, the following work would occur during the project.
a. Develop Technical Manual Outline
b. Monitor Development Status
c. Assign Tasks and Schedule Milestones
d. Track Issues stopping the development of the technical manual content
An quick and easy method of performing all of these tasks in one document is to create an Excel document for the outline. The outline of the manual is listed and columns are used to show who is working on the content and how much of the content is complete. Another column is used for notes about issues for sections of the manual. For smaller projects and teams this would probably be a good tool to use.
For larger teams and projects this type of document can be harder to use. A large outline and multiple people using the document could cause conflicts in the status and assignments. If multiple people are editing the document at the same time, they may overwrite sections if there is not good communication between team members. Multiple software tools might be more useful for outlining the manual and tracking work assignment.
2. Number of people working on project -After defining the problems to be solved, a team might decide to use multiple tools to help in completing tasks. The following is a list of software that could be used to solve the problems.
a. Work assignment and Schedule Milestones - MS Project
b. Issue tracking - Jira or other issue tracking software
c. Technical Manual Outline - FrameMaker, Word or a Content Management System (CMS)
d. Development status - A dashboard in a CMS, charts in PowerPoint updated from MS Project
However, for a team of 2-3 people, these tools would be cumbersome and require more time to maintain them than spent on developing the manuals. For a team of 4-8, one or two of these tools might make sense, but the others would not add benefit. For larger teams, these tools would be required and there would be a separate team maintaining them.
3. Weigh the benefits versus the costs for the project - After defining the problems and the number of people working with the tools, the costs are weight against the potential benefits. Every tool will require some cost, either money or time, to deploy and use the tool.
Using a new tool can require purchasing the software, people to set it up, training for users and support time for when the tool doesn't work. Or it may require time by one person to maintain the information stored in the tool.
Our team uses version management software for maintaining our technical manual files. There is a cost to supporting this type of software and supporting users when they have problems. However, the use of the software has reduced issues with lost or incorrect versions of files. In our case, the benefits of using version management software, reliability and a controlled directory structure, outweighs the cost of maintaining the version management server, user support and training. If our team only dealt with projects with only one file and a single version, the version management software might not make sense for our needs.
This list is a starting point for evaluating what software tool might be the best fit for a project. When selecting software, the focus should be on tools that support the project goals. With a little analysis at the start of a project a better set of tools can be selected and used in ways that help get work done instead of getting in the way of the work.
Pictures by J.T. Harpster, prints of selected photos can be found at our Redbubble shop
Help support our work on Patreon, get access to short stories and news about Shell Creek Publishing.