IN4315 - Software Architecture

A part of this assignment is to analyze 20 pull requests (and any issues associated with these pull requests) in a project of your choice for its stakeholders, context, and decision-making process. Details on how to select a pull request, what to look for in a pull request, and how to analyze and report findings are presented below. We encourage you to look into any documentation available online (e.g. website, blogs, and StackOverflow) to help better understand your project.

How to select a pull request?

You can use the following criteria for selecting pull requests:

  1. Count the number of code review discussions and code commit comments for each pull request in the project. You can use GHTorrent data on BigQuery for this step.
  2. Select the 10 most discussed pull requests that are accepted and the 10 most discussed pull requests that are rejected to have diversity in analysis.

Stakeholders

Identify key stakeholders of your project:

  1. Look at the types of stakeholders in Chapter 9 of Rozanski and Woods. Explain how these types apply to your project.
  2. Look beyond the Rozanski and Woods classification to identify other types of stakeholders.
  3. Explain the type of stakeholders involved, their interests in the project, and how they are trying to influence the development of the project
  4. Identify the integrators in your project (see the blog post by Georgios Gousios), analyze their merge decision strategies and challenges
  5. Identify relevant people you would like to contact
  6. Analyze pull requests for factors influencing their decision-making process. See details for analysis here.

Context View

Create a context view (Rozanski and Woods, Chapter 16) for your project.

Grading Criteria

Grading criteria include:

  • A single, well structured document
  • Well written document (including spelling and English grammar)
  • Rich set of stakeholders
  • Reflection on factors affecting decisions made by integrators
  • Comprehensive context view
  • Clearly documented choice of pull requests and its characteristics
  • Detailed explanation of the process followed to reach the decision-making process and resulting theories
  • Clear identification of sources used.

Report size

This part should contain at most 1500 words.