Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

In my job I deal with several projects at the same time (and who doesn't?). Sometimes I have to make changes to a project which I dealt with half a year ago or even longer. And it's hard to recollect the details about the project. I usually look for the modification dates of the files, then I start digging into my email to find the relevant conversations. If the project is really small then it's not even in company's VCS. Sometimes it takes much longer to recollect the details of the project than to make the required change. I started using Onenote to keep track of relevant information about projects but I didn't succeed much in this, probably because I don't have a clear picture of how this knowledge base should look like.

It would be nice if I can use some automated tool which can connect relevant emails, source codes, bugs information and feature requests and time periods of different activities related to a particular project. With advanced search capabilities.

How do you keep track of this information?

share|improve this question

closed as off-topic by JeffO, Corbin March, gnat, Robert Harvey, MichaelT Aug 9 '13 at 0:35

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – JeffO, Robert Harvey, MichaelT
If this question can be reworded to fit the rules in the help center, please edit the question.

    
@BenMcDougall - The other question is about code organization only. –  JeffO Aug 8 '13 at 13:30
    
@JeffO - Okay, sorry. Didn't pay enough attention there then –  Ben McDougall Aug 8 '13 at 13:32
    
You can start by creating project folders somewhere on a network drive and accumulating project documentation yourself. You can also search for project documentation software, and see if anything fits your company's needs. –  Gilbert Le Blanc Aug 8 '13 at 13:40
    
possible duplicate of How do you organize your projects? –  gnat Aug 8 '13 at 15:16
    
If the project is really small then it's not even in company's VCS. - This is a BIG problem! If your company doesn't allow you, keep it in a local git repo and back it up. History management is critical! –  Daenyth Aug 8 '13 at 16:22

6 Answers 6

This isn't going to happen automagically. You've recongnized the problem; now you need to take the steps to find a solution (This question will get closed if you just want a list of possible apps.).

If the project is really small then it's not even in company's VCS.

This is the first problem. No such thing as being too small for source control.

Get away from email. All parties involved won't follow, so you'll need to transfer email from your client to some tracking app, but otherwise, requests, documents, bugs, etc. should be posted in a more central location along with your source code.

Although some apps may fit your needs better than others, it's more important to know the long-term problems you're creating by not being organized. If you think it is possible for such an app to exist, write it and make a lot of money.

share|improve this answer
    
+1. Email junkies can use a tracking app that accepts emails, stores them, and silently forwards them. They continue with an unchanged workflow (write and read emails) but the app is storing and organising them. –  MarkJ Aug 8 '13 at 17:23

I use nvALT. I store my notes as text files on a Dropbox account, so I can get at them from any computer or device.

I keep a note for each project with all the pertinent details. I also have an index page which is a list of links to these individual project notes. nvALT supports wiki-style linking between notes. Though nvALT's search engine is good enough that I don't really need it. Still, this lets you build up your own, free-form knowledge base very organically.

Pretty much every bit of I-might-need-this-later type information goes in nvALT now. I have about 300 notes in there now. I couldn't live without it.

Basecamp is a really useful tool for keeping project info in one place. Particularly useful, for your dilema, is you can forward emails into it (and it will automatically store any attachments from them). You can throw files at it, create text documents directly in it, create and assign todo list items, etc. It's pretty great for getting things out of email and into a central location.

share|improve this answer

I use OneNote to keep track of projects. All of my important emails pertaining to a project go into that project's folder in my OneNote notebook. (Outlook has a simple send to OneNote function for email).

Once I've put the email in OneNote, I delete it from my inbox. It helps me know what email I've dealt with, and what might need further attention. I have less than 30 messages in my inbox at any given time. The rest are either deleted as there's nothing for me to do with them, or put in OneNote as related to something I'm working on.

The great thing about OneNote is that it syncs to the cloud so it's available on all my devices. I haven't used it extensively, but I'd imagine that Evernote would be just as useful following this technique.

share|improve this answer
    
I'm also trying to use OneNote for this. i do not use outlook, but my email manager allows to drag and drop emails to OneNote. But I don't have any integration with version control and project files in my local folders. –  Max Aug 9 '13 at 10:30
    
Someone else recommended Git...I think that's a good option. Coupled with skydrive or dropbox and you've got history and backup in a perfect package. –  Mike Brown Aug 9 '13 at 19:02

The problem with tools is that you have to keep them up to date somehow. Seems like you are looking for an all-in-one device suitable for every purpose. Perhaps the problem lies in time management or self organisation.

Perhaps this would help: Getting things done

For personal track keeping I use a notepad and a kalender and it works just fine for me and I have quite a few projects running parallel. All ends up being self organising in the end.
Just got to go ahead and take the time to document your progress all the time.

share|improve this answer

You should talk about getting a place for small projects in your company's VCS, but at the very least you can put it under local git control. I've been known to put sample code I'm working on for 5 minutes for a StackExchange question under git source control. The effort really is negligible.

As far as related documentation, I keep that in a backed up folder with the name of the project on it. I just throw design documents, emails, datasheets, helper scripts, links to web pages, and notes all in one folder. If it gets too messy, I make subfolders.

I've tried purpose built organization solutions before, but always come back to folders, because of its simplicity and availability.

share|improve this answer

My three cents:

  • If your company policy allows it, you can use bitbucket - which provides private repos for free, along with bug tracker and wiki (with markdown).

  • use local git repositories (as suggested by Karl Bielefeldt in his answer)

  • I tend to have plain text file document in projects repository, where I put general notes (for simple projects)

Basically, I think any kind of VCS would help you to solve a lot of troubles.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.