MindManager for Software Development: Part 2 - Requirements Gathering
Part 1 - Help Authoring
Part 2 - Requirements Gathering
One of the unintended consequences of using MindManager throughout Mindjet's internal software development lifecycle is that the product has turned out to be a great requirements gathering solution. At Mindjet, we use MindManager for developing marketing requirements, organizing product planning, writing software specifications, and orchestrating an extreme programming methodology. Though it was never designed to be a software requirements gathering solution, we have, as well as many of our customers, seen it to be a fantastic one. We even won Jolt and Codie awards competing against software development applications. I would like to walk you through a scenario of how you might use MindManager to do this.
Preparations:
I am a firm believer in creating tools and templates to automate repetitive tasks and insure consistency across projects, but I also believe in iteratively refining those tools and templates from project to project. Before you start a new type of project in MindManager, you should always create the templates and map parts that you will be using. I believe that the exercise of thinking about a project in a general fashion and coming up with the tools first is a great first step to tackling a complex project. What I've done is to create a map template and a map part to start the process off right:
With that, I have created a "kit of parts" and a "set of rules" that I can use to start building out my requirements maps. The rules are defined in the layout and structure of the map template and the parts are the map parts and topics that I will use to start constructing my project maps.
I then add the map template to my template organizer and to my New Map Dialog (File...New...From Styles and Templates...Map Template Tab...Add Map Template) and I have added the map part to my map part library. In addition to this, I have made these templates available to other product development teams in my company, and now, since it's on the Mindjet Labs, the whole MindManager community. Software development companies will see real benefit from standardizing on map templates in this way.
The Gathering Begins:
Either in a group meeting session with MindManager projected on a large screen or at my desk, I start to fill out the template, tackling the low-hanging fruit first. I add requirement topics to the map in areas that are already on my mind. Getting them off my mind and into my requiements map lets me apply my GTD techniques of having a place to hang information in an easily findable place. I have some rules for the requirements gathering:
- Each requirement is totally self-contained within a topic.
- The topic text is the requirement title.
- The notes contain all details about the requirement.
Through this process, the map is filled out and becomes a "living document" that evolves throughout the software development lifecycle.
Sharing the Requirements Maps:
Once the requirements are developed they need to be shared. Since all great software teams have MindManager at each desk
, the requirements maps can be put in a shared location like Microsoft SharePoint for everyone to see. In addition the requirements maps can be repurposed using a variety of ways using MindManager, Partner Solutions, or Mindjet Labs solutions. One such solution on the Mindjet Labs uses Microsoft's new Visual Studio Team Foundation Server to track Work Items that were defined as requirements in MindManager: Mindjet Requirements Manager. You can watch a screencast of that solution here.
What system(s) do you use for Requirements Management?
- Microsoft Team Foundation Server
- IBM Rational
- Telelogic Doors
- Borland StarTeam
- ______________________________
Educated as an architect, Michael has made his career in software development about combining technology in interesting ways.
After getting his Bachelor's of Architecture from the University of Arizona, Michael received a Master's of Architecture from UCLA specializing in Design Tool Development.
From there, he joined Tartus, Inc., a sofware consulting firm specializing in building architectural sofware. At Tartus, Michael rose to the role of lead software architect for BC Framer, a custom CAD solution for Boise Cascade Corporation. In this role he designed and lead development of the software through six successful release cycles.
At Mindjet, Michael started by managing the software development teams for the first tablet-pc enabled version of MindManager and MindManager X5.
From 2003 to 2007, Michael was in business development and marketing roles as a Business Solution Architect and as the Solution Platform Product Manager for MindManger. Michael designed and built the first enterprise integration for MindManager, the Accelerator for Salesforce.com which served as a reference implementation for future enterprise integrations. In this role, he created, directed, and maintained the Mindjet Labs and became the evangelist for the MindManager Solution Platform.
Now Michael is a Developer Evangelist for Microsoft Corporation.
