avo has asked for the wisdom of the Perl Monks concerning the following question:

Good day, can please advice on what tools are good for you to plan large program projects. I refer to any block diagramming/mind mapping tools, desktop / online. I have used several tools for database prototyping, but so far never had experience with algorithm ones. Any input will be highly appreciated.

Replies are listed 'Best First'.
Re: Concept / Diagraming Tools
by andreas1234567 (Vicar) on Jun 25, 2008 at 08:13 UTC
Re: Concept / Diagraming Tools
by jds17 (Pilgrim) on Jun 25, 2008 at 08:14 UTC
    Hi, I am quite sure you know FreeMind. It's a really good mind mapping tool with good keyboard-only support. Of course you would not rely only on this tool for a large project, but it's very good if you are starting out and collecting ideas and relationships among those.

    I must admit I don't use other tools besides the blackboard, must be our working Scrum process...

      I'm interested in your experience with scrum.

      How many people are in your scrummy group? Do you have daily scrums and if so are they helpful (and are they actually short)?

      Do you actually have short release cycles?
        Hi, a little OT, but to answer shortly:
        At the beginning (1 yr ago), we had 10 people in the group, which is more than advised, we have since grown to 12 so we decided to split the developer teams into two subteams nearly the same in size.
        We have daily scrums and I feel they are helpful, the two big points are that you know at least a bit what everyone else is doing and the second is that people often get hints from colleagues they do not work together all of the time in case they face an obstacle. Of course time boxing is very important and discussions have to be cut off and postponed to a time after the daily scrum, otherwise things get out of order fast and people start to get bored and question the meeting.
        As for release cycles: we usually complete all requirements we agreed at the beginning of a sprint, so, yes, we have short release cycles.
        Over all, I am very happy with the process. The key factor for success of course is a good communication between product owner and team members. You have to work hard during planning to get meaningful and realistic requirements. And I also find it essential to have a good software to support the process (showing burndowns, requirements & tasks, completion, responsibilities,...).
Re: Concept / Diagraming Tools
by hanenkamp (Pilgrim) on Jun 25, 2008 at 14:31 UTC
    For Mac users, I like OmniGraffle. You can build mindmaps or other hierarchies in outline form that gets rendered as a diagram as you go, which is pretty nice. You can then do whatever else you want with them too.

    I also gave Curio a try recently and liked it's note taking abilities. It has a mind mapping tool that's relatively simple and keyboard driven, but not as flexible as Graffle. Curio does have some nice general note taking tools, though.
Re: Concept / Diagraming Tools
by wade (Pilgrim) on Jun 25, 2008 at 16:28 UTC

    For high-level UML charting, I'm about to start looking into UMLGraph. It completely supports UML and its output is the input to GraphVis, another tool which is really useful.

    Speaking of GraphVis, I just started it as a way to do some medium-level graphing. You provide an easily modified text description of the system you're charting and GraphVis places and draws the boxes, circles, and arrows. It generates several forms of output including svg, png, and (for those of you who, like me, use a Wiki or web page for distribution) image maps.

    I had been using InkScape but that's pretty low-level and requires a lot of effort to change diagrams. I tried Dia but I didn't like the quality or modifiability of the output.

    Update: Oh, all these tools are free.

    --
    Wade
Re: Concept / Diagraming Tools
by Joost (Canon) on Jun 25, 2008 at 18:53 UTC