マイコン系に新人を配置
1984年4月、新入社員7名を加えて技術者は約20名体制となりました。金沢市立工業の電子科卒の優秀な新人U君など2名をマイコン系の開発に配属して、マイコン系を3名体制にすることができました。
マイコン系の開発体制を確立して、ネクストステージに突入しました。
H社ユーティリティ・ソフト開発
1984年、H社の多機能パーソナルターミナルPT-1に搭載するユーティリティ・ソフト開発を受託することができました。
パーソナルターミナルPT-1は、独自オペレーティングシステムのマルチタスク機能により、OAソフト処理とMS-DOS処理を同時実行することができました。OAソフト処理はオフコンのようなもので、その裏でMS-DOSが走っているものでした。OAソフト処理とMS-DOS処理は、それぞれの別のファイルシステムで動作しています。両者のファイル形式を相互に変換する機能を要望され、ファイル変換ユーティリティ・ソフトの開発を行いました。
開発環境はMS-DOSで、開発言語は8086アセンブラ言語に決めました。当初は、C言語を使いたいと思いましたが、まだ安心して使用できるC言語処理系が少ないのでC言語の採用は見送りました。
機能概要をお客さまと決めた後は、詳細な機能などは私たちで設計してドキュメントに記述して打ち合わせを重ねて機能設計をしました。
会社にはMS-DOSのパソコンも設置されておりませんでしたので、お客さまからパーソナルターミナルPT-1を借用して開発用マシンとしました。そして、1台のマシンを3人で時間帯をわけて使用しました。自分に割り当てられた2時間程度の間にマシンデバッグを行い、マシンを使用できない時間帯はプログラム設計、コーディング、プログラムチェックリスト作成、机上デバッグなど行いました。
今から考えると非常に効率の悪い開発環境でした。しかし、マシンを使用できる時間が限られているので、その分プログラム設計や机上デバッグをしっかりやっていました。
ソフトウェアの徹底的な品質管理経験はこれまでありませんでした。このソフトウェアは商品ソフトとなるので、H社の徹底的な品質管理のルールに従いました。バグ管理(B票)やプログラム変更管理(P票)などで品質管理し、テストケース数とバグ発生累積件数によるバグ曲線でソフト品質安定度合いを確認しました。
テストケースを設計するマトリクス・プログラムチェックリスト(PCL)という手法もこの開発で学びました。テストケース漏れを防ぐためのすばらしい方法だと思います。
開発日程的にも厳しく、開発の山場はH社の工場に常駐して夜遅くまで、3人で頑張って完成することができました。新人2名と私は、この開発を通して大きく成長したと思います。
ミニコンによる制御システム開発
1985年、病院の外来カルテを自動倉庫で管理するシステムを受注し、5名体制で開発しました。
このシステムは、H社のミニコンE-600のPASCAL言語で開発しました。ホストコンピュータで病院のシステムが稼働しています。ホストコンピュータの指示を受けて、ミニコンE-600で外来カルテを管理して、自動倉庫システムを制御しカルテを窓口に運ぶシステムです。
ホストコンピュータと連動するためのインターフェースや、自動倉庫システムとのインターフェースなどを調査することがたくさんありました。また、初めてのPASCAL言語での開発、初めてのオンラインリアルタイム処理で多くのことを勉強しながら開発を進めました。要求仕様を整理しながら、実現方法を検討してシステム設計書を作成しました。
システムテストフェーズに入ると、病院が休みの日曜日に病院に出勤して行いました。カルテの出庫指示を与えると、自動倉庫から指定したカルテを取り出してレールに乗せて手元に運んできます。いろいろなテストケースでテストを実施して、ようやく本番稼働しました。
この開発は難航しましたが、開発メンバーは大きなスキルアップすることができたと思います。
ものが動く制御系のシステムは、やはりおもしろいですね。
初めてのC言語
1987年、機械メーカからコンピュータ数値制御(NC)の作図・編集のソフト開発を受託し、8名体制で開発しました。
MS-DOSのMS-C言語で開発することにしました。初めてのC言語だったので、バイブル書のカーニハンとリッチー著の「プログラミング言語C」を輪講形式で勉強会を開催してみんなで学びました。
お客さまと打ち合わせて仕様を明確化し、システム設計書やプログラム仕様書などを作成しながらシステム開発しました。プログラム数は100本を超える規模になったと記憶しています。私にとって、大規模で開発メンバーも大人数の開発は初めてで、学ぶことも多くありました。
初めてのUNIX
1988年、電子機器メーカから分散型部品リスト管理システムの開発を受託し、5名体制で開発しました。
開発環境は、UNIX搭載のH社ワークステーション2050のC言語です。ワークステーション2050は、System V Release3をベースとしたUNIXを搭載しています。Work Station NET (WS-NET)によりホストコンピュータと接続して、UNIXの裏で端末エミュレータが動作してホストコンピュータの端末にもなりました。
このシステムは、ワークステーション2050とCAD端末をイーサーネットで数十台接続して、CAD部品の展開リストをワークステーション2050で作成します。その展開リストをホストコンピュータのデータベースで管理するシステムです。
初めてのUNIXで、専門書を読んでいろいろ勉強しました。シェルやいろいろなコマンドをパイプで接続して、ひとつの処理を実現するUNIX流の考え方はとても新鮮に感じました。
ネクストステージの行方
1988年には、技術者も約45名体制となり、私も課長代理に昇格しました。
上司のN課長は、北陸営業所の所長となり開発件名の営業などに動いていました。
会社のソフト開発の中心はホストコンピュータ系のCOBOL言語による業務システムのプログラミングでした。
私は、マイコン系開発を5名程度の体制で継続しながら、課全体の開発管理や新しい業務の技術者アサインなどを行っていました。
この頃あたりから、自分が将来目指す技術者像と現実のギャップを感じるようになりました。