Software Development Tools Taxonomy

Introduction

This taxonomy is very much a work in progress. I can guarantee that this taxonomy will evolve and change. The taxonomy will grow as the classes of tools classified expands to meet all of the “niches” which the development software environment contains.

This represents one of the starting steps in the development of Software Architecture for area I’m working in. My view on a Software Architecture is that encompasses the tools, as well as the architecture of the solutions within the architecture.

What does the Tools Taxonomy lead towards, in the development of an architecture? There are number of elements of software architecture which flow from having a Tools Taxonomy. These elements of a software architecture which include:

Some degree of control over the tools used in the group.

The taxonomy allows for the identification of the toolset which is preferred for development. A degree of control over the toolset used can be important in any the software development group. There are number of direct benefits which can flow from having a good understanding of the tools portfolio of a development group which include:

minimising of the costs of team members moving between project teams, by using the same set of tools is projects is an important goal.

Rationalising the number of tools used in the group, and hence the licence costs for tools. This can only be realised when you have the luxury of being able to rationalise the toolset being used.

The Tools Taxonomy is needed if you wish to map systems which the teams develops, or maintains, to the tools which are used in the construction of those systems. This is import if you ever need to do an impact analysis of removing, or upgrading, a tool.