1. Why bother
Generative AI is creating waves in the way we work, significantly revolutionizing the software development process. AI tools are appearing in various phases of software development, such as design, development, and testing. However, there aren't many tools specifically focused on software business analysis tasks.
But with a little creative thinking, we can put "one-size-fits-all" applications like ChatGPT to good use. It can definitely speed up execution of many typical tasks and free up analysts to focus on the more challenging, strategic aspects of the job.
2. What to expect
AI tools can become powerful companions in your work. They can provide you with samples and drafts, significantly accelerating the creation of requirements and specifications. However, don't expect these tools to fully automate these tasks. It's critical that the results produced by AI are carefully reviewed and validated to ensure their accuracy and relevance.
3. Tasks to solve
There are probably many more tasks software business analysts can solve using generative AI but here is my top 9:
Create text transcript from the user interview recording
Generate sample requirements for a specified topic
Generate business process description from text
Generate sample business process description
Generate bpmn diagram from the business process description
Create structured functional requirements from interview text
Generate Use Cases from requirements (user stories)
Generate UI mockups from Use Cases
Generate Work instructions from Use Cases
Next, an example will be provided for all tasks using a simple example of e-commerce. The example is deliberately chosen to be straightforward in order to demonstrate the application of tools and make it easy to follow the logic.
3.1 Create a text transcript from the user interview recording
Think of generative AI as a super-efficient note taker. Using speech-to-text technology, it can quickly and effectively convert user interview recordings into text.
Here is a link to a sample from a user interview:
And here is an example of the outcome:
This text can later be transformed into structured requirements.
cockatoo, which seems to be quite accurate in transcribing speech.
I've tried several other services, and they all provide approximately the same quality and speed. You could also try online speech recognition solutions, but in my experience, offline transcription works better as it can recognize sentence endings. With online recognition, it's a bit trickier, and some tools require you to explicitly mark the end of a sentence, which isn't feasible during an interview.
3.2 Generate sample requirements for a specified topic
It's no secret that most ideas are not new, and this applies to processes that need to be automated and functionality that needs to be developed. Thus, you can ask generative AI to provide sample requirements for the functionality you're working on. There's a good chance it will give you a decent draft to start with. This draft should be reviewed and most likely improved, but it often takes much less time than starting from scratch.
Here's an example of a request for a description similar to those we just received from the interview in step 1:
And here is an example of the prompt:
And here is the result:
E-commerce is obviously a well-known topic, but I've also tried less popular examples, such as requirements for a traceability system and supply chain process automation and the results also appeared to be worthwhile.
I used ChatGPT 4.0 for this task. Actually I tried to use ChatGPT 3.5 and sometimes it provides even more satisfying results.
3.3 Generate business process description
Another task to solve is generation of business process description. The trick here is to use a template so all important aspects are covered. I used text from sample user interview to provide as a source for structured business process description.
Here is an example of the prompt:
And here is the result:
3.4 Generate sample business process description
This case is similar to the previous one, except for the source of information for the process, which we'll also ask to be generated.
3.5 Generate diagram from the business process description
I've found text-to-diagram tool that can only generate simple flowcharts in BPMN notation, but I believe more comprehensive tools will soon be available. The tool requires the following format as an input: 'Role: Function'.
Here's the prompt to convert our business process description into the required format:
Just to demonstrate the tool's ability to handle multiple roles, let's add the following step:
Manager: Contacts the customer to confirm the order.
3.6 Create structured functional requirements from interview text
You can take the text generated from a voice interview or sample requirements generated in the previous steps and transform them into more structured requirements by applying the necessary style and template.
Here are the prompts I used to create a draft of the SRS document for the part of the online store functionality that we transcribed from the user interview:
Here is the result:
Prompt for the rest of the template:
You can also ask the AI to fill the rest of the section with sample requirements for an online store. Alternatively, you could go section by section, providing all the details you have, to generate requirements that are as precise as possible.
3.7 Generate Use Cases from User Stories
The same algorithm applies here. Provide the template, style, and user story that you need use cases for, and ask ChatGPT to generate a draft.
3.8 Generate UI mockups from Use Cases
I accidentally found a tool that generates UI mockups from text. It's still in its beta testing phase, but it looks quite promising based on the examples it already supports. So, if you're interested in this kind of functionality, keep an eye on it. What it can currently do is generate mockups for well-known topics like e-commerce. It partially takes into account given instructions regarding functions to be executed in the interface but might ignore some or generate some excessive screens. As of now, it doesn't support mockup generation using direct instructions, like a list of fields and controls. If it manages to add this feature, it could replace tools like Balsamiq for preliminary wireframing for analysts, before passing the task on to designers.
I recently found a tool that generates UI mockups from text. It's currently in its beta testing phase, but even now, it shows quite a bit of promise based on the examples it already supports. So, if you’re interested in this feature, it might be worth keeping an eye on. Currently, it's capable of generating mockups for well-known topics, such as e-commerce. It does consider instructions regarding functions to be executed within the interface, though it may ignore some or generate additional screens. currently, it doesn't support mockup generation using explicit instructions, like providing a list of fields and controls. However, if it incorporates this feature in the future, it could potentially replace tools like Balsamiq for preliminary wireframing tasks for analysts before handing off the task to designers.
Here is an example based on main successful scenario of “Use case 3”:
As you can see, it ignored the scenario of providing a shipping address but added screens for use cases that we didn't really ask for.
3.9 Generate User Instructions from Use Cases
Another useful text to text transformation is creating user instructions from use cases:
Here is an example for “use case 3“: