NewsTechTrends

We tried writing a software product spec with ChatGPT. Here’s our prompts and the results

Software product spec with GhatGPT

Being a Product Manager isn’t a walk in the park. You’re tasked with juggling prospects, budgets, stakeholders, dev teams, market analysis, competitor analysis, and much more. In some instances, you might even have a day job as an operational or technical leader. With all these hats on, it’s tough to break down business requirements in a way that your development team can easily grasp.

User Stories might seem straightforward, but writing them to cover all scenarios can be pretty daunting unless you’re a seasoned Business Analyst who practically lives and breathes User Stories.

Fortunately, we now live in the age of Generative AI., and with it, you can now generate most of the User Stories you need for a given requirement. While they might not be perfect, they’re certainly better than a vague one-liner requirement for a feature. With User Stories and Acceptance Criteria generated by Large Language Models (LLM), it only takes a few minutes to generate and tweak them to fit your needs.

For instance, I used a free ChatGPT (ChatGPT 3.5) account for this example. The scenario: building a platform where users can find experts to answer their questions and agree on a meeting time. ChatGPT can generate User Stories for the entire app in one go, but you get better control by generating them feature by feature. This way, you can fine-tune the content to be more precise.

If you look at the example below and the instructions we’ve given, you may get a slightly different response, but that is the beauty and nature of LLMs. This is what we got when we fed the following: 

Model instructions (Prompt)

Act as a world-class product owner and generate user stories, acceptance criteria for the following software feature

Response

Sure, please provide the details of the software feature you need user stories and acceptance criteria for.

Prompt

An onboarding module for experts and customers where experts would provide their area of expertise, years of experience and qualification (should be verified manually by one of our staff members) and customer onboarding should be quite simple

Response

Epic: Expert Onboarding

User Story 1: Expert Information Submission

  • As an expert,
  • I want to submit my area of expertise, years of experience, and qualifications,
  • so that I can be registered and verified on the platform.

Acceptance Criteria:

  1. The expert should be able to access the onboarding form.
  2. The form should include fields for area of expertise, years of experience, and qualifications.
  3. The form should allow the expert to upload relevant qualification documents.
  4. The expert should receive a confirmation notification upon successful submission.

User Story 2: Manual Verification by Staff

  • As a staff member,
  • I want to manually verify the qualifications submitted by the experts,
  • so that only qualified experts are approved on the platform.

Acceptance Criteria:

  1. The staff should have access to a dashboard listing all submitted expert applications.
  2. Each application should display the expert’s area of expertise, years of experience, and uploaded qualifications.
  3. Staff should have the ability to approve or reject an application.
  4. Experts should receive a notification regarding the status of their application (approved/rejected).

Epic: Customer Onboarding

User Story 3: Customer Registration

  • As a customer,
  • I want to register on the platform easily,
  • so that I can start using the services offered.

Acceptance Criteria:

  1. The customer should be able to access a simple registration form.
  2. The form should include basic fields: name, email, password, and phone number.
  3. The customer should receive a verification email upon registration.
  4. The customer should be redirected to the login page after successful registration.

User Story 4: Customer Login

  • As a customer,
  • I want to log in to my account,
  • so that I can access the services available to me.

Acceptance Criteria:

  1. The customer should be able to access the login form.
  2. The form should include fields for email and password.
  3. The customer should receive an error message if the credentials are incorrect.
  4. The customer should be redirected to their dashboard upon successful login

Prompt

A module where a user can search for an expert based on their field of expertise, experience level, ratings and mutually agree upon a time slot for a video conference

Response

Epic: Expert Search and Scheduling

User Story 1: Search for Experts

  • As a user,
  • I want to search for experts based on their field of expertise, experience level, and ratings,
  • so that I can find the most suitable expert for my needs.

Acceptance Criteria:

  1. The user should be able to access the search functionality.
  2. The search form should include filters for field of expertise, experience level, and ratings.
  3. The search results should display a list of experts matching the criteria with relevant details (name, field of expertise, experience, ratings).
  4. The user should be able to view detailed profiles of listed experts.

User Story 2: View Expert Profile

  • As a user,
  • I want to view the detailed profile of an expert,
  • so that I can assess their suitability before scheduling a consultation.

Acceptance Criteria:

  1. The user should be able to click on an expert’s name in the search results to view their profile.
  2. The expert’s profile should display their name, photo, field of expertise, years of experience, qualifications, ratings, and reviews.
  3. The user should see available time slots for video conferences on the expert’s profile page.

User Story 3: Schedule a Video Conference

  • As a user,
  • I want to schedule a video conference with an expert,
  • so that I can discuss my needs in a personalized session.

Acceptance Criteria:

  1. The user should be able to select an available time slot from the expert’s profile.
  2. The system should check for mutual availability between the user and the expert.
  3. The user should be able to confirm the booking after selecting a time slot.
  4. Both the user and the expert should receive a confirmation email with the details of the scheduled video conference.

User Story 4: Manage Scheduled Appointments

  • As a user or expert,
  • I want to view and manage my scheduled appointments,
  • so that I can keep track of and make any necessary changes to my consultations.

Acceptance Criteria:

  1. The user and expert should have access to a dashboard displaying all upcoming and past appointments.
  2. The user and expert should be able to reschedule or cancel an appointment.
  3. Notifications should be sent to both parties if an appointment is rescheduled or canceled.

Besides these, the LLM also generates detailed acceptance criteria, which I left out above.

If you look at the above example, there are some gaps in the requirements. For instance, customer onboarding appears to be acceptable. However, some basic fields such as Name, Email, and Password are missing in the expert onboarding.

Since the AI focuses on the specific modules you ask for, make sure to watch out for parts that mention features without much detail, and for potential inaccuracies. For instance, we talk about ratings, availability of experts, and an expert profile above, but we didn’t dive into how ratings will work, how experts mark/sync their available time slots or how experts can update their profiles. You can keep adding more features like rating,  and review systems, expert profile management, video conferencing, payment processing, and so on, just like we did with the first two features.

GenAI has come a long way since OpenAI kicked off the project in 2015. If you take a close look at the generated content above, you’ll notice plenty of spots where adding more details would make it better. So, don’t worry—AI isn’t going to steal your job as a Business Analyst. At least, not yet.