Mind maps instead of bookmarks

    Good Friday everyone.

    I want to share one simple idea that we have adopted for research purposes.

    Very often, especially at an architectural iteration, you need to do some research, or, more simply, * google *. For example, you need to find out whether something is connected with something, and how, whether one something supports something else, etc. Often the answer to a question is not like a confident “Yes” or “No”, there are certain conditions, ways to work around problems, etc. Research tasks are perhaps even more important and more critical than implementation tasks. They influence the fundamental ideas and architectural decisions on which we build the System; and, of course, on the success of the project as a whole.

    Such tasks are obtained by experienced developers or "seniors" and often it takes only 30 minutes to 2 hours to present the research results at a rally. The problem is that during the study, its executor makes certain decisions, and these decisions are as important as the conclusions made on the basis of the study. Sometimes it happens that the decision was not made correctly, or some detail or a chain of reasoning was missed. Often, research is resumed to test additional ideas and options.

    How did we all do this before? The researcher, for example, wandered the web for a day and read. He accumulated dozens of open tabs and browser windows, he marked something as a bookmark, lost something ... At the end of the day he assessed progress, and, for example, decided that the study could be completed. Then he opened the editor and copied some links there, added a couple of proposals and went to the rally. At the same time, the chain of ideas and decisions that arose and were taken during the study disappeared. They had to be restored during the discussion.

    What are we using now? Mind Maps (MM for short) or link diagrams .

    In part, this decision was facilitated by the presence of a large number of online tools for building MM. For example, the result of a study of the market of free online MM tools with support for teamwork (the Wave gadget for MM was used to record the research history ): As you can see, the mind42.com tool was the winner of the competition . What were our requirements for MM tools during this study? - the ability to add hyperlinks to MM branches; - teamwork (sometimes research should be conducted by 2 people at the same time); - democratic free account; - the ability to set labels like "question", "yes" or "no" on the branch - this greatly increases the readability of MM.


    Further I will give an example using mind42 for a research task to determine the possibility of migrating a ready-made Ruby-on-Rails application to Google App Engine .

    The background of the task is as follows. Some time ago we were developing a web application on RoR. By the nature of the organization of the business, it was a startup, and it was funded by the customer himself, without * angels * and investors. We did our part of the work; the web app was uploaded to the Panamanian hosting ServerPronto. Subsequently, the project did not reach self-sufficiency, but the customer did not want to throw it, because he had new ideas and the old service he was going to make a platform for further development after some time. Now about the main thing - he wanted to transfer the application to the Google App Engine. He just read about the new opportunity of free hosting and asked us to study the possibility of such a transfer and evaluate the budget of this operation.

    For us, the Google App Engine is a new platform and we have begun research. You can look at the results on this public MM : As you can see, the question of the possibility of migrating a Ruby-on-Rails application to GAE is not so simple. Moreover, as the study progressed, the sign of the answer (yes-no) changed several times. In the final, it was decided to port the code supporting ActiveRecord to DataMapper and try to port the rest of the Ruby code unchanged. Customer approved budget. Now, in an architectural iteration, we are building a prototype to test the performance of JRuby-Rails-DataMapper-GAE.


    It is also convenient to use such MMs for yourself - for example, while learning a new programming language or a new framework. Here, mind42 can also help, since it has the ability to attach Rich text and pictures to branches. For example, this might look like MM for learning the Ruby language:


    With this approach, MM in a certain sense is a bookmark system "on steroids." And they have many advantages over browser or online bookmarks. If you are interested in a certain topic for a long time, for example, launching a startup, then you can develop a detailed MM in this field with your notes. Interestingly, such MMs are a valuable intellectual artifact and you can quickly transform it into, say, an interesting blog post. It is possible that soon we will see popular social services for the open collective creation of MM in different areas of specialization.

    To summarize: Mind map for some time remained in the shadow of other collaborative tools, for example, we used it only when writing detailed specifications. However, with the advent of online tools competing among themselves, the formula starts to work with respect to MM: Good concept + Good tools = Popularity.

    Have a nice branch!

    Also popular now: