This article first appeared in IEEE Software magazine. IEEE Software offers solid, peer-reviewed information about today's strategic technology issues. To meet the challenges of running reliable, flexible enterprises, IT managers and technical leads rely on IT Pro for state-of-the-art solutions.
This column marks the end of a 10 year period over which the Tools of the Trade department has been appearing in IEEE Software. As of the next issue, its editor will be writing a department nearer to the magazine’s front page, so it seemed like a good opportunity to summarize what this column has presented over the years.
This was done by first organizing the material into a mind map and then laying out the results in the two gures that appear in the following pages. Both gures also appear on the column’s blog with hyperlinks to each column’s text and in a format that can be printed as a poster.
Figure 1 categorizes the major points of each column into information, opinion, and prescriptive guidelines. The information and opinion elements are grouped into eight broad themes: design, writing code, building, tooling, operations, working with others, professional advancement, and software process.
The presented guidelines add debugging, performance, and avoiding errors into the mix. Many columns offer additional guidelines, often in a “Best Practices” section. The titles appearing at the gure’s center end with the issue and volume number in which the column appeared.
(Click on the image to enlarge it)
FIGURE 1. Major points of each Tools of the Trade column. The information and opinion elements are grouped into eight broad themes: design, writing code, building, tooling, operations, working with others, professional advancement, and software process.
Figure 2 associates specific indicative tools with corresponding elements (such as “Continuous integration”). Search the Web for the names of a few tools appearing together, and you’ll find comparisons, extensive lists, and more related material. Not all tools appearing in the gure were mentioned in the columns, and many tools deserving a listing are missing. Nevertheless, if none of the tools in a specific category rings a bell, read the corresponding column to see how you can benefit from them.
(Click on the image to enlarge it)
FIGURE 2. Themes and tools. Not all tools appearing in the gure were mentioned in the columns, and many tools deserving a listing are missing.
Back in 2005, the first column in this series lamented our industry’s underspending on tool development. Ten years and 60 installments later, it seems that the first column was overly pessimistic. We’re blessed with many powerful tools that can enhance our work’s quality and our own productivity. The real challenge is getting to use them.
Acknowledgments
The column editor gratefully acknowledges the support of the following people, who have contributed informal reviews and insightful feedback over the past 10 years: Yiorgos Adamopoulos, Achilleas Anagnostopoulos, Dimitris Andreadis, Phillip G. Armour, Giovanni Asproni, Steve Berczuk, Grady Booch, Christian Brueffer, Wilko Bulte, Bryan Cantrill, Damianos Chatziantoniou, Konstanti- nos Christidis, Al Davis, Theodore Dounas, Julian Elischer, Ruslan Ermilov, Martin Fowler, Marios Fragkoulis, Jiannis Georgiadis, Robert Glass, Dimitris Glezos, Georgios Gousios, Junio C. Hamano, Poul-Henning Kamp, Panagiotis Kanavos, Vassilios Karakoidas, Isidor Kouvelas, George Kyriazis, Panagiotis Louridas, Christos KK Loverdos, Dimitris Mitropoulos, Marcel Moolenaar, Mark Murray, George V. Neville-Neil, Ioannis Nikolaou, Panos Papadopoulos, Colin Percival, Wes Peters, Nancy Pouloudi, Vassilis Prevelakis, Linda Rising, Greg Schueler, Hellen C. Sharp, DagErling Smørgrav, Henry Spencer, Kostas Stroggylos, Alexandra Vassiliou, Robert N.M. Watson, Greg Wilson, Rebecca Wirfs-Brock, Alexios Zavras, and George M. Zouganelis. In addition, the column would not have been possible without the dedication and support of the IEEE Computer Society staff, in particular, Brian Brannon, Brooke Miner, Crystal Shif, Jennifer Stout, Dale Strok, Dennis Taylor, and Jennie Zhu-Mai. Finally, the editor wholeheartedly thanks Warren Harrison for providing him the opportunity to write this column, as well as Hakan Erdogmus and Forrest Schull for supporting it through their terms as the magazine’s editor in chief.
About the Authors
Diomidis Spinellis is a professor in the Department of Management Science and Technology at the Athens University of Economics and Business and the author of the books Code Reading and Code Quality: The Open Source Perspective (Addison-Wesley, 2003, 2006). Contact him at dds@aueb.gr.
Stephanos Androutsellis-Theotokis studied at Imperial College London, Johns Hopkins University, and the Athens University of Economics and Business. He is a software engineer.
This article first appeared in IEEE Software magazine. IEEE Software offers solid, peer-reviewed information about today's strategic technology issues. To meet the challenges of running reliable, flexible enterprises, IT managers and technical leads rely on IT Pro for state-of-the-art solutions.