Tools for every project

Written by James on Monday, 2 of July , 2007 at 12:28 pm

The following list of tools are useful for practically every software development project - onshore or offshore, distributed or local. Often, however, these tools are overlooked and a lot of time gets wasted trying to solve problems that could have been solved or mitigated by good tools. Let’s take a look at an overview of these time and headache saving tools. Follow-up articles will explore best practices about each tool more in depth.

Version Control
Imagine having a time machine for your project, allowing you to go back to any point and time and see exactly what the project looked like - the tests, the documentation, the code, the databases - everything. Even better, this time machine would let you change the past and investigate alternative futures by creating parallel time lines which could then be merged together! This is not fantasy or a scene from Back to the Future, it’s version control. It seems fundamental, but there are still many large software projects out there not using version control. Probably the best version control system available is Subversion.

Project Task Tracking Tools
How much smoother would your project be if bug reports, feature requests, and other “to do” items for your project suddenly stopped falling through the cracks? Stop scribbling notes on napkins and trying to sort through multitudes of email. Just put everything in one of the many (seemingly thousands) of well-design tracking system out there. A good tracking system can accept requests via email, allows assignment of tasks, and let’s you easily set priorities - even on multiple projects.

Test Automation Tools
Wouldn’t it be nice if, at the push of a button, you could execute every single test written for your project at super-human speed? While you went and got coffee? That’s what test automation tools can help you do. Of all the different categories of automated testing, unit testing is perhaps the most fundamental. Start there, and work your way up to more complex tests.

Build Automation Tools
Imagine always knowing, with confidence, how the changes from this week affected the changes from last week. Imagine if the latest features of your software were built and tested by the time you woke up each morning, before you even knew you’d have to give a demo that day. If you were making use of one or more good build automation tools, you could have that.

Wiki
Wikipedia has managed to document the majority of human knowledge in a vast online database. Case an point: every external link in this article is to Wikipedia. Wouldn’t it be nice if your project’s documentation was that good? If a bunch of anonymous internet users can do it, so can your team of professionals.

Comments (3)

Category: Best practices, Agile, Automation, Version Control, Quality Assurance

Copyright © 2007 Art of Progress LLC