Logo Blog-button Contact-button

Sweet development love stories

13
Jan
2010

Collect | Organize

by Vishu

Separate the collection of ideas from getting them organized. If you don’t know where to put something, just hit enter and start typing. You can organize it later. It’s like editing your writing or refactoring code.

So, you’re taking notes on the computer with your favorite outliner. Someone says something and you don’t know where to put it. What do you do? If you freak out or hesitate, someone else is going to say something and you’ll fall further behind and then be completely plurked.

I am awesome at taking notes during a meeting. Most of the time I can send out a useful outline with my notes within a couple of minutes. As you can imagine, it’s very valuable. My clients appreciate it and we often refer back to the outline.

If you want to be awesome at taking notes, the one thing you have to learn is: Collet | Organize: Separate collecting information from getting it organized and you’ll be better at both.

Thinklinkr helps me be more awesome at taking notes because I can both collect and organize. It’s efficient and I can switch back and forth during a meeting as the energy of the meeting ebbs and flows.

If you’re not used to using a tool that lets you both collect and organize (like if you take notes with paper where you can’t edit) you might feel pressure to organize up front. Don’t bother. It’s too hard. Trying to be organized too soon will completely freak you out. Don’t freak out. Just hit enter and start typing.

Collect can be frantic. Organize is cool.

Collect | Organize applies to a lot more than just note taking. Here are a my two favorite others: Getting Things Done and Test Driven Development.

Getting Things Done

Ever hear of David Allen’s book, “Getting Things Done.” I can, and probably will, write at length about this, but for now let me just say that the book describes a system for keeping track of all the things you have to do. For some reason it’s a magnet for programmers like me and my partner, Jason. We’ve each written our own implementations of his system.

Jason’s version had two prominent tabs. Guess what they were. His wife walked into the room and said “What are you working on? ‘Collect Organize?’ What does that mean?”

It means that David Allen observed the same pattern in personal productivity: separate the act of collecting all the things you want to get done from the act of getting them organized. If something pops into your head, make sure you can capture it right away. Then, later, process what you’ve captured and get it all organized.

Test Driven Software Development

Some people think “refactoring” is one of those made up words that we programmers use to confuse business people and make them give us money. “Hey business people – we need to do some refactoring here. I hope you’ve got some cash!”

That’s too bad because refactoring is one of the best ways to make better software. Here’s how it’s officially described: “Code refactoring is the process of changing a computer program’s internal structure without modifying its external functional behavior.” In other words, reorganize code without changing what it does.

Here’s how we take advantage of refactoring with Test Driven Development:
1) RED: Figure out what you want your code to do. Make a test. The test will fail because your code doesn’t do that yet.
2) GREEN: Write whatever code you need to to make the text pass
3) REFACTOR: Reorganize your code so it expresses your intent clearly

Perhaps you’ve noticed that step 2 is collect and step 3 is organize.

If you talk to people in software development, they’ll tell you that these tasks should be kept completely distinct. It should be like you have two different hats – one for adding features (Collect) and one for refactoring (Organize).



blog comments powered by Disqus

About

Sweet development love stories is the blog of thinklink, makers of thinklinkr and mocklinkr.

Subscribe

 Subscribe in a reader

Twitter

loading tweets...