This is a workflow that I have been using lately with LLMs, I’ve been using Copilot but you could use this with your favorite favorite AI to do the work as well. The goal here is to create clear and concise project specifications that we can hand off to the development team having all the details they need to successfully build the product without a big upfront expense to generate the documentation. I’ll use the example of a “World class Video Player” module that we’re building for a product we’re going to release in a few months.
Voice Typing
Voice typing is a feature that allows you to dictate text using your voice instead of typing it on a keyboard. Voice typing works by using speech recognition technology to convert your spoken words into written text. You can use voice typing to create documents, emails, messages, notes, and more, without touching the keyboard. I use WIN+H that is built into Windows 11 and find it works great. Most phones have a voice-typing button on the keyboard. Chat AIs have them as well, in most cases look for the microphone.
Voicing the AI Prompt
Instead of using our voice to write the documentation, we’re going to use our voice to prompt the AI to write the documentation for us. You will need the basics of AI prompt writing that is too big a topic for this post. Let’s be really simple and use this 3 part AI Prompt:
Tell it who’s writing and the target audience
Describe to the best of your abilities the product or feature
Be specific about the output format
Example Generating Agile Features
For out example World class Video Player. Let’s generate some features that we would like to see from a product owner or software project manager. Here’s my prompt:
You are a professional software product owner and agile project manger. We are building a world class video player that will play videos hosted in azure on the web as an Oqtane module. Include a section for every feature that you would expect to see in a world class video player like you might find on YouTube or Netflix. Make sure it adapts the different screen resolutions and device orientations. Make sure it has closed captioning the ability to pause and play and be really top notch. Generate the feature list using a clear and concise agile format with a title for the document and a section for each feature. For each feature, generate all the needed agile user stories.
Luckily the LLM knows a bit about video players and was able to generate a few full pages of features and user stories. Now we can edit this to drop the guesses that were wrong and add in any features it didn’t bother to add. Feel free to use voice typing for this part as well.
Breaking Features Down into Behavior Driven Development Scenarios and Behaviors
We use BDD to bridge the gap between agile user stories and the build details for the developers. We find that BDD keep things staff-readable and creates a goo set of testable goals. We also use developer tools that can build automated unit tests and drive web tests from BDD feature files. Each feature has a number of scenarios that can be defined from the user stories.
Fine tune
My LLM got off the weeds a little with features. It created things that we won’t need, but are things you might see in the world, like playlists, and skins. Skins? Luckily, it’s easy to make revisions so I told it to strike a few features. I also forgot to mentioned an important behavior that needs to be baked into all the others, and that’s reporting activity to a specific style of Learning Record Store.
Done!
Honestly, we are just getting started, but it’s going to be a great start. You can either copy-paste this into your word processor of choice, or have the LLM create a file for you. Hopefully you can use your voice and an LLM to take a lot of the grunt-work out of delivering world-class specifications to your project team.