Незалежно від теми програма, що розробляється, повинна задовольняти наступним загальним вимогам.
1. Стійкість програми. Програма не повинна втрачати працездатності ні при яких, навіть некоректних, діях користувача. Всякі дії, що загрожують втратою інформації, мають бути підтверджені користувачем. Інформація, що вводиться, скрізь, де це можливо, піддається логічному контролю.
2. Забезпечення цілісності даних. При будь-яких діях користувача не повинні втрачатися дані або їх цілісність (некоректність індексів, втрата посилань в зв'язках після видалення-додавання записів і т. д.).
3. Функціональна повнота. Мають бути реалізовані усі функції, вказані в специфікації програми.
4. Терміни і інтерфейс. У діалогових вікнах використовуються тільки терміни, зрозумілі користувачеві, і не використовуються терміни розробника («запис», «індексація» і т. д.). Поява службових англомовних повідомлень неприпустимо. У повідомленнях користувача слід дотримуватися норм ввічливості, колірна гамма повинна наслідувати загальноприйняті рекомендації.
5. Використання клавіатури. На будь-якому етапі натиснення будь-якої клавіші повинне ігноруватися або викликати передбачені дії, описані в засобах допомоги. Прив'язка дій до клавіш має бути загальноприйнятою: F1 - допомога; Entег - згода, завершення введення; Еsс - відмова, повернення до попереднього вузла гілки алгоритму (з відновленням екранної форми); Таb - перехід до наступного поля, вікна і т. д.; Shift - Tab - повернення до попереднього поля і т., д.