title: what is the best practice for app documentation?
body: <p>Having worked for a couple of years in software development, I grew wondering how to effectively communicate at work as of nitty gritty details of UX, functionality changes, error reporting system, and so on.</p>
  
  <p>I have worked for two small companies here in South Korea and found out communication is done only orally from the start to the end, and never had any habit of software documentation.</p>
  
  <p>I think it’s very odd because meticulous planning and effective software management cannot be done with spoken communication only.
  (Although, I think in some sense, it may be justified if a company is not big enough to handle the extra workload.)</p>
  
  <p>So, recently, I am genuinely interested in written communication for software, trying to rekindle a little bit knowledge of software engineering that I learned at college.</p>
  
  <p>I’m trying to teach myself how to visualise my work and practice documentation on my own in practical level.</p>
  
  <p>So, my question would be </p>
  
  <ol>
  <li>Do you know any free graphic tools that can help me draw diagrams or UML, or etc?</li>
  <li>Also, It will be appreciated if you could talk about how you document your app for future refactoring and better management.</li>
  </ol>
  
  <p>Thank you.</p>