Skip to content
Iterative Development and User Feedback
Coding · 3rd Year · Developing Software for Societal Impact · 4.º Período

Iterative Development and User Feedback

Write and test code for the community app, incorporating feedback from potential users. Reflect on how user-centered design improves the social utility of technology.

TL;DR:Iterative development is the heart of modern software engineering. In this topic, students write their code, test it, and, most importantly, use feedback to improve it. This cycle of 'build-measure-learn' aligns with NCCA Learning Outcomes 3.3 and 3.4, focusing on testing and reflection.

NCCA Curriculum SpecificationsNCCA Coding Short Course LO 3.3NCCA Coding Short Course LO 3.4

About This Topic

Iterative development is the heart of modern software engineering. In this topic, students write their code, test it, and, most importantly, use feedback to improve it. This cycle of 'build-measure-learn' aligns with NCCA Learning Outcomes 3.3 and 3.4, focusing on testing and reflection.

For 3rd Year students, this is often the most challenging phase because it requires them to be comfortable with 'failure' as a path to improvement. By treating feedback as a gift rather than a criticism, students develop a growth mindset. This topic is best supported by structured peer-testing sessions where students observe others using their software and take notes on where they get stuck.

Key Questions

  1. Why is user feedback critical in software development?
  2. How do we iterate on a design to better serve the community?
  3. What are the common ethical pitfalls in app development?

Watch Out for These Misconceptions

Common MisconceptionChanging my code based on feedback means my first version was a failure.

What to Teach Instead

Reframe iteration as the professional standard. Show examples of how famous apps (like Instagram or YouTube) looked in their first versions to show that great software is grown, not born.

Common MisconceptionI can just ask my friends for feedback and they will tell me the truth.

What to Teach Instead

Explain 'confirmation bias.' Use structured feedback forms that ask specific, objective questions to help students get more honest and useful data from their testers.

Active Learning Ideas

See all activities

Frequently Asked Questions

Why is user feedback so important in coding?
As the developer, you are too close to your own work to see its flaws. Users will often interact with your app in ways you didn't expect, uncovering bugs or confusing layouts that you would never have found on your own.
What does 'iterative development' mean?
It means developing software in small, repeatable cycles. You build a small part, test it with users, learn from their experience, and then improve the code. This process continues until the software meets the needs of the community.
How can active learning help students with iterative development?
Active learning strategies like 'Silent User Testing' force students to step out of their own perspective. By observing a peer use their app without being able to explain it to them, students gain immediate, undeniable evidence of what works and what doesn't. This makes the need for iteration clear and actionable.
How do I handle negative feedback on my project?
Don't take it personally! Every 'problem' a user finds is an opportunity to make your app better. In your CBA reflection, explaining how you used negative feedback to improve your project is actually a way to get higher marks.
Edited by Adriana Perusin, Editor-in-Chief, Flip Education
Synthesized by Flip Education from Lyman's Think-Pair-Share collaborative-discussion routine (1981)