Проблема, про яку ви звертаєтесь, означає, що кілька речей були пропущені, отже, отримана система пішла не так. Дозвольте описати декілька пропущених кроків:
Управління якістю - зробіть це правильно з першого разу! Ніколи не використовуйте тимчасових хак чи тимчасових компромісів. Не потрібно проводити переробку. Всі ресурси використовуються ефективно, і все, що ви робите, - це належний внесок у проект.
Аналіз техніко-економічного обгрунтування - виявіть потребу в бізнесі. Створіть бізнес-кейс для проекту.
План проекту - чітко визначте свій початковий обсяг, сплануйте спосіб доставки рішення, створіть базову лінію, дотримуйтесь плану. Не витрачайте час на те, що не на критичному шляху.
Вимоги Інженерія - Вимагайте бізнес-вимог (тобто фіксуйте бізнес-процеси та визначайте, які бізнес-операції мають підтримуватися комп'ютеризованою системою, перекладіть 1: 1 бізнес-операції на випадки використання системи). Перевірте та підтвердьте! (чи ми будуємо правильну річ? Чи правильно ми будуємо річ?) Усі вимоги повинні бути пов'язані з початковою потребою в бізнесі.
Дизайн програмного забезпечення - Перекладіть випадки використання та модель домену в дизайн компонентів та архітектуру рішення. Усі компоненти повинні бути пов'язані з вимогами RE.
Впровадження - Запрограмуйте програмне забезпечення, як у дизайні. Весь код повинен бути пов'язаний з компонентами з SD.
Валідація - Тестування блоку, тестування інтеграції, продуктивність, ... (всі випадки використання з RE тепер потрібно буде перевірити)
Це деякі ключові аспекти програмного процесу. Згадана діяльність є частиною інженерії програмного забезпечення. Ось як ви будуєте правильне програмне рішення для реальної потреби бізнесу, і ви будуєте його вчасно, за бюджетом, до специфікації.
Перегляньте ці умови, щоб створити краще програмне забезпечення та щоб правильно його вперше:
- Аналіз техніко-економічного обґрунтування (особливо, як створити бізнес-кейс)
- Управління проектами (особливо план проекту та реєстр ризиків із зменшенням ризику)
- Вимоги інженерія (отримання, аналіз, специфікація, перевірка)
- Дизайн програмного забезпечення (інженерія програмного забезпечення на основі компонентів)
- Побудова програмного забезпечення (схеми дизайну, рамки, оборонне програмування)
- Перевірка програмного забезпечення (тестування пристрою, UAT тощо)