組込み/IoTの開発課題
近年、自動車、医療機器、工場設備、家電などの機器に組み込まれたシステムは機器の制御だけでなく、高いユーザビリティを持ち、インターネットに繋がることで IoT(Internet of Things)として社会基盤となってきている。社会基盤として広がっている組み込まれたシステムである「組込み/IoT に関わる開発」の課題として「設計品質の向上」がもっとも急がなければならない課題であると言われています。
その次に「開発能力(量)の向上」、「技術トレンドへの対応(IoT、ビッグデータ、AI 等)」も課題意識が高くなっています。
→ 「2018年度組込みソフトウェア産業の動向把握等に関する調査」事業「組込み/IoTに関する動向調査」の調査結果
組込み/IoTの品質向上に役立つ、ソフトウェアの品質管理に役立つ「とりあえずバグ管理」のための Excel テンプレートを公開します。
あなたのチームはバグ管理をルールをもって運用していますか。それは正しく運用されており、ソフトウェアの品質管理に役立っていると思いますか。
組込みシステム開発のバグ対応
システムの障害対応や開発時のバグ対応は、「バグが発生したら、開発者に報告し、開発者が修正、その後にテスターがテストする」を繰り返すだけの作業であり、バグ管理のための専用ツールを導入して管理するほどでも無いと考えてる人がいるかもしれません。また、メールやチャット、Excelのような表計算ソフトで管理しているため、大きな不満がないと考えている人もいるかもしれません。
バグ管理は発生から対応完了までのワークフローと管理すべきポイントを理解していれば、高度なツールを使う必要はありません。ポイントだけ管理することが出来れば良いため、多くのパソコンで利用できる表計算ソフト(Excelが代表的です)で十分管理することが出来ます。
どのようなツールをつかって管理したとしても一番大切なことは、あなたのチームにおけるルール化と教育が重要だと考えています。
バグ管理で最も重要な2つのこと
重要なことは2つあります。
1つ目「バグ管理をするために必要最低限の情報を記録すること」
最低限必要なこと
- 発生した日・・・障害を発見した日を入力する
- 発見した人・・・障害を発見した人の名前
- 発生状況・・・どのようなことが確認出来たのか
- 再現方法・・・バグの再現方法
ここまでの情報がバグを報告する人が記入する内容です。
バグに対して、開発者側の項目として
- 担当・・・だれが担当するのか名前を入力する
- 対応日・・・バグに対して回答した日を入力する
- 対応内容・・・対応した内容
が記録され、あとで追跡可能な状態であることです。
リストした情報元はどこのプロジェクトでも管理している内容で当たり前と思われる項目かなと思います。これらの情報はバグの発見者が記録しておくことが望ましいし、そうあるべきです。バグの報告にもスキルが必要になります。
良いバグ報告
バグの報告スキルとは、起こった事実を正確に書くこと。につきます。
バグ報告を受け取る側、主に開発者ですが、開発者とって正確で十分な内容のバグ報告があれば問題解決は心配ありません。あなたの優れた報告によってバグの事象と発生状況が正しく伝われば原因特定と解決は時間の問題です。
報告にスキルが必要な理由は、開発者にとってバグ対策に一番時間がかかる部分(工数を消費し、見積が難しい)は原因の特定だからです。
良くないバグ報告
「何もしていないのに動作しなくなりました」
「動かなくなりました」
「動作がおかしくなりました」
このようなバグ報告を見ることがありますが、開発者は何がおきたか分かりません。
困っていることは分かりますが、問題を解決するために必要な情報がなく、意味の無い報告はできるだけ避けるべきです。
このような報告ばかりであれば、報告する方も読む方も時間の無駄になってしまいます。
バグ管理に必要なバグレポートに必要な3つのことやバグ管理のワークフローを解説しています。「チームで使えるバグ管理システムを徹底解説「やさしいバグ管理システム」」も合わせてご覧下さい。
2つ目「ソースコードがバージョン管理されていること」
バグ対応に伴う、ソースコードの変更、改修内容、改修理由がログに残っていること、です。
ソースコード管理システム、Git, Subversion, Mercurial, CVS を利用するだけです。
多くの開発チームでは何かしらのバージョン管理システムを導入されていると思います。コミットするときのほんの少しの時間、あなたが行った変更内容をコメントに残してください。ただそれだけです。 このちょっとした手間をかけるだけでリポジトリを共有・参照する他のメンバーにとって価値ある情報を提供することになります。
「とりあえずバグ管理」のための Excel テンプレート
「とりあえずバグ管理」のための Excel テンプレートで定義している項目は、開発現場でバグを管理するために必要な項目となります。
- 起票日 : 障害を発見した日を入力する
- 起票者 : 障害を発見した人の名前を入力する
- 区分 : バグか課題か要望なのか・・・を決める
- 状態 : バグが発生した後、現在の状態「発生」「完了」「対応なし」などを管理するための場所
- 内容 : バグの再現方法や発生状況をわかりやすく書く場所
- 担当(チーム、人): だれが担当するのか名前を入力する
- 対応日 : バグに対して回答した日を入力する
- 対応内容 : 対応した内容を出来るだけ分かりやすく入力する
実際に開発現場で運用する場合、もっと多くの項目が必要になるかもしれません。
もし利用されるという方は、自分たちの環境やワークフローに合わせてカスタマイズしてもらえればと思います。
あなたのプロジェクトチームがすばらしい製品をリリースするために開発工程の改善につながれば幸いです。
No Comments