10周年のSPコンテンツ!

ソフトウェアの生産性について

製造業の設計者からプログラマに転身したので、少しは製造業での生産性の見方は分かってるつもり。で、そういう視点からソフトウェアの生産性について呟いてみたら、意外やたくさんRTしていただいちゃったので、とぎゃっておくことにしました。
プログラミング 見積り 生産性 ソフトウェア
19
【宣伝】 ソフトウェア開発 ~ 計測と見積もりの本

見積りとは、 過去の計測データから未来を予測する技術です。 予測するための技術を学ぶだけでなく、 自組織のデータを継続的に測定することが大切です。


 
 

山本康彦@BluewaterSoft @biac
ちなみに、不良品やまだライン上で生産中のものまで出荷額に含めて生産性の計算をするような馬鹿な工場長はいない。
山本康彦@BluewaterSoft @biac
それと、工場の量産ラインでも、作業者ごとの生産性なんて測っていない。というか、測れないし、測れたとしても意味が無い。(無理矢理にearned valueを算出して計算することはできるけど、それは遊休時間を見てるのと同じことになる。それは作業者の能力とは関係が無い。)
itouakihiro @itouakihiro
@biac 生産性かどうかは言葉の定義になりますが、生産ラインの作業者ごとのいろんな数値を測っているところは測ってます。コンビニ店員みたくシフト開始前に社員証のバーコード読ませて、各種数値と個人との紐付けをやってたり
山本康彦@BluewaterSoft @biac
労働生産性=(出荷できた製品の価値)÷(総労働時間) …なんだけれども、分子を製品出荷額で見てしまうと(それはそれで経営上は重要な数字なんだけども)、営業努力が上流の生産性に影響を及ぼすことになってしまい、製造現場での真の生産性を表す数字ではなくなってしまう。
itouakihiro @itouakihiro
多分ライン工の「個人の生産性」っぽい数値は出せるとは思うけど、まあ意味無いわな
itouakihiro @itouakihiro
そもそも現場で不用意に「生産性」なんて言葉を使うと「それはどういう計算式で導出されたものなのか」「その計算に意味があるのか」とモヒモヒした生技や製造リーダークラスにフルボッコにされるので気をつける必要があります
山本康彦@BluewaterSoft @biac
そういや、工事進行基準もな~。あれは、完成検査に合格するのは当たり前、という前提で成り立つ計算だ。
山本康彦@BluewaterSoft @biac
.@itouakihiro いろんなデータは測りますね。それはTPS流にいうと「ムダ取り」のため。その後、ムダ取りで生じたムラを平準化しないと、(ラインの)生産性は上がらない。
itouakihiro @itouakihiro
@biac はい。全体の一部としての個人データという立ち位置ですね。海外だと工員管理の側面も強くなってきますが。いずれにせよ「個人の生産性」なるものがフォーカスされることは無い気がします
山本康彦@BluewaterSoft @biac
ソフトウェア業界のエライ人が「生産性向上!!」とのたまわってくれる時、たいていは「生産性」の定義を知らないし、ましてや生産性の計測方法なんて考えてもいない。測ってもいないのに、どれだけ向上したかなんて検証できるはずがない。よって、エライ人の「生産性向上!」が達成されることはないw
Charlotte Elizabeth @kozawa
@biac よくある生産性向上「今日1日でできたことは明日は半日でできるよね、どうやって?そんなの自分で考えろ」
山本康彦@BluewaterSoft @biac
あるあるw 根本的な誤りは、(今日1日でできたこと)=(production)だと思ってるとこだけどw QT @kozawa: @biac よくある生産性向上「今日1日でできたことは明日は半日でできるよね、どうやって?そんなの自分で考えろ」
山本康彦@BluewaterSoft @biac
工場では、出荷検査に合格しなかったものは出荷できない(あたりまえ!)。なので、不良品は生産性の計算の分子には含まれない(不良品の処理のためのコストは、分母に入る)。ライン上の仕掛りも、分子には入らない。さて、 「今日1日でできたこと」は、出荷できるものを生み出したのだろうか?
山本康彦@BluewaterSoft @biac
そういや、工程ごとのearnd valueを算出すると称して、売り上げを工程ごとの工数で比例配分してくれたトンデモがいたなぁ。で、(工程ごとの生産性)=(工程ごとのearnd value)÷(工程ごとの工数) で求められるんだ、とw
山本康彦@BluewaterSoft @biac
(工程ごとのearnd value)=(売上)÷(総工数)×(工程ごとの工数)と定義したんだから、それを代入すると(工程ごとの生産性)=(工程ごとのearnd value)÷(工程ごとの工数)=(売上)÷(総工数)×(工程ごとの工数)÷(工程ごとの工数) …あれれ? w
山本康彦@BluewaterSoft @biac
会計の工事進行基準では、工事ごとのearnd valueを工事ごとの見積額で代用してるが、これも、そもそもの見積りがいいかげんな上に、盛大な工数増加のリスクを終盤に抱えてるソフト業界ではデタラメに近いモノだろう。
山本康彦@BluewaterSoft @biac
ちなみに、建築・土木では、全国統計に基づいた標準工数(例:土木積算基準 http://t.co/p27Fr3CB )を使うので、工程ごとの見積額をearnd valueとみなす、というやり方も、それなりに安定した結果が見込めるのだろう。
HARADA Kiro @haradakiro
@biac むかしある会計士に、その earned value は、used cost とどこが違うのか?と突っ込んだことが。
山本康彦@BluewaterSoft @biac
そう思いますよね、やっぱり。 QT @haradakiro: @biac むかしある会計士に、その earned value は、used cost とどこが違うのか?と突っ込んだことが。
山本康彦@BluewaterSoft @biac
見積りに、工数の全国平均値が使える建築・土木はともかくとして。見積りの基準を持たないソフト会社で、工程ごとの見積り金額ベースのearnd valueを使って「生産性」を算出されると、惨めな結果に(続く)
山本康彦@BluewaterSoft @biac
(続き)ある工程で能率を上げたとする。すると、次のプロジェクトの見積りでは、その工程の見積額は下がる。ということは、その工程のearnd valueも下がる。すると、あらまぁ、「生産性」は変わらない! w
山本康彦@BluewaterSoft @biac
じゃあ、全国平均値を使って工程ごとの見積りを出せば、earnd valueに基づく「生産性」も役に立つ? 残念、ここで上流の品質が下流の工数に影響するという、ソフト(に限らず、開発全般)に特有の壁が立ちはだかります。(続く)
山本康彦@BluewaterSoft @biac
(続き)たとえば製造工程ががんばって、工数1割り増しでバグを半減させたら、バグ対応工数が減ってたとえばテスト工程の工数が3割減って、トータルで生産性が2割上がったと。で、がんばった製造工程は「生産性」1割ダウンで怒られて、何もしなかったテスト工程は3割アップで褒められるw
残りを読む(13)

コメント

Tsuyoshi CHO @tsuyoshi_cho 2012年5月19日
程度によるけど、この一つ上の視点からプロジェクト開始から収束までの効率とかも見るから、部分での悪化だけで攻められたりは、最近はあんまりないなぁ。
ログインして広告を非表示にする
ログインして広告を非表示にする