Шломи Фиш (Shlomi Fish) проанализировал факторы определяющие высокое качество программного обеспечения:

  • Программа должна часто обновляться и быть всегда доступна для скачивания или покупки.
  • Должно быть легко узнать номер версии. Лучше если номер версии
    можно узнать без установки и запуска из пути для скачивания и из имени
    архива или из имени папки установки.
  • Код программы должен быть открытым, лучше если лицензия позволяет свободное использование кода.
  • Программа не должна требовать существенной настройки или дополнительного обучения (изменения привычек).
  • Программа должна иметь качественную веб-страницу, где легко найти всю необходимую информацию.
  • Программа не должна быть сложной в компиляции и запуске, не
    должна использовать особенности компиляторов и должна иметь немного
    зависимостей.
  • Должны быть легко доступны готовые собранные пакеты или должно быть легко их собрать.
  • Программа должна быть хорошо документирована.
  • Программа должна быть переносимой (работать на как можно большем количестве распространенных платформ).
  • Высококачественная программа должна быть безопасна — это
    означает что должно быть немного проблем с безопасностью и баги должны
    исправляться быстро.
  • При выходе новых версий должна сохраняться совместимость со старыми.
  • Высококачественная программа имеет хорошие пути поддержки
    пользователей — почтовые рассылки, IRC, техподдержку по email, форумы,
    wiki.
  • Программа должна быть быстрой и не должна потреблять много ресурсов.
  • И конечно-же высококачественная программа должна быть эстетичной и не перегружать пользователя излишней информацией.

Как сделать программу высококачественной?

  • Код программы должен быть модульным и хорошо написанным.
  • В разработке должны использоваться автоматические тесты, лучше если тест пишется до начала написания тестируемого кода.
  • Нужно иметь хороший контакт с сообществом пользователей, которые будут тестировать бета-версии и предлагать улучшения.
  • Релизы должны быть частыми.
  • Управление проектом должно быть объективным и дальновидным.
  • Слишком навязчивая реклама вредна, и совершенно недопустима неправдивая реклама.
  • И последнее: хорошее название программы важно.

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34