リーンソフトウェア開発~できるだけ速く提供する
「決定をできるだけ遅らせる」とともに、この「できるだけ速く提供する」は重要です。
変化に対応させて手戻りを生じさせないために、コンカレントに広さ優先で、効果的なオプションを残し、最終責任時点まで決定を遅らせて開発することを説明しました。並列処理の効率を上げ、オプションのコストを下げ、最終責任時点をより遅い時期にするのがこのできるだけ遅く提供するです。
できるだけ速くというのはアジャイルすなわち機敏ということで、早い時期という意味ではありません。これを実現するには、前に説明したプルシステムで効率よく開発するとともに、各作業をスムーズに流れさせ、パイプの詰まりを生じさせないようにします。「リーンソフトウェア開発」ではこれを待ち行列理論で説明しています。
待ち行列を効率よくするにはサイクルタイムを短縮する必要があります。それには到着の平準化とサービス時間の平準化が有効です。到着の平準化が有効な例としてテストがあげられています。ウォータフォールプロセスではテストが後工程に集中し、十分なテスターがいないとボトルネックになってしまいます。作業を平準化してより速く提供するには、リリースを分ける、つまりイテレーション(繰り返し)開発が必要になります。到着の平準化はテストのみでなくもっと詳細なプロセスにおいても有効だと思います。
サービス時間の平準化には作業を細かな単位に分割することが有効です。作業時間のばらつきをなくすことで待ち行列は効率よく動かすことができます。これは、対象ソフトウェアで制御できるはずです。オブジェクト指向で推奨されているように、より細かなクラス・メソッドに分割することで、実現できると思います。なお、上流でばらつくときは下流に影響が出るので、ばらつきそうな作業は、なるべく下流にもって行くほうが良いようです。
なお、この待ち行列は人間が処理しますので、ゆとりを持たせなければなりません。作業負荷が高くなると人間が疲弊・故障し、待ち行列は止まってしまいします。XPの様に適切な作業量を守らなければなりません。
(全体にカテゴリーを変えてみました。いずれカテゴリーを独自のものに変えるようにします。)
« アジャイルとプルシステム | トップページ | SEPG Japan 2005に参加しています »
「パソコン・インターネット」カテゴリの記事
- [Windows10]コア限定で古いソフトを動かす- Wave SplitterでLPのCD化 –(2021.05.05)
- MacBook Air に3,180円で64GB増設 - 安いSDアダプタ発見! -(2016.06.18)
- 買って良かったキーボードPC(WP004)購入記(2016.04.02)
- Twitterはどこへ行くのか?(2015.04.13)
- 簡単すぎるネットワークカメラQwatch - TS-WLCAM -(2013.09.28)
「書籍・雑誌」カテゴリの記事
- Visual IoT 開発ツール Node-RED が盛り上がってきた - 新刊2冊 -(2017.10.14)
- 決定をできるだけ遅らせる -「現場で役立つシステム設計の原則」深読み -(2017.10.07)
- [#UAS] Ultimate Agile Stories の寄稿5本を一挙公開!(2016.09.14)
- Jenkins、Chef、Redmine、Dockerで業務効率アップ 10倍速の開発・運用ツール(日経BPムック)(2015.05.17)
- [#Redmine #TiDD] 日経SYSTEMSにRedmineの紹介記事を寄稿しました(2014.10.13)
「私のアジャイル」カテゴリの記事
- One fact in one placeとチケット駆動開発 - Software Processes are Software, Too -(2021.12.21)
- マルチスレッド処理と進捗管理・配員・作業分割/割り当て- Software Processes are Software, Too -(2021.12.20)
- カプセル化と組織パターン - Software Processes are Software, Too -(2021.12.20)
- Greedy algorithmと2割8割の法則 - Software Processes are Software, Too -(2021.12.12)
- 「任せて、任せず」「魚を与えるのではなく"釣り"を教えよ」(2021.08.16)
「ソフトウェア」カテゴリの記事
- One fact in one placeとチケット駆動開発 - Software Processes are Software, Too -(2021.12.21)
- マルチスレッド処理と進捗管理・配員・作業分割/割り当て- Software Processes are Software, Too -(2021.12.20)
- カプセル化と組織パターン - Software Processes are Software, Too -(2021.12.20)
- 論文研修会(導入編)- 論理的思考のすすめ -(2019.12.01)
- デブサミ関西でNode-REDとペンギンと勇気の話をしました #devsumiB(2018.10.28)
「プログラミング」カテゴリの記事
- Greedy algorithmと2割8割の法則 - Software Processes are Software, Too -(2021.12.12)
- 論理的に考え伝える – SEA関西「開発現場で役立つ論文の書き方のお話」 -(2021.05.09)
- 論文研修会(導入編)- 論理的思考のすすめ -(2019.12.01)
- スクリプト言語入門 - シェル芸のすすめ - 第2回クラウド勉強会(2019.01.27)
- デブサミ関西でNode-REDとペンギンと勇気の話をしました #devsumiB(2018.10.28)
「本」カテゴリの記事
- Visual IoT 開発ツール Node-RED が盛り上がってきた - 新刊2冊 -(2017.10.14)
- 決定をできるだけ遅らせる -「現場で役立つシステム設計の原則」深読み -(2017.10.07)
- [#UAS] Ultimate Agile Stories の寄稿5本を一挙公開!(2016.09.14)
- Jenkins、Chef、Redmine、Dockerで業務効率アップ 10倍速の開発・運用ツール(日経BPムック)(2015.05.17)
- ソフトウェアと制約と自由 - 「納品」をなくせばうまくいくを読んで -(2014.08.03)
この記事へのコメントは終了しました。
コメント