Students will explain a software development life cycle.
Students will explain the incremental nature of software development.
Students will explain the iterative nature of software development.
CRD-1.A: Explain how computing innovations are improved through collaboration.
CRD-1.B: Explain how computing innovations are developed by groups of people.
The objective of this section is to develop an understanding of the iterative and incremental nature of software development by analyzing different styles of the software development life cycle.
The student teams will be introduced to their first ARC challenge and project in the next section. In anticipation of that, the students need to have a general understanding of how software and projects are developed. Development is incremental, meaning that large projects are divided into smaller, manageable components that are completed in a specific order. Development is also iterative, meaning that the development happens in cycles using feedback to continually revise and improve the product. In the next section, students will be actively planning an iterative and incremental approach to completing their challenge project.
Activity 1.3.1 (Budget 20 minutes)
Allow student teams to sit together. Select a piece of software for discussion (video game, app, website, etc.). The teacher can make the selection or can ask students for ideas. Then ask each team to make a list of the steps needed to create this piece of software. Keep this instruction vague. Some teams may be very detailed in their responses (pick a coding language, hire programmers, etc.) and other teams may be very general (idea, code, test, sell). Give the teams 5 - 10 minutes to complete this.
Ask each group, one group at a time, to tell you a step. They cannot repeat a step that has previously been mentioned. The teacher should record their responses on the board. Once the groups run out of ideas, have a summary discussion about the steps. Students may have left out some of the important components. The next activity will fill in the gaps.
Activity 1.3.2 (Budget 30 minutes)
Present the slides on the Software Development Life Cycle. Note: Slide 5, bullet #3 talks about gathering information from the intended audience or user to get their perspective on the problem/solution. This is a core component of Design Thinking and should be emphasized.
Reflection: Have teams refer back to their original list from activity 1.3.1. Revise the list to show an approach that reflects elements of collaboration, design thinking, incremental development and iterative development.
Software Development Life Cycle slide presentation for Activity 1.3.1 (Teacher resource)