Blog

アジャイル、スクラム開発とは

アジャイル開発とは

ウオーターフォール型との違い、メリット

世界では、アジャイル開発で開発が進められています。
今でも日本で主流なのが、ウオーターフォール型の開発です。
ですから、日本のITのサービスで世界中で使われているものがほとんど無いのです。
あらかじめ、すべて決めた上で開発をすすめていても、1年後には古くなっている、
トレンドが変わっている、競合が出てきているということはよくあることです。
ウオーターフォール型だと、一度決めた要件定義は変更が効かないことが多いです。

契約して企画して、要件定義をして、外部設計、内部設計、実装、テスト、納品の流れをとります。

ここの最大の問題は、依頼主は、業務には通じているけれど、ソフトウエア開発において素人だと言うことです。
そして要件定義書という書面を見せられても、実際にどんなものが動くのかイメージできないことにあります。

できたものは、イメージしたものとは違います。これでは業務に支障がある。
といっても、しかし、契約書があり、要件定義書があります。
それを見た上で契約されましたよねと、開発会社は言います。

それで、トラブルになります。

アジャイル開発

それに対して、アジャイル開発は、予測できない変更がからなずある!とうところから入っています。
では、変更があるなら、どうすればいいか?
なるべく早めに、動くものを依頼主に見せるということです。
そのため、動くものを早く作る。そこで仕様変更が入ることを想定して、柔軟に作るということをします。
DB設計などは、変更によってはすべてやり直しになるので、注意が必要ですね。
そのため私達は、NoSQlのDBを利用を進めています。
DB設計の変更が容易だからです。

そのアジャイル開発の中でもスクラムという開発方法があります。
これはラグビーのスクラムのように、みんなが密になって働くということです。
チーム内コミニケーションを密に取ります。

毎日必ず、15分程度のミーティングをします。
依頼主とは2週間に1回からなず、面談の時間をとります。

スクラムには3つの役割があります。

プロダクトオーナー

製品の総責任者、クライアントがなります。
毎週打ち合わせをして、その時点までで動いているものをみてもらいます。
動作の確認をします。
業務に支障がないか?何のためにその機能が必要か?
最後に完成したものを見るのではなく、その作る過程において見ていますので、
まるで開発に参加しているかのようです。

スクラムマスター

チームをまとめ、組織間のまとめをします。けれども一緒に開発もします。
ここは日本人が入りますので、プロダクトオーナーとも日本語で会議します。
ご安心ください。

チーム

開発チームはラグビーのスポーツのように常に一緒に動いています。
主に英語でやり取りします。
今ではツールもあり、何よりもソースコードをみれば何をしたいのかがわかります。

メンバーは協力して同じゴールを目指します。
俺はフロントだから、バックサイドは知らないではいけません。
必要な変更は、互いに譲りながら目的を目指します。

ウオーターフォール型で開発しているとこうは行きません。
辞書のような、分厚い書類があり、要件定義書にあらかじめ決められた仕様が記載してあるので、間違っていたとしても
そのとおりに作らないといけません。
非効率この上ないと思います。

また要望があれば、御社のスタッフを開発メンバーに加えることも可能です。
OJT(on the job training)で、確実に力をつけることが可能です。

ただ、アジャイル開発にもドキュメントがあります。
そして、仕様書というのはとても大切です。
しかし、ウオーターフォール型とは違い、柔軟性を持つものとなっています。
最低限の大枠しか決めていないからです。
環境、画面設計等です。
それにすら変更が入ることもありますが、、

それについては次回説明いたします。

次回は、アジャイル開発の工程について説明したいと思います。


一つ前の記事 測量くん-2点間距離計算
次の記事 Swift ??演算子について サルだとわからん。