失敗しないアジャイル開発組織の作り方

ホーム=>グループ見出しページ=>詳細ページ

失敗しないアジャイル開発組織の作り方

1.企業内におけるアジャイル開発

企業内におけるアジャイル開発

 日本でアジャイル開発を企業内で実施する際に、課題となるのは、階層構造の組織形態の中にどの様にフラットな組織を組合わせられるか?と言う事ではないでしょうか?

 と言いますのも、アジャイル開発自体がフラットな構造でのプロジェクト推進です。

 従って、機動性があり、柔軟なプロジェクト運営が可能となります。一方、開発チーム(現場)主体でのプロジェクト運営で従来のベテランの方々の対処は?と言う問題が発生します。

 成功裏にアジャイル開発を企業内に定着を図る上で重要な二点は、始動したアジャイル開発チームの環境をどの様に整備、確保できるか?です。次にベテランの方々のキャリア・パスです。残念ながら現状では、アジャイル開発の手法に話題が集中し非常に重要なこの環境問題が検討される事がありません。結果アジャイル開発を企業内で定着化できず永遠のパイロット・プロジェクトとして扱われておりませんか?

 小規模、ベンチャー企業での導入は、手法の習得が中心で容易ですが、既存組織(中堅、大企業)では組織編成と人事を含めた戦略的な計画の立案が必要です。

.アジャイル開発組織の例

.アジャイル開発の為の環境

アジャイル開発の為の環境

アジャイル開発チーム(内部環境)

 まず開発チームのメンバー構成は、6人~8人です。(最大8人を超えない事)

  1. チームリーダーの指名

  2. スクラムマスター(ファシリテーター)の指名

  3. 開発チーム支援スタッフの指名(対象プロジェクトにより柔軟に対処)

適用業務SE、システム・アーキテクト、DBA等開発チームの不足知識、経験を補い支援するスタッフ

 次にプロジェクト・ルーム(作業場所)ですが、従来プログラマーやSE向けにブースや衝立で個人個人の作業空間を仕切られている所が多いですが、それらを全廃して、会議机の周りに8人のメンバーが着席できる配置とホワイトボード(2~3)、PC(開発用端末)4台で十分です。

 更に開発チームのモチベーションを高める工夫は、開発チームを信頼し、自律させる事です。スクラムマスターは開発チームのチームとしての産出量(ベロシティー)を一定に保つ事とそのチームの生産性の向上のための環境整備を行う事とプロジェクト関係者(プロジェクトのステークホールダー)間を開発チームのために調整する事です。

 特に大事な事は顧客(ユーザー)をプロジェクトに巻き込む(積極的に参加させる)事です。開発チーム支援スタッフは、あくまで開発チームの支援要請により要請を受けた内容の支援のみを行なう事です。

.アジャイル開発チームの外部環境(管理職の役割)

アジャイル開発チームの外部環境(管理者の役割)

 アジャイル開発チームが自律的に活動できる環境を整備、保全し支援を行なう。自律的に活動できる為の支援とは、チーム・リーダー&メンバーに気付き(Awareness)を与えて、自主的に課題を理解把握し対処策を実行させる事で、気付きを与える以外の具体的なアドバイス(助言)や指摘、ましてや命令(指示)を出さない事です。

 これにより開発チームは、自ら解決策を考え自主的に解決する気運が芽生えます。また顧客に提案できるエンジニア魂(マインド)が醸成されます。この様に仕向けると品質に拘るエンジニア集団(チーム)が生まれます。この品質に拘り品質を向上させる事が、結果的に納期遅れを防止し、生産性の向上などプロジェクトの成功に繋がります。

 具体的な指摘をしていると、開発チームは自ら考える事を止めて支持を待ち、顧客や周りの人の顔色を伺うエンドレスなプロジェクトに陥り、モラルも低下します。(悪いスパイラル)

ベテラン社員のキャリア・パス

ベテラン社員のキャリア・パス

 アジャイル開発では、開発チーム(現場)が主役になり開発プロジェクトの主要な作業を自律的に実行します。従って、従来のウォーターフォールでのPM、PL、PMOや適用業務コンサルタント、システムアナリスト、システムデザイナー等々の比較的上位層のベテラン社員の役割と立場が大きく変化します。従ってこの様なベテランの処遇や新しい役割などキャリア・パスを再構成する必要があります。

  • ファシリテーター(スクラムマスター)

  • アジャイル・アーキテクト

  • 適用業務エンジニア(SE)

開発チームの増やし方(横展開)

開発チームの増やし方(横展開)

 開発チーム・リーダーはある程度(10年~15年程度)のシステム開発経験者が好ましいです。他の開発チーム・メンバーは、アジャイル開発の手法を理解(知識のみ)しているだけで特に経験の前提条件はありません。

 プロジェクト途中で新規メンバーを投入してもチーム内で1ヶ月程作業を経験すればほぼ開発チームの一員としてチームの安定したベロシティー(産出量)を維持できます。従ってアジャイル開発チームの核となる二人のエンジニアからプロジェクトをスタートさせる事は可能です。

 またプロジェクトの途中でのダイナミックな人材投入も可能ですが、原則開発チーム・メンバーは一度構成したら動かさない(メンバーを入れ替えない)事をお勧めいたします。ある一定期間固定化することによりその開発チームのベロシティー(産出量)が一定に保て、プロジェクトの計画立案が容易になります。

  • メンバーの入れ替えを行う時には、リーダーが新たなチームを編成(メンバー全員がアジャイル新人)するか?

  • 次期リーダー候補と中堅エンジニアのペアで新しいチームに移動させるか?(暖簾分け)

など経験者より古巣のチームから転出させていくと良いでしょう。

 大規模プロジェクト(複数の開発チームでシステムを開発)の場合は、開発チームリーダー間で情報の共有化と作業上の調整を行ないます。(スクラム・オブ・スクラム)スクラムマスターは一人で複数チームの支援を行ないますが、規模が大きくスクラムマスター一人では手が廻らない場合には、アシスタントを準備すると良いでしょう。

スクラムマスターの育成

スクラムマスターの育成

 スクラムマスターの育成は、経験者のアシスタントなどスクラムマスターの手伝いをしながらアジャイル開発プロジェクトを支援する視点を学ぶ事が効果的です。理由は、従来のウォーターフォール型開発の経験者(ベテラン)がスクラムマスターを演じる事が多いと思われますが、従来の経験がアジャイル開発チームの足を引っ張る事になりがちです。開発チーム支援の視点が十分身につくまで、相当の葛藤が生まれますので、スクラムマスター経験者が横に居て指導する事が育成への近道です。

コンサルティング・サービスのメニュー

コンサルティング・サービスのメニュー

 岐阜県でのNPO法人 ドットNET分散開発ソフトピア・センター指導の経験を生かしアジャイル開発手法導入による貴社ソフトウエア開発プロセスの変革を(株)戦略スタッフ・サービスがお手伝いいたします。

  1. ソフトウエア開発プロセスのアジャイル開発導入に因るリエンジニアリングのコンサルテーション

  2. アジャイル・エンジニア育成の為のOJTトレーニングの指導

  3. アジャイル開発のファシリテーターの育成指導、ファシリテーター業務の受託

指導コンサルタント:

  1. 戸田 孝一郎   (米国スクラムアライアンス認定の公認スクラムマスター)

         開発プロセス・リエンジニアリングのコンサルテーション

  1. 三井 伸行    アジャイル・エンジニア育成のコンサルテーション

         ファシリテーター育成のコンサルテーション

 開発チームへのアジャイル開発手法のテクニカル指導は弊社と提携しております(株)テクノロジックアートをお勧めいたします。(株)テクノロジックアートはアジャイル開発手法(テクニカル)指導の我が国の第一人者です。