До труднощів створення системи на базі програмного забезпечення відносять наступні.

Складність. Це розглядається як важлива властивість програмного забезпечення, у якої немає двох однакових частин, як результат система може мати дуже багато станів під час виконання. Ця складність також є довільною, вона скоріш за все буде залежити від проектувальника, ніж від проблеми.

Відповідність. Програмне забезпечення, будучи ‘гнучка, як очікується, щоб вони відповідали стандартам, що встановлюються інших компонентів, таких як устаткування, або зовнішніми органами, або існуючим програмним забезпеченням.

Мінливість. Програмне забезпечення має постійну потребу  змінюватись, вчасності через легкість внесення змін

Невидимість. Оскільки програмне забезпечення є “невидимим”,то  будь-які форми представлення, які використовуються для його опису будуть позбавлені будь-якої форми візуального посилання, які можуть дати легко зрозуміти взаємозв’язок між уявленням і системою – на відміну, наприклад, від плану  будівлі, який можна легко пов’язати з видимими особливостями будівлі.