3 Design and discovery

 

This chapter covers

  • Using ChatGPT in the design phase
  • Breaking down a problem with ChatGPT
  • Crafting prompts
  • Using ChatGPT to generate a design document
  • Generating user stories

Design is key in software development, yet programmers often rush it. I’ve done this, too. Taking time to plan an app’s architecture leads to happy users and lower maintenance costs. How can generative AI speed up the design process?

Our goal here is to design a web application that solves a common problem: studying for a certification exam. The app will provide randomized practice tests for exam preparation. First, we’ll analyze the problem and create a design document with ChatGPT’s help. Then, we’ll use ChatGPT to improve the document and develop user stories to guide development.

By collaborating with ChatGPT in the design phase, we can quickly outline architecture for our app. We’ll also ask ChatGPT-targeted questions to uncover ideas and details we may not have considered on our own. The result is a solid foundation to build and iterate upon as we progress through the project.

Let’s learn how AI can boost creativity and productivity, even early in the software life cycle. We’ll set ourselves up for easier development by using these generative tools.

3.1 Getting to know ChatGPT

3.2 The problem

3.3 Creating the right prompt

3.4 Measuring the effect on the design process

3.5 A design document created with ChatGPT

3.6 Software design document: HAM radio license practice test application

3.7 Digging deeper

3.7.1 System overview (section 2)

3.7.2 Technical stack (section 5)

3.8 Generating user stories for our project

3.8.1 Defining roles in prompts

3.8.2 The output: User stories document

3.8.3 Analyzing the output

3.8.4 User stories document in detail

Summary