Students will practice Computational Solution design by designing and evaluating computational solutions for a purpose. (P-1)
Students will participate in an AGILE-based approach to software development.
CRD-1.C: Students will demonstrate effective interpersonal skills during collaboration.
CRD-2.E.3: Students will participate in an iterative development process that requires refinement and revision based upon feedback, testing or reflection during the process.
CRD-2.E.4: Students will participate in an incremental development process that breaks down a problem into smaller pieces and makes sure each piece works before adding it to the whole.
CRD-2.F.1: The design of a program incorporates investigation to determine its requirements.
CRD-2.F.2: Investigation in a development process is useful for understanding and identifying the program constraints, as well as the concerns and interests of the people who will use the program.
CRD-2.F.3: Some ways investigation can be be performed are as follows:
collecting data through surveys
interviews
CRD-2.F.6: In the development process, the design phase outlines how to accomplish a given program specification.
CRD-2.F.7: The design phase of a program may include:
brainstorming
planning and storyboarding
organizing the program into modules and functional components
creation of diagrams that represent the layouts of the user interface
development of a testing strategy for the program
The objectives of this section are to complete a Sprint 1 assignment list and to work toward the completion of those tasks.
In this section, student teams will review the AGILE model of software development with an emphasis on the incremental and iterative nature. Teams will develop their first Sprint plan and will assign sub-tasks. The teacher will announce the "due date" of the Sprint 1 assignments and students should plan what they anticipate they can finish within that time frame. Teams are then given class time to work on their respective tasks.
Activity 1.5.1 (Budget 3 hours)
Review the Software Development Life Cycle material as an introduction. Students should have access to the AGILE model. Discuss in small groups or whole class discussion.
Explain that the teams will be working on the ARC challenge projects using an AGILE approach. Each team will select a Project Manager who, in addition to completing his/her assigned tasks, will oversee the progress of the team. Project Managers will report progress to the teacher on a regular basis. In addition, the projects will be completed in two Sprints. Sprint #1 should last for three class periods. Emphasize that you do not expect the projects to be completed in three class periods. Teams should make significant progress.
Give each team a Sprint Assignment sheet. Each team should complete this assignment sheet. They should refer to their Project Requirements Analysis to help them plan the Sprint #1 assignments. Students are not assigning every component of the project on the Sprint 1 assignment sheet. They select what they feel they can reasonably accomplish within three class periods. This will be different for each team. For example, if no one on the team has used Thunkable, they may need 2-3 class periods to learn how to use it and to practice with it before starting the Quiz app. Another team may have some experience programmers on it and can reasonably finish the app within this time period. Students are not used to planning and anticipating the amount of time a task will require. They often overestimate what they can get done. Let them overestimate. This is a learning process. As they get closer to the Sprint 1 deadline, the teacher will be having discussions about the feasibility of finishing. It's okay to not finish a task on a Sprint 1 deadline if there are justifiable reasons (took longer to learn how to use the software, website was blocked, team member out sick, etc.). The Sprint 1 deadline is the end of one iteration. At the end of the iteration, the teams will reevaluate their progress and make revisions for the Sprint 2 tasks. The end of Sprint 2 will be the hard deadline. This process is part of the incremental and iterative nature of software development.
Once the teacher has approved the Sprint #1 plans, the teams begin working on their respective tasks.
During the work periods, the teacher's role is that of facilitator and manager. I like to have meetings with each Project Manager at the beginning of class to get a status update and to disseminate any information that needs to go out to the groups. The teacher should circulate throughout the room during the class period to stay aware of progress, answer questions or provide "just in time" instruction. The teacher should also make sure the students are on task and engaged.
An App Development Planning Guide has also been provided for students to use with the development process and the Agile Software Development Model.
Section 1.6 will address the curriculum content that will need to be taught to complete the challenge projects and will give suggestions on how to embed this instruction in the team work periods.