Шломи Фиш (Shlomi Fish) проанализировал факторы определяющие высокое качество программного обеспечения:
* Программа должна часто обновляться и быть всегда доступна для скачивания или покупки.
* Должно быть легко узнать номер версии. Лучше если номер версии можно узнать без установки и запуска из пути для скачивания и из имени архива или из имени папки установки.
* Код программы должен быть открытым, лучше если лицензия позволяет свободное использование кода.
* Программа не должна требовать существенной настройки или дополнительного обучения (изменения привычек).
* Программа должна иметь качественную веб-страницу, где легко найти всю необходимую информацию.
* Программа не должна быть сложной в компиляции и запуске, не должна использовать особенности компиляторов и должна иметь немного зависимостей.
* Должны быть легко доступны готовые собранные пакеты или должно быть легко их собрать.
* Программа должна быть хорошо документирована.
* Программа должна быть переносимой (работать на как можно большем количестве распространенных платформ).
* Высококачественная программа должна быть безопасна - это означает что должно быть немного проблем с безопасностью и баги должны исправляться быстро.
* При выходе новых версий должна сохраняться совместимость со старыми.
* Высококачественная программа имеет хорошие пути поддержки пользователей - почтовые рассылки, IRC, техподдержку по email, форумы, wiki.
* Программа должна быть быстрой и не должна потреблять много ресурсов.
* И конечно-же высококачественная программа должна быть эстетичной и не перегружать пользователя излишней информацией.
Как сделать программу высококачественной?
* Код программы должен быть модульным и хорошо написанным.
* В разработке должны использоваться автоматические тесты, лучше если тест пишется до начала написания тестируемого кода.
* Нужно иметь хороший контакт с сообществом пользователей, которые будут тестировать бета-версии и предлагать улучшения.
* Релизы должны быть частыми.
* Управление проектом должно быть объективным и дальновидным.
* Слишком навязчивая реклама вредна, и совершенно недопустима неправдивая реклама.
* И последнее: хорошее название программы важно.
Оригинальная ссылка:
http://www.shlomifish.org/philosophy/computers/high-quality-software/З.Ы,:
1. не согласен с тем что код должен быть открытым, я вообще за open source, НО, есть некоторые проекты, которые просто обязаны быть коммерческими, а тут получается если код не открыт, то он не может быть высококачественным.
2. дальновидности от проекта, тоже достичь практически не реально.
3. частые релизы ИМХО, могут легко запутать пользователей.