Ah - CourseWriter!
In 1979, my first project was to develop CourseWriter on an EC-1033 (IBM/360 Clone). It ran IBM OS/MFT. We were team of 7, and the customer was the Soviet manufacturer of these clones (!).
The language we developed it was called Assembler/360. We prepared punched card decks in our office at South Extension, New Delhi and sent it through "courier service" to the data centre at Lodi Gardens. Before sending the decks, we would carefully check the printed letters on top of each card for errors, and correct them with new cards. We would get one "run" and the results would come back the next day in the form of printed output.
The first hurdles would be JCL errors. After correcting them for about 3-4 runs, we would get compilation errors. Correct them again to get programming errors. While doing so, introduce new JCL, compilation or programming errors. After doing this the first few months, some of us got tired of it. We started going personally to the data centre to wheedle out more runs from the EC-1033 mainframe. It was necessary to offer Chai (tea) to the operator to get more runs.
We estimated the project to be 6 months for our team of 7. The design was done by my colleague, who had an year's tenure in the industry. We had 3 core modules, Task Control (KCM), file control (FCM) and a terminal control (TCM). I wrote the TCM. The display would be IBM 3270 terminals. The actual language parser in Course Writer would use the services of these modules for its interpret-and-render cycle. This cycle had to use "pseudo-reentrant" code for its calls to the services i.e. no local data storage between calls to any service.
As months passed, and the core modules got into some shape, we were all doing late nights at the data centre, and sleeping off in the mornings. The bio-rhythms changed, and so did our toilet usage patterns. The saga lasted for 18 months, and took 144 person months. But we did complete the project and delivered it to the customer.
It was a partly painful, wholly exciting lesson in software projects, Assembly language, design and project management. When I first started using 3270 terminal with the TSO editor to write card decks, submit jobs and see the results immediately, I thanked my lucky stars.