I recently started using ChatGPT to create a representative flowchart from existing source. These flowcharts are then distributed to business users prior to meetings about development progress.
The audience is expected understand the common abstractions, but no knowledge of the programming language is expected. This has been a huge help, because we don't get detailed functional specs any more (this has fallen out of fashion, we also rarely see systems analysts anymore either). We only get "requirements" and these aren't always well written.
So as the code matures and we start unit testing it, it gets more solid but challenging to see the business logic amongst all the code details like declarations etc, even by the developer. Extracting that as a flowchart is a HUGE help, I recommended others try this out if they want to share functionality of code with non-programmers.
During meetings I'll hear questions like "Oh, so we still enroll the student even if we decide to switch teachers?" and these are highly useful questions, helping us ensure that the fundamentals are right.
The audience is expected understand the common abstractions, but no knowledge of the programming language is expected. This has been a huge help, because we don't get detailed functional specs any more (this has fallen out of fashion, we also rarely see systems analysts anymore either). We only get "requirements" and these aren't always well written.
So as the code matures and we start unit testing it, it gets more solid but challenging to see the business logic amongst all the code details like declarations etc, even by the developer. Extracting that as a flowchart is a HUGE help, I recommended others try this out if they want to share functionality of code with non-programmers.
During meetings I'll hear questions like "Oh, so we still enroll the student even if we decide to switch teachers?" and these are highly useful questions, helping us ensure that the fundamentals are right.