T he language of computer development is the language of architecture. Designing, engineering, constructing. An architect who designs a hospital in June, then an office building in July, doesn't spend Independence Day trying to think of a new way to build a door. The key is the component, a removable, stand-alone chunk of software, a single function of a program that can be used to perform the same function in many applications.
Big systems are three years in the doing, which is just way too long.
The technology that is going to help shorten that is reusable code. The first system that he converted, he got a half dozen components out of it. He was able to reuse a couple of them in the second one. Not only can components be harvested from a current system or designed with a CASE tool, they can be obtained from outside agencies. We exchanged a reference table with Alaska's Department of Labor, even though they're in another discipline of government.