Last week, we developed a worksheet for students to create a design document for a long-term Scratch project. This has met with much more participation than the morning theme weeks, so Tech Time mornings will focus on the ongoing development of these long-term projects. We have also been discussing a "Tech Time faire" for a Saturday in December (stay tuned for more on this!), and these long-term projects seem ideal for showcasing as finished, polished products.
The design document worksheet can be found here (page one is for 2nd-5th graders, page two is for K-1 students). Click "Read More" for some more information on how grown-ups use design documents at their jobs.
A design document is a tool that software developers use to keep track of the overall goals of their project throughout its creation and refinement. It's meant to act as a bridge between their goals for the project and the code they will write: when coding, a developer will often refer to the design document to double-check that her code is actually accomplishing the project's goals, and will be able to work properly with other parts of the project. Because many developers often work on different parts of a project, design documents also help to ease the troubles of such compartmentalization, outlining what each part of the project has to be able to do in order to work with the other parts of the project.
In this way, design documents are a lot like blueprints for a house or a machine: as long as the pieces are shaped and sized correctly, it doesn't matter too much what they're made out of or how they're produced. For example, a gear could be made out of metal, plastic, or wood; it could be cut out by hand, laser-cut from a sheet, or extruded from a 3D printer. But as long as it has the right dimensions and can withstand the stresses of operation, its manufacture is irrelevant. When coding, the same principle applies: as long as the code you writes gets the job done, then you can write it however you want. The job of the design document is to give you a goal to aim at, a way to know when you've done your work right.
Design documents are an integral part of all software development jobs, from something as basic and ubiquitous as operating systems to something as platform-specific and single-use as video games for iPhones. At Tech Time, our goal with these design documents is to expose students to the process, so that they will have an idea of what design documents are when they come up in the future, and will have some experience with how design documents fit into the software development process.
Wikipedia on software design documents: This article explains how design documents work in the software industry in general.
Wikipedia on game design documents: This article discusses how design documents work and change during a game's development, which more closely resembles how we will use our design documents at Tech Time.