views:

431

answers:

19

Ignoring the obvious (version control, bugtracking, SO);

What Tools Do You Think More People Should Use as part of their development process?

Are there any utilities/methodologies that you feel should be given more attention?

Are there any tools that you just couldn't live without, but people might not have heard of?

+17  A: 

The Brain. (No, it's only a joke)

I think people should use Paper and Pencil. The Cellulose format is still important in our work. I see everyday programmers that understimate this fact.

Jonathan
+1: especially when you're in a meeting. "You came without your notebook? Then you don't need to be here. See you later!"
Bob Cross
I was just about to post it.
Krzysztof Koźmic
Rationale for saying this?
Craig McQueen
Less paper for a green environment. Save tree....
rahul
Common sense is a close second :p
leppie
@Pheonix, do you think using your computer at a meeting is a greener alternative?
Nathan Koop
I agree that paper and pencil are still very important, same as a whiteboard. Countless times drawing or pseudo-coding something on paper or a board has help me (or others) to see the solution or the problem with a particular solution.
beggs
I think your brain answer is better than pen and pencil. How often did you re-read your notes from university? I never did. So i switched to listening really well, or at least trying, rather than being half delayed, worrying i can capture every last piece of info. Only when I really didn't get it, i would grab pen and paper to take notes. Still today, working professionally, i never take pen and paper, i just ask again and again. I also sometimes stop note-takers when i think they don't really listen right there and then. if you don't get it right away, you might just never. -> brig your Brain
raoulsson
@raoulsson: I'm not agree with the "asking again and again" strategy, because the time of my co-workers is also important. To Understant the problems is essential and make question until all the shades are clear is fine, but then I pick my pencil and take notes. Other people take his noted when the reunion is finished. It's obvious that the brain is a more important tool, but the question was "What Tools Do You Think More People Should Use?" and I think that we (programmers) use the brain reasonably well :D
Jonathan
+1  A: 

ANTS Profiler

rahul
+3  A: 
  • The Internet. When you don't know the answer, someone on t'web usually thinks they do.
  • Code profiling tools (Yourkit, for example)
  • Another developer (how many times have you asked for another pair of eyes, and part way through explaining the problem to them figured out what was wrong?)
butterchicken
That's something our programming tutor doesn't know... shutting down internet during exam, tss.
Dykam
Maybe your "The Internet" link should have pointed to stackoverflow.com not Google. :) I joke...
Craig McQueen
Yes, that's called GDD: Google driven development.
Tim Büthe
+11  A: 

...on windows definitely "Launchy", the missing tool on the windows platform to easily access any app by hitting alt+space. Much like Searchlight on OS X. Saves me lots of mouse-moving time. Never used Start menu again, ever...

raoulsson
There's a mac utility called Quicksilver, which is equivalent; like Spotlight heavily improved.
Dave Gamble
Actually, in Vista and later, this is available as the little search box in the start menu, which gains focus whenever the menu is shown. Therefore it's just the Windows key to bring up something like that. Only catch is that it's not as fast as launchy, at least in Vista (in 7 it's faster, at least on my Laptop).
OregonGhost
For Gnome, there is Gnome Do and for KDE a programm called Katapult.
Tim Büthe
Dave Gamble, thanks for that. I didn't now about QS.
Yar
Also take a look at LaunchBar for OS X. It and QuickSilver have features that the other doesn't, but I prefer it because it's more polished.
frou
it's called "Spotlight" not "Searchlight". And yes the Shutdown menu is fairly outdated.
Brock Woolf
+1  A: 

I like to use tools like PMD to check the style of my code to make sure I'm not writing bug-prone software.

Bill the Lizard
Or better, http://sonar.codehaus.org/
Mercer Traieste
+1  A: 

Process should be given more attention, and I do not mean after the fact (meaning, after the project is well underway).

A proper, systematic way of gathering metrics is overlooked so often in the industry it's not even fair. No wonder people are so afraid of version 1 of anything.

Bug tracking by itself is not enough. How many times have we seen projects go over schedule or over budget? Too often.

If affordable, I suggest a real suite of quality engineering tools.

AlbertoPL
+1  A: 
  • A decent text editor (not just the one that came with the IDE): if you learn how to use a powerful text editor, it can save many hours over the course of a project
  • Lint (with MISRA rule checking)
  • A large (A2-ish) sheet of paper for planning
  • On Windows, Virtual Dimension or similar, for switching between editor, debugger, web, PDF datasheets and manuals, application window and (for embedded programming) RS232 terminal.
  • For embedded programming: Docklight
Al
I'm completely satisfied with VS editor, thank you.
User
As they go, the Visual Studio editor isn't bad (although not as powerful as Vim/Emacs/etc,): it's far better than many. The IDE I use most is Keil's uVision and the editor isn't much better than "Notepad with (limited) Syntax Highlighting".
Al
Go notepad+ +
borisCallens
I second on notepad++
Mercer Traieste
I use Vim, but I'm of the opinion that it doesn't matter too much which one you use as long as you've put some thought into it and chosen one for its capabilities rather than simply going with the default.
Al
A: 

Brush your teeth and shower more often than once in a month.

User
I'm almost 100% sure that you mean "shower" and not "douche" which we use (at least in the US) to mean "vaginal lavage."
Yar
Lol...... corrected it
User
Didn't seem to help the votes, though. But yeah, that's a funny one, even native speakers of English who have spent too long in France get confused.
Yar
+8  A: 

Stackoverflow. (Sorry - refusing to ignore the obvious here)

We're talking about tens of thousands of developers pouring thousands of collective-years of experience and knowledge into a single place. It doesn't get any better than that.

Jonathan Sampson
+1 amen to that!
alex
The question says: "Ignoring the obvious (version control, bugtracking, SO);" and I think by SO he/she means Stackoverflow.
Tim Büthe
I read that Tim. But I don't think SO should be excluded simply because it's "obvious." View my answer why I feel this way.
Jonathan Sampson
Already mentioned. In question.
T Pops
Already mentioned in answer and comments that I read that the question already mentioned it. I still mentioned it because it deserves to be part of the list for reasons I gave in my answer.
Jonathan Sampson
+3  A: 

Balsmiq Mockups or some equivalent, like pencil and paper, for UI design before developing any code, even prototypes.

Alan
word up. It annoys me immensely when developers just dive in without any regard to UI. With all of the focus now on user experience, it is unwise to write code to just make it work and then worry about adding UI features in later.
tessa
A: 

Note taking application - it may be a text file, wikilike website or standalone program - it doesn't matter, just select one and use it.

How many times were You thinking "If only I had written that..."?

zeroDivisible
Plug: if you are using Windows, check out my www.thekbase.com. Although I'm using Evernote a lot these days...
Yar
+9  A: 

A dual monitor setup. In my experience it increases your productivity immensely.

René
I recently ordered a second monitor for my personal computer at home. Will be real cool to have a 23-inch monitor next to my 21-inch monitor. :-)
Workshop Alex
I can't live without it anymore.
borisCallens
I want this so much ..
Mercer Traieste
+1  A: 
  • An editor with good macro capabilities, even if you need to use it along with the development environment.
  • If you use Visual Studio, a good plugin such as ReSharper.
  • Scripting languages for task automation.
João Marcus
+1  A: 

Post-it notes and white boards, think before you code

MrTelly
+1  A: 

It's funny but I tend to use several applications to create and manipulate images. This is useful when your application needs some icon or image. Thus I would create a simple version of the image and add it to my code. I also send out a request to get a more appropriate image but this way, these requests can be collected and given as a task to a third-party graphic designer as a bunch of orders. And in the meantime, the application still looks good in design-time and the image requirements are also clearly defined before the external artists gets to do his job.

For an internal project I even used a render-engine to create a few images of a pretty CGI-girl holding signs, pointing at things and just looking at the user expecting they would replaced sooner or later. As it turns out, management liked those images, so they're going to stay! :-)

So, most important tool for developers: something to work with graphics. (Paint Shop Pro for image manipulation, Poser Pro from SmithMicro to render pretty women.)

Workshop Alex
Like your avatar? Is that made using poser? I'm afraid to click the link in your profile...
CiscoIPPhone
Yep, like my avatar. And if you're at work, don't click the link. I want to put a blog there about the bare essentials of programming but for now it's mostly empty with a name that sounds like something completely different. :-)
Workshop Alex
A: 

I never thought I'd say this: Ms Access (or the open source alternative, Base).
(I have the feeling that someone famous said it, but I don't remember)

Ms Access is a RAD environment. I can store any kind of data, notes, images, links, and later do a search using SQL queries. No need to have todo lists or notes as separate files.

I am playing with Access 2-3 weeks now and I really enjoy it.

Nick D
I've been playing with Access for about 9 years now and still like it! :-) But I never used it to develop code in. For me, Access is just a data storage thing.
Workshop Alex
Alex, I agree. Access is mainly for storage. The only code I write is for binding (and filtering) controls and tables. It's very convenient to have a simple form to view your data instead of plain tables. But I don't intent to develop any *serious* applications.
Nick D
Actually, my work is mostly modifying an application that still uses Access for data storage since it's just a desktop application which needs to store some data. Besides, ever heard of Enterprise Architect? It's an UML modelling tool that stores it's models inside an Access database! In the past, Paradox or DBase IV would be used instead but Access is easy to use through ADO. Access is also popular for small ASP websites that need data storage.
Workshop Alex
Yes, of course, applications can use Access for data storage. In my case I mean use Access as a personal tool to organize my stuff. In the future maybe I'll find out more ways to harness its power :)
Nick D
+1  A: 

Issue tracking.

I know most people think and use issue tracking as a bug tracking. But you can do so much more:

  • tasks
  • feature wishlist
  • ideas
  • and of course defects

If you have an issue tracker that knows wiki, and it also integrates with the versioning system, then you can keep everything in one place.

  • commits comments link to the issues
  • issues link to commits and to wiki page discussions/specs
  • wiki pages keep anything else

And.. if you are really disciplined, you can keep all your commits within an issue. Then it' s easy to do work done tracking, and even time tracking.

The issue tracking i'm now using is http://trac.edgewall.org/

Mercer Traieste
A: 

Excel or Open Office or some kind of spreadsheet to generate throwaway code from data.

The other way to go is to get comfortable parsing CSV files with Ruby or whatever you want.

Yar
A: 

A computer-based notes system. (Evernote, a directory full of text files, ...)

I make a lot of notes on paper, but I notice that if I don't retype them on a computer, I almost always end up losing them or not being able to decipher them when the time comes to refer back to them.

frou