2 ms·
Most software development is not engineering. Engineering is about requirements, guarantees, and specifications. When you engineer a bridge, there is a use cas
by Veserv 3y ago
Most software development is not engineering. Engineering is about requirements, guarantees, and specifications.
When you engineer a bridge, there is a use case such as light vehicle traffic. That translates to a load requirement to achieve that goal. Your design must then guarantee that it fulfills that requirement.
Success and failure in this environment are defined and objective. Furthermore, you can largely rely on the guarantee being made; the correct operation is well-defined within some meaningful domain. Engineering turns the subjective qualities of a product into objective bars for success.
Specifications generalize this process by providing well-defined guarantees. These can then be used by another to fulfill their requirements.
Engineering rewards results, not efforts. It is about fitness of purpose, not best efforts. It is about success and failure, not how hard you tried.