RD05 - Productivity and Quality
Preparation
Review the expectations for preparation for the Readings and Class Discussions.
Assigned Readings
- Chapter 4: Productivity in Collaborative Software Development by Amy Ko.
- Chapter 5: Quality in Collaborative Software Development by Amy Ko.
- Quality of Open Source Software: how many eyes are enough? by Michael M. Lokshin, Sardar Azari and David Newsom.
Discussion Questions
- Ko states that “Great engineers are resourceful, quick learners” but also that “New engineers … instincts are often to hide their lack of experience from exactly the people they need help from.”
- Finding the right balance between learning/figuring things out on your own (i.e. being resourceful, quick learners) and asking your project community for help can greatly increase your team’s productivity. What factors can you use to decide when you should keep working on your own and when you should ask the project community for guidance?
- Ko describes three sets of “Software Qualities” that are “Intrinsic to the Code”, are part of the “Developer Experience” or are part of the “User Experience.”
- Discuss and clarify any of these software qualities that are unclear.
- Compare and contrast the following qualities to clarify their meaning:
- Correctness vs. Usefulness
- Verifiability vs. Correctness
- Performance vs. User Efficiency
- Privacy vs. Security
- Consistency vs. Learnability
- Ko points out that the qualities are not independent. That is, performing better on one quality metric may require that performance is worse on another. What tradeoffs do you see that exist between the qualities?
- Which software qualities do you think are most / least important to the project on which your team is working?
- The “OSS Quality” article mentions “Linus’ Law.” What is “Linus’ Law”? Do you agree or disagree with it? Why or why not?
- Lokshin, Azari and Newsom claim that Open Source Software (OSS) “lowers development costs, decreases time to market, increases developer productivity and accelerates innovation.”
- The first three of those benefits seem fairly direct, but how does OSS accelerate innovation?
- Lokshin, Azari and Newsom also suggest that because of its “security, reliability and quality … OSS products could be seen as a public good.”
- Do you agree that OSS products should be treated as a public good? Why or why not?
- If so, how should they be supported to avoid a tragedy of the commons in which the resource of OSS developers/maintainers is overused?
- Prepare at least one question of your own related to the readings that you would like to raise for class discussion. This may be a question:
- seeking factual clarification of something in the readings.
- that you would like to hear your classmates thoughts and opinions on.
All textual materials used in this course are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
All executable code used in this course is licensed under the GNU General Public License Version 3 or later