This chapter covers
- Clarifying product requirements
- Defining the scope of work
- Designing the application architecture
- Forging a simple implementation of the core subsystem
In this chapter, we’ll start working on a SCADA-like system that we mentioned in a storytelling format in chapter 1 when describing our interactions with the Space Z corporation. SCADA (supervisory control and data acquisition) systems are software systems that work with complex hardware and allow the staff to control it. Such systems are usually complex and big, and I’m not nearly an expert in any of them. But this will be an interesting real-world task to explore. Let’s call our SCADA system Andromeda Control Software. This project aims to develop a spaceship control and simulation software that the engineers from Space Z Corporation can use in their work. It has many parts and components, and all of them have their own requirements and desired properties. But for now, we only need a skeleton implementation with muscles that are enough for a little dancing. This will be our starting point, and we’ll call this application a minimum viable product (MVP).