LoginSignup
0
0

More than 5 years have passed since last update.

開発する単位を小さく小さくイテレーション~アジャイルでDevOpsなシステム構築実践~

Last updated at Posted at 2017-12-12

イテレーション(スプリント)とは

1つの開発単位をイテレーション(スクラムではスプリント)といいます。
開発規模などによるのですが、1イテレーション2週間がちょうどいいです。
このイテレーションの中で実装できる機能を決めてから、実装に入ります。1つのイテレーションでは自動化されたテストも含みます。

おことわり

今回の開発は、別の仕事をしながらなので2週間単位でできる自信がありません(すいません)。
一般的な2週間は、1日8時間、10営業日です。今回はプライベートな開発なので1人です。
1イテレーション=80時間とさせてください。

1イテレーションで実装する機能を決める

ユーザストーリーを基に1イテレーションで実装する機能を決めます。

ユーザストーリより工数見積もり

膨大で小難しい資料よりも、誰でもわかりやすいユーザストーリーより、実装するおおまかなユーザストーリーは下記のとおりです。

  1. 問題・解説を表示する
  2. 利用者ごとに解答を保存する
  3. 利用者はFacebookやTwitterのアカウントでログインできる
  4. 問題・解答サービス利用はタダ
  5. 教材をnoteやAmazonで売る
  6. 解答を解析して得意・不得意を明確にする
  7. 午後問題からアプローチする

このうち「1. 問題・解説を表示する」を細分化しました。
詳細は膨大で小難しい資料よりも、誰でもわかりやすいユーザストーリーを参照してください。

  • 資格種別(応用情報・基本情報・セキュリティマネジメント・ITパスポート)を選択する
  • 選択した資格種別を実施回(例:平成29年度秋)ごとに表示する
  • 実施回をクリックすると該当実施回の問題一覧問1から問80まで(ITパスポートの場合は問100まで)が開く
  • 問題画面に問題を表示する
  • 問題画面に問題に関連づく解説を表示する
  • 問題画面に次の問題へのリンクを表示する
  • 問題画面に前の問題へのリンクを表示する
  • 問題画面に問題一覧を表示する
  • 問題画面に広告を表示する

これらの工数を見積ります。
アジャイルにおける工数の見積もりは、ファンクションポイント法などありますが、過去の実績などから「何となく」でよいと思いまよいと思います。理由は「見積もりはあてずっぽう」だからです。不確定なものに時間をかける必要はありませし、開発のはじめのうちは見積もりの精度が低いです。イテレーションを繰り返すたびに精度が向上するものと思ってください。
仮にざっくりと1ユーザストーリ8時間としましょう。9ユーザストーリがあるので72時間となります。

1イテレーション80時間と仮定すると、ちょうどいいかもしれません。
しかし、開発はじめなので環境構築が必要です。

環境構築の工数もイテレーションに加える

必要な環境構築は下記のとおりです。

○環境構築
- LaravelPHP5.4の開発環境をDockerで構築する
- LaravelPHP5.4+Vue環境を構築する
- GitHubリポジトリ作成
- TravisCIでCI環境を構築
- CI環境上でテスト自動化

このうち、当面の開発に必要なものを着手します。おおまかで多めな工数も併せて記載します。

今回のイテレーションで環境構築するもの
- LaravelPHP5.4の開発環境をDockerで構築する 4時間
- LaravelPHP5.4+Vue環境を構築する 8時間
- GitHubリポジトリ作成 4時間

環境構築工数合計16時間

今回のイテレーションで実装するユーザストーリ

先ほどのユーザストーリーのうち、下記3つを8時間ずつで実装することにします。

  • 資格種別(応用情報・基本情報・セキュリティマネジメント・ITパスポート)を選択する
  • 選択した資格種別を実施回(例:平成29年度秋)ごとに表示する
  • 実施回をクリックすると該当実施回の問題一覧問1から問80まで(ITパスポートの場合は問100まで)が開く

開発工数合計24時間

開発工数合計が24時間
環境構築工数合計が16時間
なので、総計40時間となります。
1イテレーションの80時間のうち半分ですが、不測の事態もあると思います。
かなり多めのバッファをとり、これらを1イテレーションとします。

アジャイルでDevOpsなシステム構築実践 目次

はじめに
膨大で小難しい資料よりも、誰でもわかりやすいユーザストーリー
開発する単位を小さく小さくイテレーション

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0