4 Defining your vision: Building What, How, and Why for Whom

 

This chapter covers

  • Understanding which requirements matter most for voice-first development and why
  • Capturing real-world functional, non-functional, user, and system constraints for voice
  • Asking the right questions and understanding the implications

Because voice-first is such a hot topic, you can find lots of talks and online classes claiming to show you how to build for voice in a very short time. True: you can get something up and running very quickly today, which is awesome. You already did exactly that in chapter 3. Something quick may even be enough if your goal is to build something for your own use. But you probably want to create something for others. What then? To riff off the movie Field of Dreams: if you build it, will they come? The answer is: they might... if you build something that matches their expectations, works well and meets their needs and expectations rather than yours. So, then, how do you know what to build, for whom, what those users want, and whether or not you have the right resources?

4.1       Functional requirements: What are you building?

4.1.1   General functionality

4.1.2   Detailed functionality

4.1.3   Supporting functionality

4.2       Non-functional business requirements: Why are you building it?

4.2.1   General purpose and goal

4.2.2   Underlying service and existing automation

4.2.3   Branding and terminology

4.2.4   Data needs

4.2.5   Access and availability

4.2.6   Legal and business constraints

4.3       Non-functional user requirements: Who will use it and what do they want?

4.3.1   Demographics and characteristics

4.3.2   User engagement patterns

4.3.3   User mental models and domain knowledge

4.3.4   User environment and state of mind

4.4       Non-functional system requirements: How will you build it?

4.4.1   Recognizer, parser, and interpreter

4.4.2   External data sources

4.4.3   Data storage and data access

4.4.4   Other system concerns

4.5       Summary