Skip to main content

ソフトウェアエンジニアがかんばん方式を使用する方法-The Muse

Anonim

あなたはスクラムに精通していますよね? The Scrum Allianceには40万人を超えるメンバーがおり、そのうちのほとんどが組織でこれをうまく使用していることを考えると、イエスだと思います。

しかし、ソフトウェアをアジャイルな方法で構築する唯一の方法ではありません。真剣に! かんばんについて聞いたことがありますか?

少しの背景情報については、工場を流れる作業の入力と出力を視覚化する方法として、もともとリーン製造に適用されていました。 この視覚化は、「それを待つ」かんばんとして知られるボードで発表されました。 ごく最近、より適切に、ソフトウェア開発を管理する方法として採用されました。

神経学者のデビッド・J・アンダーソンによって最初に概説された、それはプロセスの問題を発見し、製品の価値ある改善を一貫して提供できるソフトウェア開発と計画を編成する方法です。 簡単に言えば、いつでも、開発中の作業(カードで表される)がどこにあるかを確認できます。

使い方

基本的なかんばんボードでは、各作業が製品開発サイクルのどこにあるかを示す6つの列を使用します。 概観は以下のとおりです。

Trelloでこのかんばんボードの例をご覧ください。

列1:バックログ

バックログ列には、優先順位付けされたアイデア、バグ、またはビジネスニーズのリストを含める必要があります。 カードにはまだ詳細な情報は必要ありませんが、チームメンバーがそれが重要である理由を理解できる十分な情報が必要です。

列2:計画

このコラムでは、プロダクトマネージャーが、ビジネスの利害関係者、エンジニア、デザイナーと会って、機能の仕様を記入します。 準備ができたら、「エンジニアリングの準備完了」列に移動します。

列3:エンジニアリングの準備

この段階では、すべてのカードに詳細な仕様が必要です。 技術的な詳細についてはまだ質問があるかもしれませんが、ビジネス要件は明確なはずです。

列4:進行中

カードはいつでも「進行中」に移動できます。 この自己駆動型の「プル」システムは、個人的な説明責任と好奇心の文化を構築します。

列5:テスト

カードの作業が完了したら、別のエンジニア(またはQAチームの誰か)がピックアップする「テスト」に移動します。

列6:デプロイ済み

別の定義的な機能は、作業をステージング環境または実稼働環境に継続的に配信する必要があることです。 この列を使用すると、チームの誰でも最近リリースされた作業を確認できます。

利点とトレードオフ

かんばんと、スクラムやウォーターフォールなどのより一般的な方法論を決定するときは、次の利点と課題に留意してください。

利点:コラボレーションを改善

私が一緒に働いたいくつかの開発チームでは、エンジニアは専門家でした。 各チームには、2人のフロントエンドエンジニアとバックエンドエンジニアがいます。 これは、エンジニアが何か他のことで忙しかったために、作業がしばしばブロックされることを意味していました。

一方、かんばんは進行中の作業を制限し、妨害を阻止します。 各チームメンバーは一度に1つのアイテムのみを処理でき、忙しい人は「エンジニアリングの準備ができています」列の一番上から作業を取得できます。 これにより、エンジニアリングジェネラリストとチームメンバー間のコラボレーションが促進されます。

メリットを高める:準備が整う前に物事を放置しないでください

かんばんが機能するのは、カードが完全に完了するまで次の列にカードを移動するのを待つ場合のみです。 (ボーナス:これにより欠陥が大幅に最小化されます。)

課題:反映する時間を妨げる

デフォルトでは、明確な目標、日付目標、リリースサイクルを持つタイムボックス化されたスプリントはありません。 代わりに、各カードを、いつでも完了してリリースできる独立した作品と考えてください。

この継続的な作業の流れでは、「次のスプリントまで待つ」オプションはありません。 ボードを継続的に確認し、次のアイテムを引き出し、完成したアイテムを下流に移動する必要があります。 レトロスペクティブやスタンドアップに間に合うように構築しない限り、チームメンバーが自分のやり方に追いつくのは難しいかもしれません。

回避策:スクラムから機能するものを借りる

私は毎日のスタンドアップとレトロスペクティブをカンバンで使用しましたが、それらが価値を高めることがわかりました。 チームに役立つ定期的な会議やパターンがある場合は、カンバンに独断的に固執するように変更しないでください。 製品開発サイクルで何が起こっているかを全員が知ることができるように、優先順位とそれらがどのように変更されたかについて話すための予算時間。

利点:透明性が向上

各開発者は、イニシアチブをとってカードを「進行中」列に移動する必要があります。 つまり、チームのマネージャーはいつでも、誰が忙しく、誰が忙しくなく、どのくらいの作業が進行中であるかを見ることができます。

生産が遅くなったり停止したりした場合、かんばんを使用すると、正確な理由を確認できます。 ビジネスチームがバックログのアイテムに優先順位を付けていない、製品チームが仕様を完了していない、開発チームの動きが予想よりも遅い、またはQAチームが何かをテストできないなどの理由があります。 ボトルネックは明らかです。

利益を高める:進捗を公開する

利点の1つは、かんばんが非常に視覚的であることです。 非技術チームのメンバーでさえ、かんばんボードを見て、作業がどこにあるかを伝えることができます。 これを利用して、ボードを公共の場所に置くことでチームの成果を輝かせます。

課題:長期計画を許可しない

締め切りと見積りを心配することは時間の最も生産的な使用ではないため、かんばんは日々の出力に関するものであることが理解できます。 とはいえ、それだけでは長期計画を構築するためのシステムは提供されません。 これにより、1つの事柄に長時間集中するのではなく、散発的にプロジェクトに取り組むことができます。 プロジェクトAで1日を過ごし、次にプロジェクトBで1日を過ごし、プロジェクトAに戻るのは難しいです。

回避策:優先順位が変わる可能性がある場合に使用する

ボードの各列は他の列から独立しているため、チームメンバーはいつでも物事を移動できます。 これはスクラムの設定(スプリントの見積もりが事前に行われる)で開発者を困らせることができますが、かんばんはこの種の急速に変化する環境で繁栄します。

誰もがもっと生産的になりたいと思っていますが、どこから始めればよいかわからない場合、新しいことを試すのは難しいかもしれません。 かんばんが役立つことがわかったので、あなたの個人的なワークフロー(またはチーム全体でも)に役立つと思います。

あなたがそれを試してみることにしたなら、私にツイートしてください!