- Разработка программного обеспечения — это прежде всего деятельность по принятию решений.
- В любой момент времени должна существовать возможность объяснить происходящее в программе.
- Любая граница в программном обеспечении произвольна.
- В программном обеспечении не существует единого доминирующего представления (representation) чего бы то ни было.
- Если человек считает какое-либо представление значимым, система должна предоставить и поддерживать такое представление
- Архитектура программного обеспечения является эмерджентным свойством (то есть проявляется по ходу разработки и по мере накопления знаний о системе).
- При программировании “чтение кода” предъявляет свои требования к коду и представлениям, а “написание кода” - свои.
- Выбор среды разработки так же важен, как и любые другие решения, касающиеся системы.
Источник