HOME > ソフテックだより > 第218号(2014年9月17日発行) 現場の声編「お客様との合同デバッグ−より良いシステムにするために−」

「ソフテックだより」では、ソフトウェア開発に関する情報や開発現場における社員の取り組みなどを定期的にお知らせしています。
さまざまなテーマを取り上げていますので、他のソフテックだよりも、ぜひご覧下さい。

ソフテックだより(発行日順)のページへ
ソフテックだより(技術分野別)のページへ
ソフテックだより(シーン別)のページへ


ソフテックだより 第218号(2014年9月17日発行)

現場の声編

「お客様との合同デバッグ−より良いシステムにするために−」

1. はじめに

以前のソフテックだより第18号『お客様との合同デバッグ』でもご紹介しましたが、弊社では開発の際に、出来上がったソフトをお客様に確認して頂く機会があります。
会社によって異なる部分もあり明確な決まりがあるわけではないですが、立会い検査となるとソフトの動作に問題がないか?をお客様が確認するという意味合いが強く、合同デバッグとなるとお客様と一緒に確認を行うという意味合いが強いことが多いです。
今回は、お客様と一緒に確認を行う合同デバッグの様子についてお話したいと思います。

2. 合同デバッグ

私自身は、社内では主にPLC(※1)案件の開発に携わっていますが、今回は飲料”プラント”案件(第130号『”プラント”モノのソフトウェア開発の難しさ』)にて、実施した合同デバッグでの様子をご紹介します。
このシステムでは、バルブ・ポンプなどの機器制御をPLCにて行い、オペレーション操作はタッチパネルを使用しました。
また、開発は下図のように『環境準備&社内デバッグ』⇒『合同デバッグ』⇒『現地調整』という流れで進んでいきます。

開発の流れ
図1.開発の流れ

A) デバッグ環境の準備

PLC案件の場合、機器を制御するというソフトが大半となります。そのため、社内で動作確認をしようと思っても、基本的に社内には機器がないためそのままでは確認出来ません。
そこでデバッグ用プログラムの登場です。

  • 出力を入力へフィードバック

    飲料”プラント”の基本は、バルブを開けてポンプを動かすことで、タンクからタンクへと液の移送を行います。そこで、バルブの出力をONしたら、バルブの開閉センサをONするというデバッグ用プログラムを用意し、実際の動作をシミュレーションできるようにします。

  • 他機器との通信

    システムによってはFL-netやMELSECNETなどのコントロールネットワーク(※2)を使用して、別のPLCと信号のやり取りを行って制御を実現するような場合もあります。この場合、通信相手のPLCからの信号も模擬的にON/OFFできるようなデバッグ処理用プログラムを用意します。また、ソケット通信やシリアル通信によって機器を制御している場合は、パソコンアプリにて通信シミュレータを用意する場合もあります。

B) 合同デバッグ

上記のようにして機器がない状況でもシミュレーションを行える環境を準備してデバッグ・テストを行います。そしてそれが終わるといよいよ合同デバッグが始まります。

  • 動作確認

    合同デバッグで何を行うか?ですが、基本的には出来上がったソフトの動作確認です。
    開発時には、お客様もしくは弊社から仕様を提示して、お互いの認識を合わせたうえで開発を行っており、まずは仕様書通りにソフトが動作するかを一緒に見ていただきます。一緒に動作を確認してソフトに問題ないことを見て安心して頂くとともに、お互いに仕様の認識違いがないかの確認にもなります。

  • 操作をお客様に行って頂く

    合同デバッグを実施する際、最初はこちらで説明しながら操作しますが、慣れてきたらなるべくお客様に操作を行って頂くようにしています。
    実際に動かしてみると仕様通りには動いていても『やはりここはこうした方がいい』というようなことがあります。特にタッチパネル画面やインターロック(※3)など、オペレーション操作に関わってくる部分は実際に使ってみないとわからないということが多々あります。
    例えば、タッチパネル画面であれば『よく見る画面への展開ボタンが欲しい』、『この画面では***の情報表示が欲しい』など、インターロックであれば『安全面を優先していたがこれでは使い勝手が悪いので***のインターロックは無しにしたい』などです。
    このように実際に操作して頂くことにより機能面の確認だけでなく、使い勝手なども確認して頂くようにしています。

  • より良いシステムになるように改善を行う

    上記のようにソフトを実際に動かしていくと、単純なソフトの問題だけでなく、仕様自体の問題や運用面の問題が見つかる場合もあります。そのとき、単純に品質面だけ良いものにすればいいだけでなく、現地でのシステム立ち上げ時期が決まっていて時間的な制限がある場合もあります。そのときに一緒にいるので、その場で品質面/ソフト変更ボリュームのバランスを考慮した仕様をすばやく決定して改善を行っていくことができます。

  • 懇親会

    ある程度の規模の開発になると、合同デバッグの期間も1日〜2日ではなく、1週間〜2週間など長期に渡って行います。その場合は、お客様との親睦を深めるため一緒に食事やお酒を飲みにいく機会もあり、合同デバッグの楽しみの1つでもあります。こういった機会では仕事の話だけでなくプライベートな話もすることができお客様との距離が近くなるので、翌日以降お互いに意見交換がしやすくなり、仕事も円滑に進みやすくなると思います。

3. 最後に

合同デバッグのメインの目的は事前に動作を確認することで、ここまで確認できればお客様も自分自身も安心して現地調整を迎えることができます。しかし、ソフト動作を見ることよりも一緒に作業をして、一緒に良いシステムを作り上げていけるというのが1番のメリットではないかと思います。また、案件によっては非常に短納期で大変な場合などもありますが、そういった苦労を共有していると、最終的にシステムが立ち上がったときの達成感や喜びも大きくなります。
今後も単純にソフト開発をするだけでなく、合同デバッグなどを通じて一緒に良いシステムを作り上げていけたらと思います。

(Y.R.)

[注釈]
※1:
PLC(Programmable Logic Controller)
※2:
PLC、DCSまたは制御用パソコン・HMIなどで相互の情報交換に用いられるネットワーク。
※3:
連動して動作する安全機構を言います。一般には、ある操作をしようとすると安全のため関連する部分の状態を確認して、その操作の実行を許可したり、禁止したりする機構を言います。

関連ページへのリンク

関連するソフテックだより

ページTOPへ