Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have been in this problem for long time and I want to know how it's done in real / big companies project?

Suppose I have the project to build a website. Now I divide the project into sub tasks and do it.

But you know that suppose I have task1 in hand like export the page to pdf. Now I spend 3 days to do that , came across various problems, many Stack Overflow questions and in the end I solve it.

Now 4 months after someone told me that there is some error in the code.

Now by that I completely forgot about (60%) of how I did it and why I do this way. I document the code but I can't write the whole story of that in the code.

Then I have to spend much time on code to find what was the problem so that I added this line etc.

I want to know that is there any way that i can log steps in completing the project. So that I can see how I end up with code, what errors I got, what questions I asked on SO and etc.

How people do it in real time? Which software to use?

I know in our project management software called JIRA we have tasks but that does not cover what steps I took to solve that tasks.

What is the best way so that when I look back at my 2 year old project, I know how I solve particular task?

share|improve this question

marked as duplicate by gnat, GlenH7, MichaelT, Kilian Foth, Bart van Ingen Schenau Aug 2 '13 at 14:17

This question was marked as an exact duplicate of an existing question.

If you forget what and how you did, you aren't professional enough. If you don't care about spelling in your question, the answer is still the same. – Deer Hunter Aug 1 '13 at 5:02
"JIRA... does not cover what steps I took to solve that tasks" -- that means you use it wrong. In my experience, this has been one of the most convenient tools to cover what steps I took to solve that task. Hint: learn about purpose of comments in jira – gnat Aug 1 '13 at 7:01
You keep a project diary. Use any word processing software, or better yet, a paper notebook. – Gilbert Le Blanc Aug 1 '13 at 13:10

If you are programmer, and want to remember why you wrote some piece of code(and you are very serious about it), then write unit tests(specifying the behaviour of the code) and functional tests(specifying behaviour of the modules). This will not only help you to have specifications right there with the code and also will allow you to make big changes without producing any regression issues. I can go on stating the advantages of unit and functional tests , but you will only realize their importance once you actually start writing them. Initially it will take some time writing unit tests , but trust me that will be way less painful and time consuming then solving the regression issues. And Jira do cover steps taken to make a feature , you can configure it to automatically attach commits made to solve a ticket to the ticket. In our project we have configured it in such a way that if someone is commiting code to solve a ticket say HT-121 , then every commit with "HT-121 " in it is dirctly attached to that ticket. SO what code went for what commit can always be tracked with jira.

share|improve this answer
this post is rather hard to read (wall of text). Would you mind editing it into a better shape? – gnat Aug 8 '13 at 7:20

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