Every programmer has one thing in common: it doesn't like to write documentation, tends to postpone the documentation writingprocess and it is always complex for big companies to mantain an high level of documentation across all the projects. However with an increased maturity of hi-tech companies and departements, a need of standardization and monitoring of documentation has appeared. And this is why we havecreated DocuMind.
What it does
Docu Mind is documentation made it easier. In big companies, it is a tool that helps the Documentation Team to have an overview of the documentation status and easily navigate in their projects and is a tool that helps their job. On top, we offer a prioritization feature, which shows which are the methods that need urgent updates in the documentation. In smaller teams and startups, it is used as a visualization tool to underline possible problems and it can be a topic for the weekly scrum, to have an overview of the statusquo of the documentation proces.
Once the repository it is syncronized with Docu Mind, we provide an interactive dashboard that shows easily the current status of the documentation and shows the standardization of it. It is possible to navigate across all your projects and identify important methods which are not currently updated. We offer a solution that can link directly to missing information, or mismatching between the updates of methods and updates of linked documentation.
How we built it
We focused on creating a visualization tool that facilitates the life of the responsible of documentation. We built in Python the back-end to understand what are the potential of the product. At the moment we focused on python repository, given the fact that documentation is often a language-specific task. We used nltk, language_check and path_finder, but we are planning to integrate with more tools to extract more information about documentartion We used sketch to design the dashboard and the interaction with the user. We are in the process of refining the back-end, front-end interaction.
Challenges we ran into
There are several challenges into the documentation process, especially given the different approach of companies to the task. On top, different programming language might have different structures. Identifying pictures and its content appears to be complicate at this stage. In addition it was complicate to identify a consistent score for all the documentation, therefore we focused on a relative-score system for documentation rating.
Accomplishments that we're proud of
We had fun time, while working hard. We made an idea possible and concrete that can help the work of thousands of programmers. We believe that there is a great market potential for the idea, compared to the required time to develop the actual solution.
At the moment it is not fully covered by any startups in a focused way.
What we learned
1) Avoid the "think, think, think" approach. Instead use the: "think, code, think,code,think". Quick wins and quick solutions are key in obtaining an MVP ready during the hackhaton time constraint.
2) Make it quick, make it dirty: don't focus in building the ideal product, but simplify in manageble tasks in order to be able to show that your vision is feasible.
3) Break down the project in tasks from the beginning.
What's next for Documind
- Make Docu Mind production live.
- Test it on different documentation structures.
- Increase the backend with more pre-processing material for the Readme information extraction.
- Implement it with the first beta users and identify which features might be interesting for them.
- Develop a local machine version (at the moment we are planning to develop in Cloud, but our solution can be used as a local application with an interactive dashboard.)
- Extend to different languages to have best-practices for each programmig language/repository types
- Implement it for BitBucket, GitLab and SVN based repositories
- Raise money to make Docu Mind available soon