スクラム開発

お疲れ様です。去年スクラム開発のプロジェクトに参画しましたのでご紹介したいと思います。

 

スクラム開発とは?

アジャイルソフトウェア開発手法の一つです。従来の開発手法(ウォーターフォール)と比べて短い期間で製品リリースを繰り返します。スクラムはラグビーのスクラムから由来し、チームでがっちり組み合ってる様子がそのイメージに近いです。

 

プロジェクトに参画した当初スクラム開発とはこれだと教えてもらったのが下記です。

スクラムガイド

https://scrumguides.org/scrum-guide.html

日本語

https://scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-Japanese.pdf

スクラム開発はこれ以上でもこれ以下でもない、と教えられました。

 

従来のウォーターフォール開発では、要件定義→設計→開発→検証→品質評価→リリースといった流れがあり、実際に製品として見れる段階が、品質評価段階くらいにならないと製品がどのようなものになるかわからないといったことがありました。

スクラム開発では2~4週間といった短い期間でリリースします。その短い期間中に設計→開発→検証→品質評価を行い、最後にリリースとなります。お客さんはすぐに確認することができて、認識のずれなどがあった場合、次のスプリント(次の2週間)に組み込まれます。

私の感覚ではやることがはっきり決まっていたり、スケジュールががっちり決まっているのはウォーターフォールが良くて、要件があいまいだったりしてお客さんと認識あわせしながら進めないといけないときはスクラム開発が良いかなと思っています。

ただ、ウォーターフォールでは開発→検証の行程で工数が大きくかかることに対して、スクラム開発ではそういった偏りはありません。途中でチームを増やしたりすることもできるのですが、その場合増やしたチームは始めのほうのスプリントは何もできずに過ぎていくことが多いです。

 

実際現場では

私が参画していたプロジェクトではスプリントは2週間、チームは5人くらいでした。朝と夕にデイリーミーティングを行ってました。チーム数は結構たくさん。

アトラシアンのJIRA Sofrwareを使って、要件やバグはBacklogに蓄積され、設計書はConfluenceで作成、コードはBitBucket、SourceTreeで管理され、ソースがマージされたらBambooでビルド、テスト、デプロイされるという一連の流れは快適でした。アトラシアンのツールはすばらしかったです。

よくあったのがスプリント始まって2日くらい1つジョブの進めていたら割り込みで違うジョブ振られ次のスプリント送りになったり、同じチームの別の人に引き継いだりしました。逆に2ヶ月凍結していたジョブを受け取ったりしました。

品質担保するためのチームも存在してました。各チーム間でちゃんと調整していなかったりするインターフェースが突然変更になったりして不具合となったりしてました。そういったことが発生しないかチェックする為に毎日テストしてました。一番大変そうでした。

 

最後に

今回はスクラム開発の紹介をしました。どのような開発手法もメリット・デメリットがあります。

メリット・デメリットを把握してプロジェクトにあった開発手法を用いたいものです。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です