はじめに

「アジャイル開発」は、システムやソフトウェア開発において主流になっている開発手法で知られています。 「アジャイル」はサービスインまでの期間を短縮できることが最大の特徴です。開発途中の仕様や要件変更にも柔軟に対応できることから、多くのプロジェクトで導入されています。これはIT業界だけでなく、ビジネス環境の変化が激しい今日においても、柔軟かつ迅速に対応できる組織構造が求められているためです。

2013年の設立以来、NALはアジャイル手法をプロジェクト開発と会社運営のすべての活動の指針としてきました。私たちは、組織開発にアジャイルを導入することにおいて、ベトナムの先駆者の一つであることを誇りに思っています。本記事では、NALのVUCA(*)時代における「アジャイル化」の旅路を読者と共有し、どのようにして私たちが課題を克服し、卓越した柔軟性と効率を達成したかをご紹介します。

(*) VUCAとは、「Volatility(変動性)」「Uncertainty(不確実性)」「Complexity(複雑性)」「Ambiguity(曖昧性)」の頭文字を取ったもので、物事の不確実性が高く、将来の予測が困難な状態を指す造語です。

運営の仕組み

アメーバ経営

NALは、開発部門にアメーバ経営モデルを採用しています。アメーバ経営は、意思決定権と管理責任を各ビジネスユニットに分散し、独立した財務権限を与えることで、各ユニットが自律的にビジネスを発展させることを可能にする管理手法です。

NALの開発部門は、自己管理型のビジネスユニット(アメーバ)に分かれており、社内では「TT」と呼ばれています。各TTは複数の安定したチーム(stable teams)で構成されており、1人のオーナー(TTO)が責任を持っています。TTOは、組織が求める収益を確保する限り、内部運営において自律的に活動することが許されています。

アメーバ経営モデルは、従業員とチームが市場の変動を敏感に感じ取り、組織が迅速にその変化に適応できるようにします。NALは、開発部門だけでなく、バックオフィス部門(人事、マーケティング、経理など)にもアメーバ経営を全社的に展開することを目指しています。

アジャイルによるプロジェクト管理

NALは徹底的な研究を経て、組織全体をアジャイル化し、ベトナムで初めてソフトウェア開発と生産にこの哲学を適用したIT企業の1つとなりました。

現在、組織内のすべてのチームが100%アジャイルフレームワークに基づいて活動しています。

アジャイル手法を導入することで、NALは柔軟性と効率性を高め、顧客のニーズにより迅速に対応できるようになりました。この取り組みにより、NALはベトナムのIT業界で先駆的な存在となり、革新的なアプローチでプロジェクト管理を行っています。

アジャイルな組織体制

開発チームの構成

開発チームの基盤

NALの生産チームの基盤は、Stable team(安定したチーム)の核心から形成されています。伝統的な専門部門とは異なり、NALの生産チームは異なるスキルを持つ人材から構成され、独立してプロジェクトを展開できる多機能チームを形成しています。Stable teamの人材は少なくとも移動がありません。そのため、チームメンバーはより良く理解し合い、協力し合い、生産性と顧客に提供する価値を向上させることができます。

開発チームはAgileプロセスに基づいて活動し、価値のあるソフトウェア機能を早期かつ継続的に顧客に提供します。これにより、顧客は製品についてのイメージや体験を得ることができ、早期にフィードバックを提供することができます。そのフィードバックを基に、開発チームは製品を適時に調整し、顧客の実際のニーズに合わせて形成することができます。

開発チーム体制

開発チームは、通常4〜10人のメンバーで形成されています。チームには主に3つの重要な役割があります:

Proxy Product Owner(PPO):
顧客側のPO(Product Owner)の代理として、PPO(Proxy Product Owner)がチームのリーダーを務めます。PPOの主な役割は、開発プロジェクトにおいて顧客と開発チームの橋渡しをすることです。また、PPOは営業、経理、インフラなどの他の部門との連携も担当し、プロジェクト全体の調整を行います。

Agile Leader(AL):

Agile leaderは、Agileの原則を適用し維持するために開発チームを指導し支援する役割です。Agile leaderは障害を取り除き、円滑な作業環境を作り、開発チームがAgileのプロセスを遵守することを保証します。継続的な監視と支援を通じて、Agile leaderはチームが高い品質を維持し、柔軟性を高め、作業プロセスを改善するのを支援します。

開発チーム(Development team):
開発チームは、実際にプロダクトを作り上げる多機能なグループです。設計、プログラミング、テスト、ドキュメンテーションなど、製品開発に必要なすべてのスキルを持つメンバーで構成されています。チームは自己組織化されており、スプリントごとに決められた目標を達成するために協力して作業します。

これらの役割が効果的に連携することで、NALは顧客のニーズに迅速に対応し、高品質な製品を効率的に開発することができます。また、この構造により、チーム内のコミュニケーションが促進され、継続的な改善と学習の文化が醸成されています。

バックオフィスチーム

バックオフィスチームは、主体的な作業環境の構築に努め、リーダーはスタッフに信頼を持って権限を委譲しています。各チームは主にスクラムバン(Scrumban)モデルに基づいて運営されており、業務目標はバックログとして管理され、各タスクには明確な完了定義(DoD)が設定されています。この方法により、チームの効率性と透明性が向上し、より効果的なプロジェクト管理が可能になっています。

アジャイル手法による運営: スクラム、カンバン、スクラムバン

SCRUM (スクラム)

スクラムは、アジャイル手法の一つで、チームが継続的かつ迅速にタスクを確認し、1〜4週間(スプリント)ごとに成果物を生成することを目的としています。

KANBAN (カンバン)

カンバンは、トヨタの生産方式に基づいたアジャイル手法で、以下の4つの原則を持っています:

  • 仕事を視覚化する
  • 進行中の仕事を制限する
  • 作業フローに集中する
  • 継続的な改善を行う

SCRUMBAN(スクラムバン)

スクラムバンは、スクラムとカンバンの要素を組み合わせたプロジェクト管理手法です。スクラムのプランニング、デイリー、レビュー、レトロスペクティブのイベントを使用しつつ、カンバンの視覚的な作業フローと進行中のタスクの制限を追加します。これにより、柔軟な管理手法が全ての規模のプロジェクトに適用されます。

開発効率の向上

Cross team活動

各チーム内でのデイリースクラムや業務改善を目的としたレトロスペクティブなどの情報共有活動に加えて、当社ではより大規模なクロスチーム活動も実施いたします。クロスチーム会議は、PQA(*)の調整のもと、毎週実施されるプロジェクト管理の重要な活動です。この活動は、プロジェクト情報の共有と同期を行い、現在直面している課題の解決や将来のリスクの早期発見・対策を目的としています。各チームのプロダクトオーナー(PO)がプロジェクトの進捗状況や問題点を共有し、他チームのPO、セールス、人事(HR)、インフラなどの関連部門から意見やフィードバックを受け取ります。また、他のチームのPOや参加者との情報交換を通じて、多角的な視点から問題解決やリスク管理を行います。このような緊密な連携により、お客様のプロジェクトに最適なソリューションを提供し、プロジェクトの成功を確実にします。

(*)PQAはProcess Quality Assuranceの略で、日本語ではプロセス品質保証。QAが製品やサービスの検査及び保証を指すのに対し、PQAは品質保証の立場で開発工程からの干渉を強調します。

学習組織の設立

学習はNALベトナムの重要なアイデンティティの一部です。社員が成長してこそ、組織も持続的に発展することができます。そのため、コーディングクラブ、読書クラブ、個人の生産性向上コースなど、多様な学習促進活動や奨学政策を通じて、メンバーが知識を蓄え、仕事の効率を高めるための積極的な環境を整えています。

知識管理のSECIモデル

現代のビジネス環境において、継続的な学習文化を維持することは、組織の持続可能な成長と競争力を確保するための重要な要素です。SECIモデル(共同化、表出化、連結化、内面化)は、この学習文化を構築し維持する上で重要な役割を果たします。

SECIモデルは、個人が持つ暗黙知(言語化されていない知識や経験など)を形式知(文章や図表など、誰もが理解できる形に変換した知識)に転換し、組織全体で共有するプロセスを示しています。このモデルは、下図のように、共同化(Socialization)、表出化(Externalization)、結合化(Combination)、内面化(Internalization)の4つのプロセスを繰り返し行うことで、新しい知識や技術を生み出します。なおSECIモデルとは、これら4つのプロセスの頭文字を組み合わせた言葉です。

 

学習組織作り(BA「場」デザイン)

SECIモデルを効果的に運用するためには、知識が転換・創造される適切な場(場所)を組織内に作る必要があります。これらの場には、社内研修、アジャイルトレーニング、専門クラブ、レビュー会、レトロスペクティブ、コーディングコンテスト、クロスチーム、デイリースクラムなどが含まれます。

NAL – KATHON:

プロジェクト管理コース

 

 

Coding クラブ

Product Ownerのワークショップ

QUALITYの考え方

品質の定義

NAL社において、品質の高いソフトウェア(製品やサービス)は以下の基準を満たす必要があります:

▶︎Match requirements, end-user experiments, market

  顧客の要求(機能や特徴)を満たし、エンドユーザーの目的に合致していること(市場のニーズに合っていること)。

▶︎Match development technical (quality engineering)

  開発の技術的要件を満たしていること(信頼性、セキュリティ、保守性などの非機能要件を確保していること)。

▶︎Particular happiness

  開発に携わる全てのメンバーが満足すること。

品質を確保するために考慮すべき要素

製品自体に品質を組み込む観点(Quality Built In)。製品開発の初期段階から品質に配慮し、全体的に最適化することが重要です(Optimize The Whole)。そのためには、以下の要素を同時に考慮する必要があります:

▶︎製品やサービス自体が高品質であること。

▶︎人間がツール、技術、プロセスを活用し、継続的に自分の能力を向上させ、品質保証と品質向上の活動に積極的に参加すること。

▶︎ツール、技術、プロセスは、ソフトウェア開発業界のベストプラクティスから学び、組織と人材に合わせて常に更新・改善されることで、仕事の効率を高めること。

▶︎安全で快適かつインスピレーションを与える環境を提供すること。

Strategy Map + OKRs実施

Strategy MapとOKRの組み合わせにより、組織は長期的な戦略を策定するだけでなく、短期的な目標も効果的に連携および追跡することができ、包括的な戦略管理システムを構築します。

Strategy Map(戦略マップ)とOKRs(目標と主要な結果)の組み合わせは、多くの重要な利益をもたらします。

明確さと集中力: 戦略マップは戦略目標とそれらがどのように結びついているかを可視化し、OKRsは具体的な目標と結果を明確にします。これにより、チームは進むべき方向を理解し、最も重要なことに集中することができます。

測定と追跡: OKRsは各目標のための具体的な測定指標を提供し、進捗を追跡し、必要に応じてタイムリーに調整することができます。

連携と同期: 戦略マップを使用して戦略目標を特定し、それをOKRsに変換することで、組織のすべての活動が共通の目標に向かっていることを保証します。

コミュニケーションとコミットメント: 両方のツールを組み合わせることで、戦略を組織全体に明確に伝達し、全ての階層の従業員からのコミットメントとモチベーションを生み出します。

要するに、この組み合わせは、組織が戦略を明確に定義し、進捗を効果的に追跡し、全員が共通の目標に向かって進むことを確実にします。