4 The twisted path of development: Figuring out what to build and how to build it
In this chapter, you will learn
- Continuous planning to cover the rocky ground of software development
- Figuring out the questions we must answer to plan our product
- Deciding what should and should not be included in our product
- Answering product questions through prototyping
When you read chapters 2 and 3, it might have seemed that there was some kind of magic at work. I simply got started with the coding for Photosphere like I already knew what I was doing with it!
Well, in fact, I didn’t just know where I was heading with it. Instead I had already put in a lot of effort into planning it and in this chapter we pull back the curtains to reveal the magic that happened before (and during) the coding of Photosphere.
You will see that there is no magic (sorry for the spoiler). Just a sequence of (usually) logical steps forward. Many of those steps were small, especially during the production coding we have seen in chapters 2 and 3. However, many other steps have been much larger, notably when I was prototyping (figure 4.1), which we will see in this chapter.
Planning and executing a software project, indeed being a software developer, means we must follow a twisted and tumultuous path (hence the name of this chapter), taking in feedback along the way so that that we can figure out what it is that we are building, but not only that: we must also learn how to build it.