The airline underwent a major corporate re-engineering in 2002, when its structure was changed from a governmental organization into a holding company with subsidiaries.
However, much software requires continuous changes to meet new requirements and correct bugs, and re-engineering software each time a change is made is rarely practical.
Therefore, software development may include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.