Hello everyone. I would like to propose a more in-depth analysis of Marvin's architectural proposal and for that I need your help. The idea isn’t to change the proposal, but to identify architectural approaches and describe scenarios around different contexts of use. This is part of my M.Sc. research, which is a case study of how to carry out such analysis in an open source environment. The activity is also interesting for the Marvin-AI community, as it has the potential to generate important insight regarding the proposed architecture, allowing us to identify new features or modify some approaches as needed.
The evaluation will be carried out using a traditional evaluation method called ATAM, developed at the Software Engineering Institute at CMU. It was originally developed to be carried out in a room with the presence of all stakeholders, in short sessions. Obviously, we can't do that, therefore I will make some adaptations, so that we can do it via email, GitHub, and the other tools we have available. Q&A: What do you need from me? R: Just check your e-mail once in a while and give us your opinion and ideas. That's it! Each interaction in the process should only take the response time of a normal email (about 15 minutes). I expect to send no more than one or two e-mails every week. Do you really need me? Literature recommends that at least 5 stakeholders are involved in the process. We have 5 PMC/committers, and it would be great if everyone is on board. I will take the liberty to encourage member participation, so that the interactions become more valuable. How long will it take? R: There is no time limit, but I expect around 6-8 weeks of effort. That depends on the discussions, though. How does this work? R: Long answer -> https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=5177. R: Short answer: - First we define Marvin-AI's mission, what Marvin proposes to do and what is out of bounds. This formal definition is important for future steps, ensuring that only what is in scope is evaluated. - Next we try to identify the architectural approaches and quality attributes. The architectural approach is how Marvin-AI is structured. Quality attributes are a form of non-functional requirements that are supposed to be implemented at the architectural level. Marvin-AI is supposed to satisfy these attributes. - Scenario brainstorming and prioritization: here we try to describe some usage scenarios (real or imaginary) that cover Marvin's main architectural approaches. We then vote to prioritize these scenario as critical / common / not important. - Analysis of the scenarios within the architectural proposal: we will make an exercise to verify how the architectural proposal performs in each scenario considered as critical or common. - Compilation of results: Presentation and compilation of results and lessons learned. That seems complicated. Can you explain better? R: Yes! I will try to be very careful and explain in details what everyone should do, before each step in the process. Thank you very much, Lucas