One of the things I've done with MindManager is write software requirements as Use Case behavior descriptions. Since I wanted to generate another post about creating Map document Notes tables from Topics, it makes some sense to write a Use Case describing what this MindManager MakeTable macro should do.
This is an example of step one in a three part software development formula - first understand what it is the software should do, then make a solution work, and then make it work better.
As I got started, I realized the Use Case would make more sense in context. So I adopted table generation as a sample software development problem. The first installment, demonstrating the use of MindManager in creating use cases, is in the attached zip file, together with background information about requirements capture with Use Cases. The same content is found in two formats - compiled HTML Help and as a Word document. The .compiled HTML Help file contains a Use Case Map Template, this template is also posted in the Downloads section of this site.
Here's an excerpt from the attached sample:
This material is an example of the use of MindManager in software development. The subject at hand is the creation of tables within MindManager Topic Notes in the context of an interactive user session.
As a sample problem, table generation is complex enough to warrant a solution, small enough to easily understand, yet big enough that work in the areas of Requirements, Architecture, Design, Test, Implementation and Delivery need not be overly contrived. The first part of the story covers table creation requirements through a Use Case and some Policy and Practice statements. Subsequent parts will deal with other development activities.
There is something appealing about using the MindManager product to develop and document an extension behavior for the product. If nothing else, we have a clearly defined application domain for the effort.
An unstated assumption runs throughout this material, we'll mention it here and then leave it be. There is a big difference between performing software development and managing software development. This material is not meant to endorse a single development method or process. If a waterfall process, or a spiral process, or an iterative method, or another variation on the agile development theme floats your boat, go for it. My view is that good ideas (and good people) breed other good ideas (and grow more good people) as long as management doesn't go out of its way to shoot itself in the foot. The material presented here, using the sample problem as a basis of discussion, are things I regard as good ideas in software development. However, like any other tool or technique it is possible to use these things incorrectly. "By their works shall ye know them" says the Bible, and this applies to techniques, people, teams, technologies and organizations as well.
In the end, software development is about how people can use their time, talent and the available technology to produce something useful, possibly valuable and perhaps even beautiful. If the ride is also exhilarating, fun and satisfying, then you are fortunate as well as gifted. But I also believe that neckties are commonly used in corporate culture to hide the marks left by sphincters, so what do I know?
Assuming I can maintain the momentum, I plan on expanding this sample with additional content. Where I see the opportunity, I'll point out how MindManager supports software development activity.
In fact, I'll do that now. The compiled HTML Help file in the attached zip file was created with a modified version of the most excellent HTML Help Builder. I brazenly steal the map template in that download, including it in the sample content attached to this post. I made several modifications to the 1.0.7 version of the HTML Help Builder - one to style the Topic Hyperlinks in box with a pale yellow background, a second to omit hidden Map Topics from the generated HTML output, and a third to remove the '*' character from subheadings in the help pages. I plan to forward these changes to MichaelS for possible inclusion in some future HTML Help Builder revision at his discretion.
Without MindManager, I wouldn't have bothered to create the HTML Help form of the MakeTable sample. By using a MindManager Map to create, organize and refine the content, it is straightforward to publish in several formats - Word, web and HTML Help - repurposing the content for different uses.