Tool Features and Functions
Create a list of features and functions for the type of tool you are studying. In most cases the tool vendors provide
such lists. The table below shows a fraction of a list for configuration management tools.
Features & Functions
|
Versions all file system objects
|
Versions directories
|
Mixing of file types
|
Compresses text and binaries
|
...
|
Tool and Vendor Criteria
Collect information about each tool for the following criteria.
Tool
Criteria
|
Comments
|
Features &
Functions
|
The functionality that tool provides. This should be the overall conclusion of the 'Tool Features'
table.
|
Integration
|
The level of integration with other tools. How is information transferred between different tools? How
well does the tool fit with your existing tools, and other tools that you are evaluating. Level of
integration is often more important that features. Well integrated tools are more likely to be easier
to use and maintain.
|
Applicability
|
How well the tool support your delivery process. Do you have to change the way you work in
order to use the tool? Can you accept the trade-offs? Lack of applicability means that you may
have to change the way you work, "design-to-tools". But, this may be worth considering if the tool
has other strengths.
|
Extendibility
|
The ability to extend and customize the tool. Extendibility, is good since it means that you can
adapt the tool to your needs. However, make sure that it doesn't take too long time to configure the
tool, to make it work.
|
Team support
|
The ability to support a team of users. Does the tool support a team that is geographically
distributed?
|
Usability
|
The ease of learning and using the tool. Focus on the most common ways to use the tool. How long time
does it take to be productive using the tool? Is the tool suitable for people who will use it
infrequently? Be sure to look at the most commonly used functions. The fact that some rarely used
function is difficult to use, can often be ignored.
|
Quality
|
Depending on the kind of tool, the quality of the tool will determine the quality of the product you
are building. Quality is important, especially when if have direct impact on the product you
develop. For example, a compiler that produces slow code, or an HTML editor that produce bad
HTML.
|
Performance
|
The total effectiveness of the tool, including capacity, accessibility, and response times. Bad
performance may be acceptable if it affect functions or capabilities that are seldom used.
|
Maturity
|
The tool's level of maturity. Some organizations would not buy a version 1 of a tool from a new vendor,
regardless of how good the tool is supposed to be.
|
Vendor
Criteria
|
Comments
|
Stability
|
You risk your future on the future the vendor. How long has the company been in business? How stable is
the company? Are they investing in the tool? Is the tool in the main line for the company, or is it a
sideline?
|
Support availability
|
What support is available from the vendor, and/or potential partners? You may need help to install and
configure the tool, and continuous support for the users.
|
Training availability
|
What training is available from the vendor, and/or potential partners?
|
Growth direction
|
How well the tool supports the direction where your development is going. Consider what direction your
development is going. Will the tool support that direction, and other direction that you may want to
go?
|
Cost
The costs associated with acquiring and owning the tool, includes acquisition costs, implementation costs and
maintenance costs. Decide how many users you have and for how long period of time, you want to calculate the
cost.
Cost
|
Comment
|
Acquisition cost
|
The cost to purchase the tool.
|
Implementation cost
|
The cost to have the tool installed and integrated with your existing development environment. This
includes cost of training the users of the tool, both the users and people that will administer the
tool.
|
Maintenance cost
|
The on-going cost to make sure that the tool work and is used. This includes both the cost to
administer the tool, to handle upgrades, and the on-going training cost for both the people that
administer the tool, and the users of the tool.
|
|