What is 'Production Quality'?
and why the distinction between developer and user?
- We can separate an application into two parts:
- function (core! / purpose)
- environmental aspects (facilitate carrying out function)
- user facing (allow the application to exist in a home/business/corporate/enterprise/etc. environment)
- developer facing (testing/debug/logging/comments)
developer facing:
- portability
- comprehensibility
user facing:
- reliability (resilience, error handling)
- autonomy (how unattended can it be)
- scalability
- connectivity (network/database/other environmental components)
- distributability
- transparency
- ease of use
- scriptability/flexibility/extensibility
attributes: closedness (how hard it is to get it wedged)