Milestone 4: Question Set and Review Results - SENG-350-2024-fall/Team3 GitHub Wiki

Question Set

1. Question Set Name: Architecture Review
2. Purpose: Assess architecture to meet stakeholder needs and document decisions.
3. Stakeholders and Concerns: Architects, Developers, Business Managers, Analysts, Acquirers
4. Questions 4a. Respondents 4b. Expected Answers 4c. Criticality
1. Are specific architecturally significant requirements (ASRs) identified and clear?

2. Are ASRs prioritized and mapped to business goals?

3. Are the viewpoints and models used appropriate for capturing ASRs?

4. Is there a rationale for key architectural decisions, and are these tied to ASRs?

5. Are the trade-offs between competing architectural decisions documented?

6. Are dependencies between components or modules well-defined?

7. Is the documentation sufficient for developers to implement the architecture?
Architects 1. Yes, ASRs are identified and documented.

2. ASRs are clearly prioritized.

3. Models are appropriate and sufficient.

4. Decisions are tied to ASRs.

5. Trade-offs are documented.

6. Dependencies are clearly defined.

7. Documentation meets developer needs.
High
1. Can you identify the complete set of implementation units?

2. Can you determine which units can be developed in parallel?

3. Are dependencies between implementation units clearly defined?

4. Are the architectural constraints (e.g., patterns, styles, or principles) well-documented?

5. Is the architecture designed to support modular development and integration?
Developers 1. All implementation units are identified.

2. Parallel development is feasible.

3. Dependencies are clearly defined.

4. Constraints are well-documented.

5. Modular development is supported.
1. Are the business goals and their corresponding ASRs clearly documented?

2. Is there traceability from business goals to technical decisions and risks?

3. How does the architecture mitigate identified risks to business objectives?

4. Does the architecture support scalability for future business growth?

5. Are the long-term costs of maintaining and evolving the architecture estimated?
Business Managers 1. Goals and ASRs are documented.

2. Traceability exists.

3. Risks are mitigated effectively.

4. Architecture supports scalability.

5. Costs are estimated.
1. How does the architecture handle user authentication and authorization?

2. Are data protection mechanisms (e.g., encryption, secure storage) in place?

3. Are common vulnerabilities (e.g., SQL injection, XSS) addressed?

4. Is there documentation for security testing procedures?

5. Are there contingency plans for data breaches or system failures?
Analysts 1. Robust authentication is implemented.

2. Data protection measures are in place.

3. Vulnerabilities are addressed.

4. Security testing is documented.

5. Contingency plans exist.
1. Are all stakeholders' roles and concerns listed in the AD?

2. Are concerns prioritized and addressed adequately in the documentation?

3. Does the architecture support the stakeholders’ ability to perform their roles effectively?

4. Is there a rationale for key architectural decisions, and are these tied to ASRs?

5. Is the AD easy to navigate and comprehend for all stakeholders?
All Stakeholders 1. Yes, all roles and concerns are listed.

2. Yes, concerns are prioritized and addressed.

3. Yes, the architecture supports stakeholder roles.

4. Yes, decisions are tied to ASRs with rationale.

5. Yes, the AD is easy to navigate and understand.
5. Advice: Focus on ASRs and alignment with stakeholder needs across all groups.

Review 1

Architects
Are specific architecturally significant requirements (ASRs) identified and clear? The ASRs are mentioned, but they could be more explicit and defined in the document.
Are ASRs prioritized and mapped to business goals? Business goals are stated, but there is no clear mapping to ASRs.
Are the viewpoints and models used appropriate for capturing ASRs? Yes, the viewpoints and models seem appropriate, following standard templates.
4a. Is there a rationale for key architectural decisions, and are these tied to ASRs? The rationale for decisions is provided, but the connection to ASRs is not always clear.
4b. Are these decisions tied to ASRs? The architectural decisions are not explicitly linked to ASRs, but they appear to address them in a general sense.
Are the trade-offs between competing architectural decisions documented? The document mentions some trade-offs, but a deeper analysis of competing decisions is lacking.
Are dependencies between components or modules well-defined? Yes, the dependencies are clearly defined in the system diagrams.
Is the documentation sufficient for developers to implement the architecture? The documentation provides a high-level overview, but more detailed implementation guidelines are needed.
Developers
Can you identify the complete set of implementation units? Yes, the implementation units are clearly identified at a high level.
Can you determine which units can be developed in parallel? Yes, based on the runtime and allocation views, parallel development seems feasible.
Are dependencies between implementation units clearly defined? Yes, dependencies are well-documented in the diagrams and descriptions.
Are the architectural constraints (e.g., patterns, styles, or principles) well-documented? Yes, the architectural constraints are detailed in the design section of the document.
Is the architecture designed to support modular development and integration? Yes, the architecture is well-structured for modularity and integration.
All Stakeholders
Are all stakeholders' roles and concerns listed in the AD? Yes, all roles and concerns are listed, but the concerns could be more detailed.
Are concerns prioritized and addressed adequately in the documentation? The documentation addresses concerns, but prioritization could be more explicit.
Does the architecture support the stakeholders’ ability to perform their roles effectively? Yes, the architecture supports most roles effectively, but more developer-centric details would improve the document.
Are inconsistencies between views documented and resolved? There don’t seem to be any inconsistencies between views.
Is the AD easy to navigate and comprehend for all stakeholders? Yes, the AD is well-structured and easy to follow for all stakeholders.

Review 2

Architects
Are specific architecturally significant requirements (ASRs) identified and clear? The ASRs are implied by the implementation of the system. But, the ASRs are not clearly identified.
Are ASRs prioritized and mapped to business goals? Business goals are not clearly identified.
Are the viewpoints and models used appropriate for capturing ASRs? Yes, the SAD follows the robust template from Carnegie Mellon University SENG.
4a. Is there a rationale for key architectural decisions, and are these tied to ASRs? Yes, the decisions for including availability tactics and design patterns are detailed in the architectural approaches section.
4b. Are these decisions tied to ASRs? These decisions are not explicitly tied to ASRs as the ASRs are not clearly identified. But one can derive the ASRs from these decisions.
Are the trade-offs between competing architectural decisions documented? The implemented architectural decisions did not compete with each other and are best suited to support the system.
Are dependencies between components or modules well-defined? Yes in the runtime and allocation views.
Is the documentation sufficient for developers to implement the architecture? I don't know, I've never had to implement software from documentation.
Developers
Can you identify the complete set of implementation units? On a high level, yes, but not on a very in-depth level.
Can you determine which units can be developed in parallel? Yes in the runtime and allocation views.
Are dependencies between implementation units clearly defined? Yes in the runtime and allocation views.
Are the architectural constraints (e.g., patterns, styles, or principles) well-documented? Yes in the roadmap.
Is the architecture designed to support modular development and integration? Yes.
All Stakeholders
Are all stakeholders' roles and concerns listed in the AD? Yes, in the question set section.
Are concerns prioritized and addressed adequately in the documentation? Yes, the SAD follows the robust template from Carnegie Mellon University SENG.
Does the architecture support the stakeholders’ ability to perform their roles effectively? In the case of the architecture analyst stakeholder role, yes. In the case of the developer role, I think more low-level documentation is needed.
Are inconsistencies between views documented and resolved? Did not see any inconsistencies.
Is the AD easy to navigate and comprehend for all stakeholders? Yes.

Results Analysis

The two reviews of the architecture document present a generally positive assessment but highlight areas for improvement, particularly in clarifying the connection between architectural decisions and architecturally significant requirements (ASRs). Both reviews agree that the architecture follows established templates and includes key viewpoints, such as runtime and allocation views, that are appropriate for capturing the system's needs. Furthermore, the overall structure is clear and easy to navigate for stakeholders.

One major issue raised across both reviews is the lack of explicit identification and prioritization of ASRs, which undermines the clarity of their connection to business goals and architectural decisions. While both reviews acknowledge that decisions are made with consideration for ASRs, they are not consistently tied to those requirements in the document. Additionally, the lack of a more detailed rationale for competing architectural decisions is flagged, especially in terms of trade-offs, which could be more thoroughly documented to provide greater transparency for stakeholders.

Developers, on the other hand, are generally satisfied with the clarity of implementation units and the definition of dependencies. Both reviews confirm that the modularity of the architecture supports parallel development and integration. However, Review 2 highlighted that more detailed low-level documentation would be beneficial for developers, a point not addressed in Review 1.

Overall, while the architecture document demonstrates a strong foundational structure and aligns well with most stakeholder needs, the critiques indicate that there is room for improvement in the areas of ASR clarity, decision-making rationale, and more detailed documentation for developers. These adjustments could enhance the document's usability and impact across all stakeholder groups.

⚠️ **GitHub.com Fallback** ⚠️