51 Core Abilities of Successful Software

To be successful, a project must balance these 51 core abilities


  1. Accessibility
  2. Affordability
  3. Beauty
  4. Build
  5. Caching
  6. Code Coverage
  7. Compatibility
  8. Complexity
  9. Consistency
  10. Credibility
  11. Cyclomatic complexity
  12. Discoverability
  13. Documentation
  14. Efficiency
  15. Ethics
  16. Extensibility
  17. Honesty
  18. Integration
  19. Licensing
  20. Logging and instrumentability
  21. Maintainability
  22. Marketability
  23. Memorability
  24. Modularity
  25. Open-ness
  26. Optimisibility
  27. Originality
  28. Parallelability
  29. Performance
  30. Platform versatility
  31. Popularity
  32. Power
  33. Practicality
  34. Predictability
  35. Purity
  36. Readability
  37. Reliability
  38. Remarkability
  39. Responsiveness
  40. Reusability
  41. Robustness
  42. Scalability
  43. Scriptability (automatability)
  44. Security
  45. Simplicity
  46. Testability
  47. Transparency
  48. Trustworthiness
  49. Usability
  50. User eXperience
  51. Versatility

You have room for three.

Security and usability are two.

Pick one.

[Apologies to Scott Adams who provided the template. See dilbert cartoon (here too)]

 

I'm currently writing a book about how to build your first product. If you want to build your first product, please sign up to be notified when the book is available.

(By the way, I read every comment and often respond.)

Your comment, please?

Your Name
Your Url (optional)
Note: I may edit, reuse or delete your comment. Don't be mean.