Lean Programming applies concepts and methods of Lean Production/Manufacturing to programming software. Lean Production originated on assembly lines in factories. The firm usually credited with inventing and developing it is Toyota, so it is also called the Toyota production system. It then spread to many other Japanese manufacturers, and then to other countries. As this occurred, it also spread to non-manufacturing tasks and organizations.