The programming lifecycle is like a four stroke engine.
The programming lifecycle:
1. Program new feature, create.
2. Deploy, get everyone using it and counting on it.
3. Modify old feature, no longer new programming, much harder.
4. Abandon, prepare to replace.
program +-------->+ ^ | abandon | | deploy | v +<--------+ modify
The four stroke engine runs on needs, each stroke-action meets a set of needs:
- Programming is a creative enterprise based on the needs of the prospective user; and on the knowledge, skill, philosophy, and input of the programmer.
- Then the program is deployed, users are trained and the program starts to get used.
- Once something is deployed, then it must continue to function as it is modified. It is modified by newly discovered needs found during use of the program.
- There comes a point where the needs of the users outstrip the ability of the programmers to make modifications. At this point the program is either officially or more often unofficially abandoned. It usually continues to be used but the users must wait for a new program to be written to meet their new needs.
Deploy and abandon are opposite actions.
Are program and modify opposite actions?