First, thanks for reading! This is my first post here on Dev.
If you aren’t familiar with Malsow’s Hierarch of Needs here's a brief explanation of the theory. There's a hierarchy of what a person needs, and they need to have all the things on one of the tiers before they can start fulfilling the needs on the next tier. Without having your basic physical needs satisfied, you can't have your higher-order needs fulfilled.
Let’s take that and apply it to applications. Let’s assume that you can only have one of the following before you can add another:
I think that I would probably go in the following order:
- Functionality--the app should work, right?
- Readability--hopefully a person can read the code.
- Maintainability--the code should be easy to maintain. This falls in line with readability, but has more to do with organization.
- Security--the application should be secure and follow basic security principles.
- Accessibility--the application should be accessible to ALL users.
- Documentation--the code, as well as any user documentation, exists and is valid.
- Tests--the application has automated testing. This is my passion and it makes me so sad that this falls so low.
- Performance--the application is performant.
How would you rank them?
What would you add?
What is missing?
How did you decide your order?