Article header library 129509  1

[お掃除ロボ/バッカス] 第5話 遠回りこそが最短の道

スケジュール問題発生!

こんにちは、バッカス です。
前回の [お掃除ロボ/バッカス] 第4話 ようこそ・・・「ソフトの世界」へ・・・ までは筐体製作について触れてきました。

この第5話では少し違った観点で、スケジュール調整について触れたいと思います。
ここでみなさんに問題です。
この製作実習で予想よりも多くの問題が生じてきました。多くの問題が生じて遅れるものは何だと思いますか?

スケジュール?

Exactly

そのとおりでございます。
スケジュールに遅れが生じていました。それもかなりの・・・。

マイルストーン

まずは、こちらをご覧ください。
HW製作途中での予定と実績のマイルストーンになります。

Article header library 129509 pic01  1

予定と実績のマイルストーン

Article header library 129509 pic02  1

スケジュール調整で頭を抱える私

スケジュールに遅れが生じては、リスケを繰り返し、このとき、すでに合計10回以上リスケをしていました。そして、予備日を食いつぶしてもなお、遅れが生じました。

当初、7月中旬くらいで終わる予定のHW製作が8月に入っても終わっていない状況です。
残りの作業の日数をどうにかして減らさねばなりません。

もう頭を抱えこんでしまいました・・・。

3つの対策

悩んでも仕方がありません。
私は思いついた3つの対策を実行することにしました!

  1. デバッグをHWとSWに切り分けて効率化
  2. 機能をMustとWantに仕分けて、作業の優先度を決定
  3. フローチャートを見直し、後戻りを無くす

それぞれの対策について以下に示します。

1. デバッグをHWとSWに切り分けて効率化

当初のスケジュールでは、デバッグのところでいっぺんにHWとSWのデバッグを行おうとしていました。しかし、日程の限られた現在は余計な時間は取られたくありません。

そこで、デバッグをHWとSWに切り分けることで混乱を防ぎ、余計な時間を取られないようにしました!
HWとSWのデバッグを切り分けたマイルストーンは、以下のとおりです。

Article header library 129509 pic03  1

デバッグを切り分けたマイルストーン

2. 機能をMustとWantに仕分けて、作業の優先度を決定

HW製作を終えてSW製作に入る前に、テスト項目の洗い出しと、実現しようとしている機能をMustとWantに分類しました。

テスト項目の洗い出し
まずは、テスト項目の洗い出しです。
項目は動作の種類、項目、部品テスト、動作したかどうか、どのくらいの期間で実現したかの項目を設けました。

MustとWantに分類
次に、作成したテスト項目を下のような判定基準で必要、不要機能の分類を行いました。
必要機能の判定 判定基準 表中の識別
Must お掃除ロボの動作に関わる機能 黄色で表示
Want 得点加算や独自仕様に関わる機能 橙色で表示

優先順位を決定し、テスト項目を考えることで作業の重複を削除することができました。
実際作成したテスト項目のイメージはこんな感じです。

Article header library 129509 pic04  1

MustとWantとテスト項目の表

3. フローチャートを見直し、後戻りを無くす

詳細設計で作成したフローチャートを見直し、記入ミスや変更点を修正しました。
フローチャートを整理することで、プログラミングにスムーズに入ることができたので、後戻りを無くすことができました。

フローチャートの一例としてライントレースを以下に載せます。

Article header library 129509 pic05  2

修正前のフローチャート

変更前のフローチャートでは、フォトリフレクタ4つの入力結果から前後、左右の動作制御をしていましたが、変更後は、フォトリフレクタの値を一旦、CPLDでデコードし、3つの出力で車体動作を制御することにしました。

変更後の動作制御方法
動作制御
バック High
直  進 High High Low
停  止 Low High Low
左  折 High Low Low
右  折 Low Low Low
制御方法を変えたので、最終的にはこのようなフローチャートになりました。

Article header library 129509 pic06  3

修正後のフローチャート

この3つの対策を行った結果、実働日数が18日だったデバッグを実働8日で行うことができ、Must機能は100%、Want機能は50%達成しました。

Want機能でPWM制御などをつけることはできませんでしたが、優先順位を考えないでWant機能から手を付けていたら、ロボットが動かない可能性がありました。

最終的なマイルストーンは以下のとおりです。

Article header library 129509 pic07  1

最終的なマイルストーン

最後に

スケジュール管理を行ったおかげで、無事に予定の日数でロボットを作ることができました。時間がないときこそ、状況の整理やリストの作成をして、効率化を図るのです。一見、遠回りに見えることが最短の道になります!

3ヶ月に及ぶ製作実習も残るは本番のみになりました。
最終回となる発表本番までどうかお付き合いお願い致します!

最終回は、[お掃除ロボ/バッカス] 第6話 レース本番!覚悟はいいか?おれはできてる です。
乞うご期待!

この記事で使用した商品はこちら

2018年度 翔け新人!エンジニア奮闘記はこちら

翔け!エンジニア奮闘記とは?

マクニカのエンジニアが新人時代に研修中に感じた疑問、制作実習での奮闘、発生したトラブルを解決するまでのフローなど紹介します。個性あふれる新人たちが奮闘から会得した実用的なノウハウを業務にご活用ください。

翔け新人!エンジニア奮闘記 著者紹介はこちら

関連タグ