徒然ブログですこの広告は、90日以上更新していないブログに表示しています。2011-11-05アジャイルチームを機能横断チームにするために実践した5つのことアジャイルアジャイルチームは機能横断(職能横断とも言います)チームであるのが、望ましいといわれます。画像には大した意味はありません・・・。その理由は、メンバーがチームに貢献する姿勢などいくつかあると思います。私が一番メリットに感じている点は、チーム全体として考えたときに個人の作業遅延をチームでカバーできるということです。Aさんの作業が6時間遅れていたとして、Aさんの担当作業を別のメンバーでも担当できれば、早く作業が進んでいるメンバーをAさんのリカバリーに当てることができます。機能横断チームであれば、メンバー同士で新しいアイディアを出したり、アドバイスしやすくなります。自己組織化も進みやすいと思います。一言で機能横断チームを作るといっても、実際にやるのは大変難しいです。SIerの場合、SE(設計者)、プログラマー、テスターが独立しているというのは珍しくないでしょう。そこで、私のチームが機能横断チームになるために実践した5つのことを説明します。可能な限り自動化するユニットテストやインテグレーションテスト、ビルドからデプロイまで、可能な限り自動化をしました。Jenkinsなどの継続的インテグレーションツールで、ボタンをひとつ押せば、誰でもテスト環境へのデプロイまで行なえる環境を作ります。これにより、基本的なタスクのやり方をツールが担ってくれるので、このタスクはどうやればいいのだろう、と余計な時間を使わずに住むようになります。タスクの完了定義を明確にするアジャイルでは、タスクの完了定義を明確にすることは重視されています。機能横断チームという観点では、タスクをこなす上で、何をすればいいか分からない状態というのは、メンバーにとって非常にストレスです。計画会議の段階で、A機能の実装であれば、作成機能のプロダクトオーナーとの意識あわせ、コードレビュー、ユニットテストのカバレッジ100%など、各タスクの完了定義を明確にしておきます。すれば、急にメンバーのリカバリーに入ったとしても、何をやればいいか分かりやすいので、すぐにタスクに着手できます。ノウハウをWikiにまとめるアジャイルでは、イテレーティブに徐々に機能を追加リリースしていきます。リリースに必要な作業というのは1回だけやるのではなく、何度もやる可能性が高いです。いったノウハウをWikiにまとめて、2回目にやるときは、そのWikiを見れば、他の人でも作業できるようにしておきます。開発作業では、ハマる作業は、他の人がやってもハマる可能性が高いので、その点でも有効でしょう。ノウハウをWikiにまとめる。ノウハウを書いていても、全てをアウトプットすることは難しいでしょう。機能横断チームといえど、やはりメンバーによってスペシャリティは異なります。作業中に困ったときやアイディアが不足しているときに、すぐメンバーに聞けるというのは重要です。アジャイルのプラクティスで、共通の作業部屋で仕事をするというのは、こういった点でも重要だと思います。新しいタスクにチャレンジしやすい風土を作るリリースごとに、メンバーが違うタスクを行なえば、必然的に機能横断的なチームができていきます。アジャイルではタスクへのアサインは行なわず、サインアップを基本としているので、新しいタスクにチャレンジする風土を作る必要があります。これは、なかなか難しいのですが、例えば、チームが助け合う姿勢ができていれば、新しいタスクにチャレンジするときに、サポートしてもらえるので、チャレンジしやすくなるのではないでしょうか。これらの点が、機能横断チームを作るポイントでしょう。アジャイル開発ではないウォーターフォール開発などでも、機能横断チームは有効に働くと思います。マリッジナンバー(トラックナンバーとも言います)を下げることもできるますし。ウォーターフォール開発の場合は、いわゆるSIerの請負ピラミッド構造が問題になることでしょう。Tumblr広告を非表示にする関連記事2015-01-1815時間でわかるGit集中講座を書いてました縁がありGit集中講座という書籍を執筆しました。#JenkinsStudyレポートを書くまでが勉強会ってことで。(96)はてなブログをはじめよう!linoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。