Chapter One

What Software Development Really Is

Before any of the practices, the big picture. This chapter gives "software development" an honest meaning: the difference between writing code and building a product, the kinds of software in the world, what the word "engineering" actually adds, and the team of people it takes to make software real.

4 topics

Ask ten people what software development is and most will say "writing code". That answer isn't wrong, but it's a sliver of the truth — like saying cooking is "turning on the stove". This chapter widens the picture before we go anywhere else.

Four short topics lay the ground. First, the difference between a program, software, and a product — three things people lump together that are really not the same. Then a quick map of the kinds of software in the world, so you can place any project. Then the heart of it: what the word "engineering" adds to plain coding. And finally the team of people it takes — because software is almost never built by one person alone.

What "building software" really includes, from the outside in
A product people rely on
used every day, supported, improved for years
Built by a team, with a process
product, design, developers, testing, operations
Made of software, not just code
the code plus its data, config, tests, and docs
Starting from a program that runs
the lines of code — the part everyone pictures

Topics in This Chapter