There is no task in software engineering today quite as herculean as Web development.
A typical specification for a Web application might read: The app must work across a wide variety of browsers. It must run animations at 60fps. It must be immediately responsive to touch. It must conform to a specific set of design principles and specs. It must work on just about every screen size imaginable, from TVs and 30-inch monitors to mobile phones and watch faces. It must be well engineered and maintainable in the long term.