In my last post, I talked about how work reinforced my an idea. I saw a problem and dreamed of a solution. The job is also useful for other learnings as well. On the technical end, work taught me about the tools and techniques I applied to the development of anyInput. For example:
- Source Control - Essentially, you check out a file, modify the file and check the file in. For small projects the usefulness of source control is in seeing what other people changed and reverting back to a previous version just in case you screw things up. At work we use, Rational ClearCase.
- Issue Tracking - I know you probably have a great memory that can remember more than 7 things at a time. However, most people cannot remember more than 7 things at one time. Often you need to remember 100s of issues for your project. Whenever you have thought of an enhancement or notice a defect you should enter it in your issue tracking system so you can address it in the future. We use Rational ClearQuest at work customized for each project.
- Test Methodologies - My first software product was built in Visual Basic 6 and was not tested at all. anyInput was tested very throughly. Testing at work taught me how to identify the weak points in the software using requirements as a guide. At work the testing is still done with manual test cases so we just use Microsoft Word. Eventually, I hope they move to automated tools such as Silktest or WinRunner.
Sure, any of these tools or techniques may slow you down. However, in the end, they benefit you greatly especially as the amount of people working on the project grows.
I know there is a lot of other useful tools and techniques out there. Have any in mind?