The demand for computer software applications steadily increases as numbers of users, problem domains, and application areas grow the need for good tools to support the myriad of activities that occur during software development is thus greater than ever. This article provides an overview of current practice in software tool features and usage. It also surveys research work in the area of software tools, indicating recent and likely near‐future trends in tools development. A section outlines recent directions in software process evolution, product domains and people management. As different software tools are used throughout the software process for different activities, changes in processes, products and project organization have introduced a variety of new demands on tools and tool developers. A categorization of software tools aligned with software process activities is then presented, including examples of tools in the various categories, along with a brief explanation of common terms used to describe software tools. We describe key elements of the structure of software tools, ranging from repository and data management to multiple‐view presentation and editing. We then focus on the key issue of tool integration, outlining current approaches to integration, current research trends, and likely near‐future integration support in software tools. We describe various strategies for supporting collaborative work with different software tools, facilitating improved teamwork with tools. We review and discuss current research, practice, and likely trends in automated support in software tools, alleviating developers of tedious tasks and helping manage ever‐growing software complexity. We conclude with a summary of some important factors in successful tool development and deployment.