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

23 stars 15 forks source link

Rank software quality attributes. #77

Closed aleeusgr closed 8 months ago

aleeusgr commented 11 months ago

https://iso25000.com/index.php/en/iso-25000-standards/iso-25010

is a software quality standard. It describes the models, consisting of characteristics and sub-characteristics, for both software product quality, and software quality in use together with practical guidance on the use of the quality models.

aleeusgr commented 11 months ago

iso25010.png

aleeusgr commented 9 months ago
  1. Code Quality: This metric evaluates how well written and maintainable the codebase is. It includes factors like code complexity, adherence to coding standards, use of best practices, test coverage, and documentation. Tools such as SonarQube or CodeClimate can help in measuring this aspect.

  2. Community Health: A healthy community indicates a positive developer experience. This metric evaluates the level of engagement among developers, the number of active contributors, responsiveness to issues and pull requests, and overall collaboration. You can measure this by analyzing GitHub or other platform metrics like stars, forks, watchers, and issue/pull request activity.

  3. Developer Onboarding: This metric assesses how easy it is for new developers to get started with the project. It includes factors such as clear documentation, tutorials, guides, and a welcoming community environment. You can evaluate this by analyzing the presence of beginner-friendly issues or tasks in the issue tracker and the overall responsiveness of maintainers to questions from newcomers.

  4. Build & Test Time: This metric evaluates how long it takes for developers to build, test, and deploy their changes. A faster process indicates a better developer experience. You can measure this by analyzing the time taken for continuous integration (CI) builds or running tests locally on different machines with varying hardware configurations.

  5. Version Control System Usage: This metric evaluates how well developers use version control systems like Git, including branching strategies and pull request practices. A well-organized repository with clear commit messages and adherence to best practices contributes positively to the developer experience. You can measure this by analyzing commit history, branching structure, and issue/pull request management in tools such as GitHub or GitLab.

  6. Documentation Quality: Good documentation is crucial for a positive developer experience. This metric evaluates how comprehensive, up-to-date, and easy to understand the project's documentation is. You can measure this by analyzing the presence of well-written README files, tutorials, API references, and other relevant documents.

  7. Security: Ensuring that an open source project has good security practices in place contributes positively to developer experience. This metric evaluates factors such as vulnerability scanning, secure coding guidelines, and prompt response to security issues. You can measure this by analyzing the presence of a security policy or guidelines document and checking for any known vulnerabilities.

aleeusgr commented 9 months ago

https://github.com/input-output-hk/Developer-Experience-working-group/issues/75