4 ms·
Software craftmanship is about stop selling prototypes as if they were finished software. A functional prototype is software that implements all features, but
by partycoder 10y ago
Software craftmanship is about stop selling prototypes as if they were finished software.
A functional prototype is software that implements all features, but none of non-functional requirements: configuration, security, testing, deployment, monitoring, scalability, performance.
"Product people" emphasize functional requirements, aka features.
You can sell features, but it is harder to sell non-functional requirements. Non-functional requirements are EXPECTED, and rarely verified.
Software craftmanship is a movement that seeks to make developers care about what they do, in the form of functional AND non-functional requirements.
People that do not care about error handling, logging, formatting and coding standards, profiling, scalability... are prototype engineers.
Prototypes can be used to market a product, but it's unethical to sell a prototype.