リーンソフトウェア

53
リーンソフトウェア開発 MOONGIFT 中津川篤司 2009216日月曜日

Upload: atsushi-nakatsugawa

Post on 21-Jul-2015

2.347 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: リーンソフトウェア

リーンソフトウェア開発MOONGIFT 中津川篤司

2009年2月16日月曜日

Page 2: リーンソフトウェア

みなさん!

2009年2月16日月曜日

Page 3: リーンソフトウェア

不況です!!

2009年2月16日月曜日

Page 4: リーンソフトウェア

プロジェクトが火を噴いている場合ではありません!

2009年2月16日月曜日

Page 5: リーンソフトウェア

リーンソフトウェアを学んで乗り切ろう!

2009年2月16日月曜日

Page 6: リーンソフトウェア

リーン(Lean)とは?

無駄のないこと

無駄を知り、無駄をしない

2009年2月16日月曜日

Page 7: リーンソフトウェア

元々の由来むかしむかし、あるところにおじいさんとおばあさんがいました…(中略)

(中略)…そしてカンバン方式がうまれましたとさ、めでたしめでたし

2009年2月16日月曜日

Page 8: リーンソフトウェア

カンバン方式は生産業向け

システム開発って生産業?人力集約型?人++って火を噴くよね?

人→人であるべき

2009年2月16日月曜日

Page 9: リーンソフトウェア

リーンはソフトウェア化開発向けカンバン方式ソフトウェア開発は労働集約ではなく、料理で言う所のレシピの作成

研究ともリサーチとも違う

2009年2月16日月曜日

Page 10: リーンソフトウェア

第一人者

Mary Poppendieck元3M

Tom Poppendieck夫婦

2009年2月16日月曜日

Page 11: リーンソフトウェア

リーンとはなんぞ?

2009年2月16日月曜日

Page 12: リーンソフトウェア

ルール (1)

ムダをなくす

品質を作り込む

知識を作り出す

決定を遅らせる

2009年2月16日月曜日

Page 13: リーンソフトウェア

ルール (2)

速く提供する

人を尊重しろ

全体を最適化する

2009年2月16日月曜日

Page 14: リーンソフトウェア

ムダをなくす

2009年2月16日月曜日

Page 15: リーンソフトウェア

システム開発のムダ

後で使うかも的な機能

見返すことのないドキュメント

よく変更されるタスク管理

複雑さ

2009年2月16日月曜日

Page 16: リーンソフトウェア

7つのムダ

未完成の作業のムダ

余分な機能のムダ

再学習のムダ

引き継ぎのムダ

タスク切り替えのムダ

遅れのムダ

欠陥のムダ

2009年2月16日月曜日

Page 17: リーンソフトウェア

未完成の作業のムダ

コード化されていないドキュメント

同期されていないコード

テストされていないコード

ドキュメントのないコード

導入されていないコード

2009年2月16日月曜日

Page 18: リーンソフトウェア

余分な機能のムダ

大野耐一曰く、作り過ぎが製造における7つのムダの内、最悪のムダであると強調

経済的必要性、常識的に判断して不要な機能は削ってしまう方が良い。

2009年2月16日月曜日

Page 19: リーンソフトウェア

再学習のムダ

忘れの防止

既知の情報を適切に組織内で共有化する

2009年2月16日月曜日

Page 20: リーンソフトウェア

引き継ぎのムダ

暗黙知が欠落する

社員が辞める→引き継ぎ→また辞める…

コミュニケーションを増やす(すべてドキュメントで対応しようとしない)

2009年2月16日月曜日

Page 21: リーンソフトウェア

タスク切り替えのムダ

マルチタスクで動くのは非常に難易度が高い

大抵どれも中途半端

短い周期でのバッチ処理を行う(週ごとに担当を決めるなど)

2009年2月16日月曜日

Page 22: リーンソフトウェア

遅れのムダ

週末みんなが集まってのミーティング

メールの返事がこない

現場で何も決められない

2009年2月16日月曜日

Page 23: リーンソフトウェア

欠陥のムダ

テストファースト!

エラーは人にあらず、開発プロセスに問題がある。

2009年2月16日月曜日

Page 24: リーンソフトウェア

品質を作り込む

2009年2月16日月曜日

Page 25: リーンソフトウェア

バグのないシステムコードを書かない

最初から正しく書く→ 一度書いたコードを修正しないという意味ではない

バグを作らないような開発プロセス、早期のテストを行うシステムを構築する

2009年2月16日月曜日

Page 26: リーンソフトウェア

知識を作り出す

2009年2月16日月曜日

Page 27: リーンソフトウェア

要求定義で終わり?最初から全てが分かっている人はいない

実際のシステムをみて、そこから徐々に要求が出始める。

小さく作って早期にリリース評価とフィードバックを得る

2009年2月16日月曜日

Page 28: リーンソフトウェア

毎日ビルド&テスト

結合テストから素早いフィードバックを得るようにする。

2009年2月16日月曜日

Page 29: リーンソフトウェア

決定を遅らせる

2009年2月16日月曜日

Page 30: リーンソフトウェア

状況の変化

オプションを用意する→ 各オプションの特性を予め把握する

計画は変わるもの。

どこで判断すべきかは経験則

2009年2月16日月曜日

Page 31: リーンソフトウェア

速く提供する

2009年2月16日月曜日

Page 32: リーンソフトウェア

気が変わる

人は気が変わりやすい

ビジネスの変化もある

初期段階で固めた要求が覆ることはよくある

そこも踏まえつつ組んでいくのがプロ

2009年2月16日月曜日

Page 33: リーンソフトウェア

LL Beanの場合

青いシャツを注文する

次の日、気が変わったので電話する

「もしもし」「はい、LL Beanです!」

「青いシャツやめて黄色いシャツにするよ」

2009年2月16日月曜日

Page 34: リーンソフトウェア

あたし青いシャツさん、あなたの家の前いるの

2009年2月16日月曜日

Page 35: リーンソフトウェア

人を尊重する

人員のマイクロ管理はやる気をそこない、創造性をなくしていく

現場に権限を委譲する。

エキスパートエンジニアを育てる

2009年2月16日月曜日

Page 36: リーンソフトウェア

全体最適化

自分の作業だけではなく、チームさらには部署、さらには会社全体、さらに顧客のビジネスまで含んで最適化する

時には利益相反する最適化も→ 別途交渉する

2009年2月16日月曜日

Page 37: リーンソフトウェア

実際のプロジェクト例

2009年2月16日月曜日

Page 38: リーンソフトウェア

某社プロジェクト

社内ポータルの開発ドキュメント管理スケジュール管理

2009年2月16日月曜日

Page 39: リーンソフトウェア

段階的開発

第一回(約2週間)

第二回(約1週間半) → プレリリース

第三回(約2週間) → ベータリリース

第四回(約2週間) → v1.0リリース

2009年2月16日月曜日

Page 40: リーンソフトウェア

コーディング量の軽減

フレームワークの利用(Rails)

プラグインの活用

オープンソースの利用

2009年2月16日月曜日

Page 41: リーンソフトウェア

オプション

スケジュール機能

Googleカレンダー?

オープンソース?

スクラッチ開発?

認証システム

独自?

OpenLDAP?

シングルサインオン?

2009年2月16日月曜日

Page 42: リーンソフトウェア

テストファースト

ユニットテスト中心

RSpecとかユニットテストとか。

コントローラのテストが半端…

モデルにロジックを入れるべき?

2009年2月16日月曜日

Page 43: リーンソフトウェア

気になる料金体系

リリースまでは最低限

リリース&検収後に残りをもらう(成果報酬形式)

直取引でもそうしていくべき

2009年2月16日月曜日

Page 44: リーンソフトウェア

感想

変化を自然として受け入れると気持ちがいい

契約よりも信頼ヘッジをたてるとお互いの信頼を損ねることになる。

手早く組み立てるくせができる。DB再構築&テストデータ再投入の繰り返し

2009年2月16日月曜日

Page 45: リーンソフトウェア

私とリーン

2009年2月16日月曜日

Page 46: リーンソフトウェア

MOONGIFTでは受託開発はほとんどしていない

2009年2月16日月曜日

Page 47: リーンソフトウェア

きっかけ

http://www.itmedia.co.jp/enterprise/articles/0812/10/news066.html

目的に見合ったツールとプラットフォームを利用するリーンおよびアジャイル開発プロセスを導入するツールやアプリケーションに対してコンポーネントをプラグ接続できるようにするため、各種の標準に準拠するスキルを持った開発者を雇うオープンソースを活用する配備を最適化するコンテキストはレンタルまたはアウトソースし、コアアプリケーションは所有する

2009年2月16日月曜日

Page 48: リーンソフトウェア

リーンとオープンソース

オープンソースはオプションとして最適

また会話の元としても有効(それっぽいものを見せられる)

PHPは採用できるのにそれを使ったオープンソースが採用できない?(バグがあるかも?)

2009年2月16日月曜日

Page 49: リーンソフトウェア

リーンとエンジニア金型工

顧客のアバウトなニーズを具現化し、さらに変化に強くある職人

様々な類似技術を知り、それぞれの特性を把握する

技術要素を知り、数字データを元に採用すべき技術を提案できる

いかに素早く顧客のニーズに応えられるかを日々研究

システムありき/言語ありきで話をしない2009年2月16日月曜日

Page 50: リーンソフトウェア

リーンって何なの?

リーンはムダを省くこと

「ムダ」は会社や個人によって変わる

日々継続的な最適化、生産性を高める継続的な活動

2009年2月16日月曜日

Page 51: リーンソフトウェア

まとめ

今更ウォーターフォール型はないっしょ!?

2009年2月16日月曜日

Page 52: リーンソフトウェア

まとめ

1冊2,520円!2冊まとめて買えばなんと5,5405040円!2009年2月16日月曜日

Page 53: リーンソフトウェア

終わり2009年2月16日月曜日