Any Tips on Remembering What You Did Last?

  • (2 Pages)
  • +
  • 1
  • 2

18 Replies - 2752 Views - Last Post: 27 November 2012 - 01:25 PM

#1 toad87  Icon User is offline

  • D.I.C Head

Reputation: 8
  • View blog
  • Posts: 188
  • Joined: 21-May 12

Any Tips on Remembering What You Did Last?

Posted 22 November 2012 - 09:29 PM

When I'm working on a project I have productivity problems when I stop and start again. Especially if it's been a day or two since I worked on the project last.

It usually takes me 15-20 minutes of going through my code to get me to remember what I was doing.

Do you guys have any tips that would help me become more productive right when I start working on a project again?
Is This A Good Question/Topic? 0
  • +

Replies To: Any Tips on Remembering What You Did Last?

#2 modi123_1  Icon User is online

  • Suitor #2
  • member icon



Reputation: 9392
  • View blog
  • Posts: 35,273
  • Joined: 12-June 08

Re: Any Tips on Remembering What You Did Last?

Posted 22 November 2012 - 09:34 PM

You have a software design doc, right? A list of functionality you want in it which should lead into some sort of breaking down of items and tasks to code up, right? Something that says "when X, Y, and Z are done the project is done"? You should be checking these things off, and at worst supplementing this order of operations with a spiral notebook to keep notes of what you are doing, design choices, and why.
Was This Post Helpful? 0
  • +
  • -

#3 AdamSpeight2008  Icon User is offline

  • MrCupOfT
  • member icon


Reputation: 2268
  • View blog
  • Posts: 9,482
  • Joined: 29-May 08

Re: Any Tips on Remembering What You Did Last?

Posted 22 November 2012 - 09:42 PM

If you start a comment in VS with ToDo it'll appear in the Tasks List window.


' ToDo: Write the code.


Was This Post Helpful? 1
  • +
  • -

#4 tlhIn`toq  Icon User is online

  • Please show what you have already tried when asking a question.
  • member icon

Reputation: 5582
  • View blog
  • Posts: 11,941
  • Joined: 02-June 10

Re: Any Tips on Remembering What You Did Last?

Posted 22 November 2012 - 09:55 PM

Sometimes I disable GUI elements until the code behind is done.
If I see 3 disabled buttons then I know "Oh, yeah - I need to write the code for x, y, & z"

A program like ToDoList is good for not only outlining all the planned steps, but tracking the time consumed on each part. (As Modi phrased it, a design doc/list)

I also write an ongoing email to my boss, outlining what I've done throughout the day. Not too much detail to make the email a hinderance, but the bullet points. Just reading yesterday's log is enough to remind me (inform me?) of what's next.
Was This Post Helpful? 0
  • +
  • -

#5 toad87  Icon User is offline

  • D.I.C Head

Reputation: 8
  • View blog
  • Posts: 188
  • Joined: 21-May 12

Re: Any Tips on Remembering What You Did Last?

Posted 23 November 2012 - 12:43 AM

Do you guys do comments as you're programming? IS that normal? I usually just do all my comments as I finishing up the project...Omg...Maybe that's why I've been taking forever on my projects!

I thought adding comments while I in my flow would be counter productive.
Was This Post Helpful? 0
  • +
  • -

#6 Tayacan  Icon User is offline

  • D.I.C Regular
  • member icon

Reputation: 145
  • View blog
  • Posts: 275
  • Joined: 18-January 11

Re: Any Tips on Remembering What You Did Last?

Posted 23 November 2012 - 03:18 AM

I'll usually comment a class/method/whatever when I think it's done. Also, for larger projects, I like to use a tool like Trello to make a sort of pipeline - I'll have lists like "Todo", "In progress", "Debugging" and "Done", and then I'll move tasks around the lists. That way I always know that if something is on the "In progress" or "Debugging" lists, I should probably finish those before starting something new.
Was This Post Helpful? 0
  • +
  • -

#7 cfoley  Icon User is offline

  • Cabbage
  • member icon

Reputation: 2045
  • View blog
  • Posts: 4,233
  • Joined: 11-December 07

Re: Any Tips on Remembering What You Did Last?

Posted 23 November 2012 - 06:29 AM

I follow a productivity system called GTD. It's great for helping you pick up from where you left off. Here are the specific parts that apply to my time spent programming.

My project plans usually take the form of a mind map. I take my yellow* highlighter and highlight all the features that comprise the first iteration. When this iteration is done, I expect to have a fully functioning (if limited) program.

The highlighted parts tend to span the whole mind map. It's going to include the main feature, some sort of user interface and probably some IO. As I complete each feature I take my green highlighter and cover over the yellow.

Implementing a feature usually involves several steps. I take a page in my spiro notebook and write down all the steps I can think of. Some I can do right away, others need to wait till their prerequisites are done. The ones I can do get highlighted in yellow. These are my next actions.

As I work through the tasks in yellow, three things happen:
  • I finish a yellow task and highlight it in green. (This is usually a good time to commit to version control).
  • I think of a bunch of new tasks for the current feature** and write them down, highlighting in yellow as appropriate.
  • Unhighlighted tasks become available and I highlight them in yellow.


Eventually, all the tasks become highlighted green and that feature is complete. I mark it green in my project plan and repeat the steps for the next feature.

When the first iteration is finished, I go back to my project plan. I can either choose to leave the project and move on to something else. After all, I have something useful that works and my plans for expansion if I ever come back to it. More likely, I'll choose a set of features for iteration 2 and repeat the process.

Why does it work?

Specifically, how does it help with toad87's problem of returning to a project after a break?

My plans and actions and colours show me:
  • what I have just finished doing (green in actions)
  • everything I have accomplished so far (green in project)
  • where I am heading (yellow in project)
  • the very next thing to get me going again in the correct direction (yellow in actions).


This overview, at a glance, reminds me of everything about my project. The colours on the mind map remind me of the feel I had before I stop. Even if I have forgotten a lot about the codebase, the next actions guide me in where to look and by the time I have finished an action or two, I'm up and running at full speed again.

For a long time, I laughed at people who used different colours of pens and highlighters. But I have found the colours add an extra dimension to my notes, one that the human brain is great at understanding in an instant. You really can get a lot of information just by glancing at a page.

One thing I didn't mention (because it's not directly relevant) is that if I ever decide an action or feature is not worth doing any more, I colour it pink. I's just as useful to see what I'm not doing as it is to see what I am doing.

* The colour is important. Yellow = next, green = done, pink = trashed.

** GTD requires ubiquitous collection. If I think of something for another feature or even something unrelated, I write it on a scrap of paper and toss it into my inbox.
Was This Post Helpful? 0
  • +
  • -

#8 creativecoding  Icon User is offline

  • Hash != Encryption
  • member icon


Reputation: 927
  • View blog
  • Posts: 3,209
  • Joined: 19-January 10

Re: Any Tips on Remembering What You Did Last?

Posted 23 November 2012 - 06:53 AM

Or you know... you could write down your tasks on a stickynote or in a file.

Quote

Today I need to get done...
Create buttons on form
Implement Add Friend feature
Implement Remove Friend feature


And then cross it off/check off when you get done with the feature. This will help keep you focused at what you need to be doing and you can also look back at it and remember "oh yeah, I did X and Y to do that".

This works especially well if you use Git, because if you follow this well each commit should only to be to add that feature you were working on. You can use git diff to view the difference between code for a certain day and you can see all of the functions/changes you made. This works especially well if you use Github as well. Github will make it easy to view these changes/commits.
Was This Post Helpful? 2
  • +
  • -

#9 cfoley  Icon User is offline

  • Cabbage
  • member icon

Reputation: 2045
  • View blog
  • Posts: 4,233
  • Joined: 11-December 07

Re: Any Tips on Remembering What You Did Last?

Posted 23 November 2012 - 07:05 AM

That's essentially the same as my approach except...

You probably have a master list of actions somewhere and copy them into daily lists. That sounds equivalent to my highlighted and non-highlighted actions but there is an important psychological difference. Events have a habit of stopping you doing what you intended. Maybe one feature took longer than expected or your boss stopped by your desk and gave you an urgent task you had to spend the rest of the day doing. In these situations, you don't get your daily list finished which is demoralising.

If you don't have the master list (and I don't know if you do or not) then it's more difficult to get back into the project after a break because you will have forgotten all the things you wanted to do.
Was This Post Helpful? 0
  • +
  • -

#10 toad87  Icon User is offline

  • D.I.C Head

Reputation: 8
  • View blog
  • Posts: 188
  • Joined: 21-May 12

Re: Any Tips on Remembering What You Did Last?

Posted 23 November 2012 - 12:10 PM

Wow these are great tips guys. I think my main problem is improper planning.

I usually just skim over the project requirements and then dive right in. I'm going to start making to do lists before I start working and check or highlight them as I'm finishing them.

Can't wait to try this out with my next project!

Thank you.
Was This Post Helpful? 0
  • +
  • -

#11 jon.kiparsky  Icon User is online

  • Pancakes!
  • member icon


Reputation: 7882
  • View blog
  • Posts: 13,394
  • Joined: 19-March 11

Re: Any Tips on Remembering What You Did Last?

Posted 23 November 2012 - 01:27 PM

If you start out by breaking the problem down to its component parts, you pretty much solve this problem: just enter each of those components into your bug tracker as "X not yet implemented". Now you can use the same system you'll use later when you find errors in implementation, prioritizing, tracking dependencies, etc.
Was This Post Helpful? 0
  • +
  • -

#12 Sergio Tapia  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1253
  • View blog
  • Posts: 4,168
  • Joined: 27-January 10

Re: Any Tips on Remembering What You Did Last?

Posted 23 November 2012 - 06:50 PM

Asana + breaking down tasks into smaller tasks = productivity.

At least for me. :)
Was This Post Helpful? 0
  • +
  • -

#13 BenignDesign  Icon User is offline

  • holy shitin shishkebobs
  • member icon




Reputation: 6180
  • View blog
  • Posts: 10,683
  • Joined: 28-September 07

Re: Any Tips on Remembering What You Did Last?

Posted 27 November 2012 - 07:14 AM

I write down the project, the date, any files I was working with at the time, and a note about what I was actually doing when I stopped.

Then I attach the Post-It to the hutch above my desk for easy access when I finally get back to what I was doing.

Works. every. time.
Was This Post Helpful? 0
  • +
  • -

#14 no2pencil  Icon User is online

  • Admiral Fancy Pants
  • member icon

Reputation: 5364
  • View blog
  • Posts: 27,325
  • Joined: 10-May 07

Re: Any Tips on Remembering What You Did Last?

Posted 27 November 2012 - 07:37 AM

I don't know about you, but I actually plan out my projects. Thus I don't need to "remember" where I left off, because I'm following an outline anyhow.
Was This Post Helpful? 2
  • +
  • -

#15 Sergio Tapia  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1253
  • View blog
  • Posts: 4,168
  • Joined: 27-January 10

Re: Any Tips on Remembering What You Did Last?

Posted 27 November 2012 - 07:47 AM

That doesn't always work, especially if you're a web developer. The client wants changes fast and you have (and can!) give it to him faster than ever these days.

I don't even want to remember how it was before services like AppHarbor and Heroku existed. I just `hg push` code and it's live on the clients site.

This post has been edited by Sergio Tapia: 27 November 2012 - 07:49 AM

Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2