input-output-hk / Developer-Experience-working-group

23 stars 15 forks source link

choose and rank software quality attributes relevant to decision making in DevEx. #75

Open aleeusgr opened 8 months ago

aleeusgr commented 8 months ago

Choosing the right software quality attributes (SQAs) is crucial for a developer experience (DevEx) working group for several reasons:

  1. Alignment with project goals: Selecting appropriate SQAs ensures that the developed software meets the project's objectives and user needs. By focusing on the right attributes, the DevEx group can prioritize efforts and resources effectively.

  2. User satisfaction: High-quality software that excels in essential SQAs, such as usability, performance, and security, leads to increased user satisfaction. A positive developer experience contributes to higher productivity, reduced frustration, and long-term engagement.

  3. Risk mitigation: Identifying and addressing critical SQAs helps minimize potential risks, such as security vulnerabilities, system failures, and poor performance. By proactively addressing these concerns, the DevEx group can reduce the likelihood and impact of issues that may negatively affect the developer experience.

  4. Differentiation: Focusing on specific SQAs can differentiate the developed software from competitors, making it more appealing to developers. By excelling in areas that matter most to the target audience, the DevEx group can create a competitive advantage.

  5. Efficiency and maintainability: Prioritizing SQAs like modularity, testability, and scalability can lead to more efficient development processes, easier maintenance, and lower long-term costs.

When choosing SQAs for a DevEx working group, consider the following factors:

By carefully selecting and prioritizing SQAs, the DevEx working group can create software that meets user needs, reduces risks, and fosters a positive developer experience. Regularly reviewing and updating SQAs ensures that the group stays aligned with evolving project requirements and user expectations.

aleeusgr commented 8 months ago

5055 is an ISO standard for measuring the internal structure of a software product on four business-critical factors: Security, Reliability, Performance Efficiency, and Maintainability. These are the factors that determine how trustworthy, dependable, and resilient a software system will be.

Details

![image](https://github.com/input-output-hk/Developer-Experience-working-group/assets/36756030/53d1f552-6a5c-4eea-b891-53676a7a3673) ![image](https://github.com/input-output-hk/Developer-Experience-working-group/assets/36756030/440d6858-d95f-4341-afd3-769cc8f7f1d0) ![image](https://github.com/input-output-hk/Developer-Experience-working-group/assets/36756030/7e5e8736-dcc5-46b5-b896-334198e447f1) ![image](https://github.com/input-output-hk/Developer-Experience-working-group/assets/36756030/6ceed8da-55d8-4e63-ae95-f02b6258c872) https://www.it-cisq.org/standards/code-quality-standards/

image

aleeusgr commented 8 months ago
IEC_9126

![image](https://github.com/input-output-hk/Developer-Experience-working-group/assets/36756030/efbf0772-27a4-4ba0-baff-deb79abbe090) [source](https://en.wikipedia.org/wiki/ISO/IEC_9126)