Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

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've been trying for years to come up with a good way to organize the massive amounts of notes and material I generate when designing, coding, and testing software. My desk is usually overflowing with tons of sheets of paper with notes scrawled all over them. I've usually got at least the following items spread out all over these sheets of paper:

  1. To-Do lists
  2. Required features
  3. Bug Descriptions
  4. Program flowcharts
  5. All sorts of design documents and diagrams, ranging from function design to overall program architecture
  6. Use cases
  7. List of test cases to design
  8. Design questions that need to be answered in certain parts of the program

I'm pretty good at coding, but haven't learned how to manage my projects yet, since I'm still a student in school. I want to learn these skills, however, because I know I'll need them in future jobs that require greater organization skills.

What techniques, programs, methodologies, etc. can I use to become better organized when designing software? If you suggest any programs, I would prefer free software, since I'm a poor college student. :) Thanks in advance!

share|improve this question
This question might be better suited for the Project Management SE site. – Bernard Feb 23 '12 at 23:33

Take the bullet points in your question, and make a manilla folder for each one.

Put all of the manilla folders in one of those green hanging folders, and label the green folder with the project name.

That's it.

share|improve this answer

Oh boy is this a big topic. Some general thoughts on where to begin...

1) Start with something to get things under control. Don't worry about perfection, just start and tweak.

2) Excel is your friend. It can do 80% of what you need with 20% if the work, and that 80% will be easy to keep internally integrated.

3) Traceability is a good starting point. Everything you do shoul map to a benefit, requirement, design, set of code and test. You can use different names and phases but the core idea is to track what you need to do through the whole chain of activities.

4) Track every commitment, issue and risk in an online list.

This will get you started. If you have more specific questions, let me know.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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