Ask HN: Software development tools

7 points by rvanrooy ↗ HN
What software development tools, mostly in terms of engineering your apps, do you use? Most UML tools for linux, seem to be outdated and very light on features (please correct me). What do you use to plan your apps before writing the code?

12 comments

[ 2.6 ms ] story [ 31.1 ms ] thread
A whiteboard.

Seriously. A whiteboard, post-it notes, and lots of pencils and paper.

I'm a firm believer in UML-as-sketch (vs UML-as-blueprint), and for sketching, nothing I've seen beats the old school.

EDIT: fixed punctuation

Post-it notes are more powerful tool than most people realize because they:

- Rearrange easily (no copying)

- Support text and diagrams

- Are concurrently editable (as a group)

- Convert virtually useless walls into huge work surfaces

The idea that really hit it home for me is The KJ Method (aka Affinity Diagramming aka Snow Carding). Here's one description: http://www.mindtools.com/pages/article/newTMC_86.htm

There's a lot of way of organizing ideas and meetings using them that are really non-obvious. This (short, sweet) book covers some: http://www.amazon.com/dp/1555611427 Coders will get the ideas after the first chapter, but others should find the rest of the book educational as well (plus give some insight into basic data structures).

Diagrams on post-its, are you kidding?
No, diagrams made out of post-its on a white board. So you can move the various parts around.
Paper and the text editor.
OneNote. Probably the best wiki in the world. Runs only on windows though...
Jira + Confluence + whiteboard
I used Adobe's Ideas app for the iPad to sketch UI ideas & DB schemas last weekend. I also downloaded 37signals' Draft app but it sucked major monkey balls & I will be hitting them for a refund if they don't fix the bug they have managed to sneak into an app that has a grand total of 4 features.
Didn't you know that 37Signal's philosophy is about keeping the feature count to an absolute minimum?
UML tools seem to lack substance on any platform. Use pencil, eraser, and paper for design. And know that most diagrams are not as useful as everyone says they are.