It pays to be flexible and adaptable! Our world moves quickly. Those who can move quickly with it will end up doing better in the end. Back in the 1960s, there was a method of software project management called “waterfall”. The entire project was planned carefully in advance, and then each stage was implemented in order. It worked like this:
That’s fine as long as everything tests well, and as long as the requirements don’t change halfway through the project. In more current software projects, testing often reveals the need to improvise some new solution, and requirements are changing all the time. For that reason, alternative project management methods like agile and scrum have become widely used in recent years.
The general idea behind agile software development is to phase your project into small-sized pieces called ‘sprints”. For school purposes, a sprint of about a week is a good length. During that week, each team member takes on some task. It’s OK to work in pairs or to collaborate in other ways as needed during a sprint, but you should not need to call the entire team together during the sprint unless something really major breaks. Ideally, each team member should be working on some limited, well-defined project component, That way, major breakage should never occur because of what any given team member is doing during a sprint. At the end of each sprint, there is a team meeting often called a “standup”. Sometimes the team does literally stand in a circle and debrief about their individual progress (or lack of progress and stuck points) during the previous sprint. Then tasks are adjusted, new targets are set, and the next sprint begins. Because of COVID and the growth of remote work in IT, the literal standup may not be possible. But you can certainly do team check-ins online. For our purposes here, we do not need to go into the many different variations on agile software development. There are lots of these and they all have their own terminology and specific ways of doing things. Just remember, its OK for your team to learn by doing and to adjust goals, project scope, and implementation methods from week to week during the course of a project.