LED-Camp@2日目

 

M1 安藤です。

合宿二日目が終わりました。

二日間の実習内容は次の通りでした。

  • モデル駆動開発の理論学習
  • モデル駆動開発を実践
  • チーム開発実習

 

今日から、モータ駆動のキャタピラのおもちゃに対してモデル駆動開発です。

LED-Tank

このモデルはの前面には距離センサーがついています。センサデータの取得、モータ駆動制御は、Raspberry Piから行います。

約1日の限られた開発期間の中で、1.5m四方のフィールド上を”LED-Tank”走らせ、フィールド四端にあるセンサを効率的に通過させ、多くの得点を稼げるような機体を作りこんでいきました。

 

 

開発中に大切なのは、プロジェクト管理です。今回はアジャイル開発の中のスクラムでプロジェクトを進めています。

スクラムは次のフェーズで進めます。

  1. プロダクトバックログの作成
  2. スプリント計画ミーティング
    1. スプリントバックログの作成
  3. デイリースクラム
  4. 実装
  5. デイリースクラム
  6. 実装
  7. スプリントレビュー
    1. KPT
  8. ふりかえり

ここで、2~8が1スプリントとなり、これを一定回数繰り返します。通常は1スプリントに1~4週かけます。しかし、今回はそのような時間はないので、1スプリント4時間程度としています。

まずは、どのような仕様にするかプロダクトバックログを作成しました。その後、開発内容・分担を決めるスプリント計画ミーティングを行い、そのプロダクトを達成するためにどのようなタスクが必要か、それぞれのタスクの価値はどれほどか、どれだけ時間をかけるか、誰が担当するか…といった事をチームで合意した上で、実際に開発フェーズに入ります。この計画は「かんばん」を使って管理していきます。ToDoにはやること、Doingには作業中のこと、Doneには作業終了したことを記します。そのようにすることで、時間や求められる要求の変化を開発状況をチーム全員で把握し、最適な開発のためにスプリント計画とふりかえりを繰り返しながら進めました。ふりかえりではKPTに従って行いました。KPTとは

  • Keep
  • Problem
  • Try

を意味します。Keepはスプリントの中で良い行いだと思った次のスプリントでも継続していきたいこと、Problemは問題・課題だと思った事、Tryは問題を解決するために次のスプリントでどういう事を実施できるのか、具体的な行動案です。

 

実際に使用した「かんばん」

実際にスクラム開発をして難しい感じたことは、”時間の見積もり”です。プロダクトバックログ作成をしているので、ある程度ゴールまでの道筋が見えており、全体を見通した上で「どれに・どれだけの時間をかけたい」ということをスプリント計画で決めています。しかし、実際に行ってみると見積もりの時間内に終わらず、次のスクラムまで引っ張ってしまうことが多くなりました。そのようになると、プロダクトバックログで上げたものがますます実行できなくなっていく負の連鎖に繋がります。この解決策として我々のチームでは、「質を落とすことで、時間の厳守を優先する」、「見積もりと実績との乖離を少なくするためにも、デイリースクラムの時間を十分にとる」、「タスクの設定をもう少し細かくする」というTryを出しました。

三日目は最後の1スプリントと競技会です。現状、機能が実装しきれておらず動く状態では無いので、明日のラスト1スプリントで動く状態までもっていきます…

 


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です