DXが進む昨今、スピーディで柔軟な対応ができる開発手法「アジャイル開発」が注目を集めています。ただ、アジャイル開発には、先述したメリットがある一方、柔軟さゆえに迷走しやすく趣旨が変化してしまうという問題も孕んでいます。そうした問題を解決するのが、JBCCの「JBアジャイル」です。本記事では、アジャイル開発の基礎知識と、JBCCのJBアジャイルについてご紹介します。
目次 |
アジャイル開発とは
アジャイル開発とは、システムを小さな機能単位に区切り、ブラッシュアップを繰り返しながら開発を行う手法です。開発開始時は大まかな計画と方向性でスタートするため、市場の変化などに柔軟に対応でき、スピーディな開発が可能。こうした特性から、DXとも相性の良い開発方法です。
アジャイル開発の必要性
アジャイル開発が必要な理由は、開発を効率化して企業のDXを成功させるためです。先述したような特性を持つアジャイル開発は、企業のDXで大きな力を発揮し、人材不足や生産性の向上、顧客への対応、コストといったさまざまな課題にコミットします。
特に現在の日本は「2025年の崖」の問題に直面しています。2025年の崖とは、レガシーシステムを刷新できなければ、最大12兆円の経済損失が出るとされている問題です。経済産業省が発表している「DXレポート ~ITシステム「2025年の崖」克服とDXの本格的な展開~」によると、8割の企業がレガシーシステムを抱えており、その中の7割の企業がレガシーシステムを足かせと感じています。原因は、ドキュメントが整備されていない、影響が多岐にわたる、技術者が確保できないなどさまざまです。
この問題に対応するには、レガシーシステムの解消と再レガシー化を防ぐ必要があります。アジャイル開発は、フィードバックと開発を繰り返すため、時代の変化に対応しやすく、システムの刷新だけでなく、再レガシー化を防ぐのにも適しています。
ウォーターフォール開発との違い
代表的なシステム開発手法として、アジャイル開発のほかに「ウォーターフォール開発」があります。ウォーターフォール開発とは、最初に要件定義から納品までをすべて計画し、ひとつの工程を完全に終わらせてから次の工程に進む手法です。
アジャイル開発はイテレーション(繰り返し)を前提としており、そもそも後戻りという概念がありません。一方、ウォーターフォールの場合、後戻りという概念はあるものの、計画の中に組み込まれていません。そのため、仮に仕様が変更となった場合にはそれまでの工程がやり直しとなり、コストがかかります。
ただ、ウォーターフォール開発には工数の把握や人材確保がしやすい、スケジュールや目的がブレにくいなどのメリットもあります。案件によってはウォーターフォール開発の方が向いていることもあるため、アジャイル開発、ウォーターフォール開発それぞれのメリット・デメリットを理解して選ぶことが重要です。
アジャイル開発のメリット・デメリット
アジャイル開発はDXを行う企業に適した開発方法ですが、メリットだけでなくデメリットもあります。ここではアジャイル開発のメリットとデメリットをご紹介します。
メリット:柔軟な対応とスピード
アジャイル開発の最大のメリットは、柔軟な対応ができることと、開発スピードが速いことです。
アジャイル開発は、フィードバックを受けて変更することが前提となっているため、開発途中の変更や追加に柔軟に対応できます。特に変化のスピードが速い現代では、時間をかけて開発している間に市場の状況が変わることも珍しくありません。アジャイル開発であれば、こうした変化にも対応可能です。
また、機能ごとに開発して少しずつリリースすることもできますし、トラブル対応もスピーディに行えます。
デメリット:趣旨が変化しやすく、中規模以上の案件に向かない
アジャイル開発のデメリットは、趣旨が変化しやすいことと、大きな案件に向かないことです。
先述したように、アジャイル開発は仕様変更が容易です。そのため、変更を繰り返すうちに目的を見失い、迷走することがあります。加えて、変更や追加によってスケジュール管理が難しくなり、思ったように開発が進まなくなることも考えられます。
また、アジャイル開発はスピードを重視していることから、少数精鋭でチームを作るのが一般的で、大きな案件には向きません。なぜなら、大きな案件になるとそれだけ人数が必要となり、スムーズに動けなくなるためです。このような状況になると、アジャイル開発の大きなメリットである「スピーディな開発」を活かしきれなくなります。
アジャイル開発のデメリットをカバーした「良いとこどり」の超高速開発手法「JBアジャイル」
アジャイル開発はスピーディで柔軟な開発ができるものの、中規模以上の案件になると対応が難しいというデメリットを抱えています。しかし、中規模以上の案件でもアジャイル開発のような柔軟性とスピードを求める方は多いでしょう。 JBCCの「JBアジャイル」は、アジャイル開発のデメリットを解消し、中規模以上の案件でも対応できるアジャイル開発です。ここからは、JBアジャイルの特徴や開発手順についてご紹介します。 |
JBアジャイルとは
JBアジャイルとはJBCCが提供する超高速開発手法です。上流工程の定義をしっかりするウォーターフォール開発の手法と、開発をスピーディに行って評価し再開発するというアジャイル開発の手法の両方を採り入れています。この手法を取り入れることで、一般的なアジャイル開発の問題(スケジュール管理が難しい、実装が迅速に行えない、連続的に捉えられない、要望が収束しない、など)を解決しています。
また、JBアジャイルでは、一般的なアジャイル開発では難しい基幹などの大規模システムの開発も可能。その理由は、上流工程でウォーターフォール開発の手法を取り入れているためです。
JBアジャイルでは、要件定義を実施して全体を捉えるという、一般的なアジャイル開発では行われない工程をしっかり行います。これによって目的を明確化し、ブレない基盤を作ります。加えて、繰り返しの回数を固定化、ローコード開発の採用、要望はいったんバケツに貯めてキャパに応じて取捨選択するなど、開発速度をアップさせる手法を採用。さらに従来のピラミッド型チーム編成などを行うことで、アジャイル開発のスピードを維持しながら、中大規模案件に対応します。この開発手法によって、ウォーターフォール開発と比べて50%程(JBCC比)スケジュールが短縮できています。
JBアジャイルは、お客様にも好評で、実績は8年間で440件以上。「見えることが大きい」「やりたいことが実現できた」「仕様追加・変更に対応しやすくなった」などの声をいただいています。
【関連サービス】超高速開発手法 JBアジャイル
JBアジャイルが解決するパッケージと要件定義の問題
JBアジャイルが先述した開発手法を採用している理由は、パッケージと要件定義の問題があるためです。
システム開発を行う際には、パッケージで悩むお客様が多くいます。ただ、実際にパッケージを選択・導入してやめたお客様には「1年並行ランしたが、独自の運用が多くパッケージ外の作業が多い」「アドオン・カスタマイズが多くコストが倍になった」「パッケージの制約上、必要のない作業が増えた」などの悩みを抱える方も珍しくありません。当初は業務をパッケージに合わせるつもりだったが、実際には適さないエリアがあり、うまくいかないというケースが多いようです。
またパッケージに手を加えると結果的にバグの発生確率が上がる、テストの量が多くなるなど品質、コスト、スケジュール面でのデメリットが発生します。かといって、手組でも要件の抜け漏れが発生することがあり、うまくいくとは限りません。JBCCでも、ウォーターフォール開発を行っているときは、要件を聞き出せない、お客様も要件を出し切れない(現行の仕様を確認しきれていない)という問題がありました。
加えて、お客様はテストでしか実際の画面を確認できません。そのため、紙で確認したときとのギャップがあります。このほかにも、内部設計からテストまでお客様とコミュニケーションの機会がなく、状況がわからない、その間にお客様の記憶が薄れ、目的などを見失ってしまう、納期・コストの問題で仕様漏れやバグが見つかって後戻りするなど、さまざまな問題が発生していました。
そこでJBアジャイルでは「お客様は要件を出し切れていない」「JBCCはお客様の目的を理解できていない」を前提にシステム開発を行っています。これによって、お互いの意思疎通をしっかりと行い、漏れのない要件定義を実現。ここにアジャイル開発のスピーディさと柔軟さを組み合わせることで、目的が定まった上で、効率的な開発を行える手法にしています。
JBアジャイルの3つの特徴
JBアジャイルには、大きく3つの特徴があります。ここからは、JBアジャイルの特徴をご紹介します。
① 構想策定と要件定義
JBアジャイルでは、構想策定と要件定義に力を入れています。
まずは、家を建てるのと同じように建付けや間取り、部屋数を決定。そのあとに部屋の詳細を決め、必要な機能数を確定させてアジャイルを回していくという方法を採用しています。これによって目的やスケジュールを明確にした状態で、開発を進められます。
② 計5回の反復開発
JBCCでは5回の開発にこだわっています。まずは、要件定義をもとに2回。これで機能を確定させます(プロトタイプ局面)。さらに深掘りして2回(プロダクト局面)、最後にユーザーテストで1回(パイロット局面)の反復開発を行います。
JBアジャイルでは、最初から実際のデータを使って確認ができるため、新旧システムを比較しやすいのが特徴です。これによって、潜在的な要件を顕在化できます。また、パフォーマンスなども早い段階で確認し、課題となる部分を早めに解決します。
③ ローコード開発で段階的に作る
JBアジャイルでは、開発スピードをアップさせるため、ローコード開発を採用。ただ開発を行うのではなく、機能をリストアップして優先度の高いものから作ってくことで、より開発を効率化しています。
JBアジャイルの開発手順
ここからは、JBアジャイルの開発手順を構想策定局面、要件定義局面、開発局面の3つに分けてご紹介します。
① 構想策定局面
JBアジャイルでは、最初に構想策定局面があります。企業文化を理解し、現行の業務範囲を特定して、新システムの方針を決めていきます。
具体的には、前半でAsIs(現状の姿と明確化)、後半でToBe(なりたい姿)を検証。段階的なアプローチもここで策定します。
お客様からはスリム化の話もよく出てきますが、現行をそのままスリム化するのは困難です。JBアジャイルではあるべき姿を想像して、そこに合わせていくことを大切にしています。目先の課題だけではなく、長期的な視野を定めてのシステム開発を行います。
② 要件定義局面
構想を策定したら要件定義を行います。JBアジャイルの要件定義で大切にしていることは「お客様の運用後を見据えた内容になること」です。そのためJBCCの要件定義では、業務要件の深掘りを重視。セッションでいかに深掘り要件を生み出すかに重点を置いています。
JBアジャイルではプロトタイプ局面から実際に動くアプリケーションで確認するため、基本的にテストケースの作成を要件定義で行います。機能疎通を優先するため、エラーやバグは一定数ありますが、実際の画面で確認できる分、お客様の要件を聞き出しやすくなっています(もちろんエラーやバグはあとで吸収します)。
こういったことから、最初から完璧な状態を望まれるお客様にはJBアジャイルは提案できません。
なお、内製化を望まれるお客様には、要件定義に積極的に関わっていただきながら、後述する「GeneXus」の基礎を習得していただきます。目標はサービスイン後に自社で保守を行っていただくことです。この場合、プロトタイプ局面以降で開発を実践していただく形になります。
③ 開発局面
要件定義が終わったら、開発局面となります。開発局面には「プロトタイプ局面」「プロダクト局面」「パイロット局面」の3つがあります。
行うことは疎通確認、要件の深掘り、パフォーマンス確認などです。これらをそれぞれの局面で行います。1つの工程で行うことはウォーターフォール開発と変わりません。
開発の1回目はJBCC主体で作成。そこから要件を深掘りして修正し、2回目は、アプリケーションに実データを投入して確認しておいていただくなどお客様が主体のセッションです。協議結果を元にブラッシュアップを行います。実際の画面を見て行うので、対面でなくても確認が可能です。
いただいた意見もすべて反映するのではなく、一度バケツに入れて、A~Cの優先順位をつけていきます。Aは対応必須、B・Cはキャパなどを考慮したうえで可能であれば対応します。お客様とのセッションが多く、意見も多く挙がります。お客様と一緒にモノづくりをしている実感があります。
「GeneXus」利用によるメリット
JBアジャイルのGeneXusは、複数の言語で異なるプラットフォームのアプリケーションを生成して維持できるツールです。圧倒的に記述量が少なく、物理バグがありません。これによって、SEがロジックを考える時間ができます。またデータベースや言語が変化しても、自動的に仕様を解析して最適化するなど、開発の効率化に便利なツールです。全世界50ヵ国以上8,700社、技術者10万人以上、国内約700社の実績があります。
加えて、GeneXusには理想のスキルセットがあることも魅力です。従来のWebシステム開発では、複数のスキルと技術者が必要でしたが、GeneXusではGeneXusのスキルだけでアプリケーションの構築が可能。技術者にエラー要因を指摘するなどのアシスト機能により、正しいコードを元にプログラムが生成されるため、アベンド(バグによる異常終了)が起こりません。データベース構造を自動的に把握することも、GeneXusの強みです。
JBアジャイルでは、動くアプリケーションを確認しながら進める性質上、アベンドが起こるとお客様とのセッションがそこで止まってしまいます。しかしGeneXusではアベンドが起こらないため、JBアジャイルと非常に相性が良いです。
GeneXusの開発はドラッグ&ドロップやプロパティの設定などで簡単。テーブル定義するだけでメンテナンス画面が自動生成されます。技術者からも「シンプルで分かりやすい」「記述上の制約はあるが、正確」などの声が挙がっています。入社1年目の新入社員でも高い生産性を出せます。
一方で、基礎的な知識が疎かになる可能性もあります。GeneXusを利用する際には、ベテランによるフォローや教育が必要です。
【関連サービス】ローコード開発ツール GeneXus
JBアジャイルによる事例
JBアジャイルは、多くの企業のシステム開発で導入いただいております。ここからは、JBアジャイルの事例を3つほどご紹介いたします。
代々木ゼミナール
代々木ゼミナール様では、事業再編を機に30年以上利用してきたメインフレームをオープンシステムに移行することを検討していました。利用してきたメインフレームでは、プログラムが膨大になっており、ブラックボックス化している状態です。
JBCCでは、このシステムを1年半で開発。およそ700の機能数、およそ2,000本のプログラム数を3チーム編成で対応。要求対応数はどのチームも1,000を超えました。
JBCCでは、品質担保の指標として、深掘り対応件数をカウントしています。プロトタイプ局面の段階で多く対応し、プロダクト局面に入ったら収束、飽和するかを質の基準としています。これがうまくいかない場合にはお客様と相談して、理想的な収束の形となるようにしていきます。
▼代々木ゼミナール様 導入事例
https://www.jbcc.co.jp/casestudy/solution/dev/genexus/yozemi.html
河合塾
河合塾様では、受講ニーズの変化に伴い、受付システムの刷新を検討されていました。
この案件では、コアエンジンをJBCC、フロントを別会社が担当しています。機能の汎用化、カスタマイズの柔軟化を定義し、将来のシステム改修を最小化する形で開発を行いました。
▼河合塾様 導入事例
https://www.jbcc.co.jp/casestudy/solution/harmonize/dev/kawai-juku.html
中庸スプリング
中庸スプリング様では、30年前に作成したシステムを使用していました。しかし、属人化している、業務が変化してシステムの操作性が悪い、紙やエクセルなど情報が分散して効率が悪いなど、さまざまな問題が起きていました。
JBCCでは、5ステップで基幹システムの再構築を実行。ブラックボックス化が解消され、経営判断もスピーディになりました。
▼中庸スプリング様 導入事例
https://www.jbcc.co.jp/casestudy/solution/harmonize/dev/chuyo-tcp.html
ご紹介した以外にもJBアジャイルによる事例は多数ございます。その他の事例はこちらから資料ダウンロードできます。
JBアジャイル事例 資料ダウンロード
基幹システム構築等の大規模開発を含む400件を超える実績
|
まとめ
人材不足や生産性の向上が叫ばれる現代において、アジャイル開発は必須の技術です。しかし、一般的なアジャイル開発では、迷走した結果思うようなシステムにならなかったという事例も多くあります。そうした問題を解消するのが、JBCCの「JBアジャイル」です。
システム開発を検討している方は、ぜひJBCCにご相談ください。
JBCC株式会社JBCC株式会社は、企業のデジタル・トランスフォーメーション(DX)を支援する総合ITサービス企業です。クラウドサービスを中心にシステムの設計から構築、運用までを一貫して手掛けており、クラウド 2,150社、超高速開発による基幹システム構築 440社、セキュリティ 1,100社の実績があります。 |