Below are some of the software development principles that can be applied to architecture for creating future-proof live/work spaces:
MVC (model-view-controller) - separating functionality from presentation and user input
(e.g. changing the wall color should not require repainting/changing wallpaper)
Extendability – anything should be designed to easily accept add-ons, extensions, modifications
(e.g. adding new rooms/spaces, etc)
Multifunctionality - ability for one device/component to perform many functions
(e.g. multipurpose furniture/devices)
Developing light/small - preferring ingenious designs to brute force, using minimum materials to get maximum functionality and avoiding heavy designs
(e.g. light/composite materials, etc)
Flexibility – easily changing the functionality and adopting to new needs/environments
(e.g. LED wall screen can display images and double as lighting)
Modularity - created from easily interchangeable modules that can be used in various places
(e.g. smart panels, etc)
Standards-based design - using standard off-the-shelf components to ensure compliance and affordability
(e.g. generic sensors, etc)
Layered architecture - separating functionality into tiers for easy upgrades and maintenance
(e.g. drivers, OS, applications)
Integration & interoperability - easy integration with other systems
(e.g. TCP/IP)
Security and access control - user groups and rights/quota for every functionality
(e.g. physical access, surveillance, alarms, logging, etc)
|