組み込みシステムのスクラムには2つの問題があります。第一に、特に初期段階では多くのタスクを実行する必要がありますが、それは実証できません。開発ボード、OS、ディスプレイ、シリアル通信などから始めました。6つのスプリント用のディスプレイはありませんでした。
最初の4つのスプリントは次のとおりです。
- 取得RTOSを起動して実行
- ネットワークおよびシリアルドライバーを作成するタスクの作成
- ボタン、通信などの割り込みルーチンの作成
- プライマリデータベースのクラスとメソッドの作成
- シリアルデバッグメニューの作成
これらのタスクのほとんどは、ユーザーストーリーにはあまり適していません。実際、システム全体への唯一のインターフェースは、スプリント3に組み込まれたシリアルデバッグメニューであったため、スプリントの最後にデモンストレーションするものはありませんでした。シリアルメニューでさえ、エンドユーザーではなく内部使用を目的としていました。それにもかかわらず、私はまだスクラムを介してこれらの開発活動を追跡および管理したいと考えています。
「開発者として...」などの「ユーザーストーリー」というフレーズを書くことになりましたが、これは満足できませんが、ターゲットプロセス(www.targetprocess.com)を使用する場合、バックログアイテムという概念はありません。タスクまたは雑用。
次に、リリースとテストをどのように処理しますか?テスターにはハードウェアデバッガーがないため、非常に苦痛です。したがって、コードのフラッシュバージョンをビルドし、テストするために開発ボードに書き込む必要があります。テスターは技術的には開発者ほど鋭くなく、多くの場合、初期段階(ボードのリセット、シリアル通信の接続など)で作業を行ったり、出力を理解したりするのに多くのサポートを必要とします。
最後に、完了の定義に関して、スプリントはすべてのストーリーが完了するまで完了できません。すべてのストーリーは、テスターによって検証されるまで完了しません。開発者がテスターに与える時間を「奪う」ことを避ける方法はありません。つまり、スプリント内の最後の3つのユーザーストーリーのテストに5日間かかる場合、スプリント終了の5日前にコーディングしてユニットテストを行う必要があります。開発者は何をすることになっていますか?仕事をやめる?
私は面白く思っていますが、ルールに準拠しようとするのは本当の問題です。今、私はルールを曲げることに問題はありませんが、私が抱えている問題は、テストされるまで物事をマークできない場合、すべてのバーンダウンメトリックを台無しにします。
他の人がこれらの状況をどのように処理したか聞いてみたい。