Margaret Hamilton (born 1938) is a computer scientist and mathematician. She was Director of the Software Engineering Division of the MIT Instrumentation Laboratory, which developed on-board flight software for the Apollo space program.
In 1986, she became the founder and CEO of Hamilton Technologies, Inc. in Cambridge, Massachusetts. The company was developed around the Universal Systems Language based on her paradigm of Development Before The Fact for systems and software design.
At NASA Hamilton was responsible for helping pioneer the Apollo on-board guidance software required to navigate to/from and land on the moon, and its multiple variations used on numerous missions (including the subsequent Skylab). She worked to gain hands-on experience during a time when computer science and software engineering courses or disciplines were non-existent.
In the process, she produced innovations in the fields of system design and software development, enterprise and process modelling, preventative systems design, development paradigm, formal systems (and software) modelling languages, system-oriented objects for systems modelling and development, automated life-cycle environments, methods for maximizing software reliability and reuse, domain analysis, correctness by built-in language properties, open-architecture techniques for robust systems, full life-cycle automation, quality assurance, seamless integration (including systems to software), distributed processing systems, error detection and recovery techniques, man/machine interface systems, operating systems, end-to-end testing techniques, and life-cycle management techniques.
These in turn led her to develop concepts of asynchronous software, priority scheduling, and man-in-the-loop decision capability, which became the foundation for modern, ultra-reliable software design.