Question 2: Development life cycles
One type of suggested alternative to the traditional waterfall software life cycle is "agile software development".
Agile techniques typically emphasize frequent product inspection, user feedback, and product adaptation together with a greater focus on effective teamwork and collaboration skills.
Agile methodologies often use many short cycles, each of which lasts several weeks and makes a small incremental change to the product. A single cycle would generally consist of planning, analysis, design, coding, testing, and user testing - each done in a short burst focusing on the latest change.
With respect to the product for your team project, discuss how an agile methodology would have been better or worse than the approach you used this semester.