Collaboration in Software Development
- Explain why collaboration improves the quality of a computing artifact
- Describe the roles and inclusive practices of an effective development team
- Give and receive constructive feedback that improves a program
Why programmers work together
Real software is almost never built alone. Collaboration is people working together toward a shared goal, and it improves a program in ways a single author cannot match. A group brings multiple perspectives, so more edge cases and user needs get noticed; it distributes the workload; and it lets members combine complementary skills — one person may be strong at interface design, another at algorithms. The College Board even requires your Create Performance Task to be your own program, but the surrounding development is expected to be informed by feedback from others. The core idea: diverse teams catch problems and generate ideas that a lone developer misses.
Inclusion makes teams stronger
A collaborative team works best when it is inclusive — when every member’s ideas are genuinely heard regardless of background or experience. Inclusion is not just fairness; it is effectiveness. A program designed by people who share one narrow set of experiences tends to serve only users like them. Bringing in people with different perspectives surfaces needs the majority would overlook, such as accessibility for users who are colorblind or who navigate with a keyboard instead of a mouse. Practices that support inclusion include rotating who speaks, crediting ideas to their authors, and building consensus rather than letting the loudest voice decide.
Consensus, communication, and conflict
Teams coordinate through communication: shared documents, regular check-ins, and clear ownership of tasks. When members disagree, effective teams reach consensus — a decision everyone can support — by weighing options against the program’s goals rather than by who argued hardest. Disagreement itself is valuable: it is how flawed assumptions get exposed before they become bugs. What matters is that the conflict stays about the ideas, not the people.
A three-person team is building a quiz app. One member says the app should show the correct answer immediately after each question; another says it should wait until the end. How should the team resolve this well?
- 1.Restate each option in terms of the program’s goal — here, helping users learn from a quiz.
- 2.Gather evidence: immediate feedback may help learning, but revealing answers early could let users game a graded quiz. The right choice depends on the app’s purpose.
- 3.Because the team cannot agree from opinion alone, they test both with a few sample users and compare which better serves the goal.
- 4.They adopt the option the evidence supports and document why, so the decision is a shared, reasoned consensus rather than one person overruling the others.
Which of the following is the strongest reason that collaboration tends to improve a computing artifact?
On the exam, tie collaboration to quality: diverse teams catch more problems and better serve varied users. Beware answer choices that overclaim — collaboration does not guarantee correctness or eliminate the need for testing.
A teammate reviews your code and points out that your app’s only color-based buttons would be unusable for colorblind users. This is an example of collaboration improving a program mainly through:
Good feedback is specific and about the work: "the submit button gives no confirmation, so users click it twice" is useful; "your app is bad" is not. When receiving feedback, treat it as information about the program, not a judgment of you.
Answer the 2 checkpoints as you read.
Sign in to save your progress