********************************************************************** セッションS5-b 分科会 テーマ:組み込み開発現場のコスト削減の技術を集めよう コーディネータ: 西 康晴(電気通信大学)山郷 成仁(デンソー) 日時:2009/08/28 15:30〜16:50 参加人数(開始時):35人 ********************************************************************** ○インストラクション N氏:組み込み開発現場のコスト削減技術を集めようということで、 ワークショップセッションを行います。 Y氏:今回は参加型のセッションなのでのんびりと頭をやわらくしてやっていって欲しい。    グループを作って模造紙にマインドマップをしてもらいます。    また後日まとめたものを配布します。それを会社なり学校で生かしてほしい。 N氏:まず、話を聞きに来ただけの人は帰ってください。   経験の有無は問いません。    過去に経験した見聞きしたことについて、とにかく自分で何かしゃべることが大事。    最終的にまとめたものを前に出て発表してもらう。 これからは ・グループ和気 ・自己紹介 ・自分がやっているコスト削減策 ・マインドマップで模造紙図にする ・その模造紙の発表 ○マインドマップの説明 マインドマップ  1.中心に何をしたいか考える。  2.自分の頭の中で広げていく。  3.最初はぐちゃぐちゃ。  4.ここはこれ以上すすまない、ここはこれよりのびるんじゃないかなどを考えて   増やしたり、まとめたりする。  5.気づきを得る。 ○今回のマインドマップ  現実にマインドマップに従う必要はない。  どんどんアイディア挙げてつなげていくだけでいい。  カラフルでやると脳味噌を刺激していい。  コスト削減をしなければいけない背景は出さなくてもいい。  (背景はたくさん出てくるので)  工夫、技術、考え方を中心に考える。  模造紙は2枚あるので1枚は適当に使っていい。 ○これからやること  10分:グループ内の自己紹介  30分:図を描く  30分:全体発表と意見(発表しながら) ○チーム分け  全6チーム(1チーム5,6人)   ソフトウェア経験年数    10年以上  1チーム1人    5年〜10年 1チーム1人(5人しかいなかった)    それ以外 たくさん N氏:5年以下の人が積極的に頑張るように・・・ ○チーム内作業でやるべきこと   1.まず5年以下の人でリーダーとプレゼンターを決める。   2.一人30秒で自己紹介。自分のプライベートの人となりがわかること。    (会社についてはNG)   3.3分でグループ名を決める。    (プライベートの人格が分かるように考える。安直に決めない) ○例(チーム内作業;楽器弾いても人轢くな班)  ●構成と自己紹介   リーダー:Y氏         組み込みは半年。自転車で日本中をあちこち旅している。   プレゼンター:I         趣味はプログラミング。今年結婚。   書記:M氏       趣味;音楽、SWESTにはノリで参加   Yさん(経験10年以上、Y氏がふたりいるのでこちらにさんをつけます)    車好き。家族を連れて車で遊びに。子供7歳、非常にわがまま。   S氏(経験5〜10年):地元は九州。楽器が好きで、週1でやっている     ●チーム名決め   共通点:共通点がない。組み込み系。   Yさん:長いとよくない。   I氏:支離滅裂   Y氏:ウケを狙いに行く   →Yさんの発案、チーム名は「楽器弾いても人轢くな」     理由:      車に乗ったり、自転車に乗ったりしている      事故だけはしないという思いで  ●マインドマップ   1.とりあえず真ん中ににコスト削減と書く  I氏:工程ごとに書くか?自由に書くか。  S氏:2枚模造紙があるのでとりあえず思いつくままに書きましょう。   2.とりあえずみんな自由に思いついたことを模造紙に書いていく。   3.それぞれが書いたことに対する説明    Y氏:設計の段階から工数の見積もりをして、どこを減らすか      保守を考えた製品を作る。部品化、モジュール化    M氏:    I氏:      要件定義に関する部分       開発の工程の後戻りを防止するために、要件定義、コードレビューを      しっかり行う       ドキュメントと今の成果物との整合性を確認するためのトレーサビリティ       段階的レビュー       NDD モデル ドリブンディベロップメント       QEC;コードを静的に解析するツール       SPL(ソフトウェアプロダクトオンライン);モジュール化に近い。      テストケース       テスト自動化       コードの自動生成(クラス図→コード)    S氏:      開発費の削減       人件費の削減        テストツールの導入             製品の削減        ROM、RAMの削減      資料作品の重要性       構成管理の徹底        振り返りの手戻り工程が減る    Yさん:      ロスコスト削減       手戻り防止        仕様書をレビューしうて手直しする工程も作業時間に含める。         →理想に対してどれぐらいずれたかを削減する       フロントローディング         できるだけ開発工程の前のほうで不具合を見つける。        例;仕様書作成時など、前半段階での徹底的なレビュー。        トレーサビリティをきちんととる。       品質データをとる        QA、QCが行う。        移行時に品質データを用いるようにすることにより手戻りを防止。        ツールの導入      設計方法について       それぞれの仕事を完全に分ける。       →担当の仕事に集中出来る。 /* ●N氏のアドバイス:何かを削るか書いている人が多いが、その場合なんで削っていい かを考える。 */   4.それぞれが出したものの関連するものを繋げる。       ①.後戻り防止:作業時間を減らします    ②.共通化:    ③.シミュレーション環境        I氏:ソフトウェア開発とその他に分けるべき。      ROM、RAMは製品コスト 他は開発コスト。  →時間切れで模造紙は1枚目のプロトタイプをそのまま使用。 ○発表  ●発表手順   模造紙を張って順番に発表   各チーム2分で発表   1分で質疑応答   前のチームがいったことは言わなくていい。  ●1チーム目(チームモンゴリアン)   チーム名の由来:朝青龍から   キーワード    ・交渉術    ・工数    ・スケジューリング    ・品質    ・機材   質問と回答:    Q:ちゃんと交渉になっているのか?    A:交渉者による   N氏:一般にコストダウン削除の一環として外注費、発注比を削ろうとすると、     逆にコストが増大する。   例;5000万の所を2500万でやるという企業→出戻りが発生して    結局5000万以上かかることに・・   ですがこれをうまくやって、トラブルなしで実現している人はいますか?   ?氏:やり方は二つ。       1.戦略的に行う。        ここは安くしてあげるから、ここではこうして欲しいなど。       2.見積もりをどうとっているか検討する。        見積もりが本当に正しいか突き詰めていくと、いらない部分が出てくる。        それを削る。   N氏:要するに、発注側が、ただ単に削れというのでなく、受注者がどういう    考え方で載せているのか理解する。  ●2チーム目(がんばれ久住)   チーム名の由来:理由は久住さんに聞いてください。   キーワード    ・減らす。    ・効率を上げる。     ひとりひとりの効率を上げることにより、組織全体の効率を上げる。      →本末転倒をなくす。     実現      会社にいる時間の間でやったことをきちんと記述。       →さぼれなくする。      朝TODOリストをきちんと作って、一日の時間を有効に使えるようにする。       →段取りをきちんとする。   質問と回答:    Q:改善活動にコスト増と書いてあるがなぜ?    A:改善活動にコストがかかってしまう(改善活動が作品に)。    Q:改善活動の前にコスト対効果は考えないのか?    A:会社で期限が存在するので、きちんとコスト対効果を考えることができて    いないことがある。     N氏:こういうことを行うには、やらされるというよりも自分たちがやるという    姿勢が大事。     自分たちで何が必要で、効率向上が必要なのか、自分たちできちんと考えよう。     本末転倒はいいキーワード。  ●3チーム目(ザ・ピーナツ)   チーム名の由来:双子のお子さんを抱えている方がいる。   キーワード    ・残業抑制      ただ単に時間を削るだけではなく、作業量自体を削減する。    ・外注の削減      作業の振り分けを行うことによって単純作業に落とし込むことにより、      作業の効率を上げる。      質問と回答:    Q:出荷製品の削減と言っていましたが、出すのを減らすと今回のコスト削減とは     違うのでは?    A:コスト削減を大きくみた。製品の重複などを抑止するという意味。    Q:見える化とあるが、見える化を行うと作業が増えると思うのだが?    A:見える化によって作業効率が上がる。   N氏:見える化は2つのことが重要。      1.見える化にかかるコスト      2.見える化にかける制限        例:1時間に会議を制限。          人間は制限があれば何とかしようと頑張る?  ●4チーム目(旅行クラブ)   チーム名の由来:みんなが旅行好き。      それぞれが自分たちでやっているコスト削減策をおれぞれ出して、それをまとめた。   キーワード    ・ツール      シミュレータなど、ツールの使い方など。    ・生産性up        スケジュール設定での出戻りをなくす。    ・部品    ・試験   質問と回答:    Q:生産性upということで情報の共有という点があるが、共有する手段は何か     工夫されているか?    A:不具合の状況をその場で紹介して再発防止をしたり、別に記録としてとったり     する方法がある。   N氏:     なぜ不具合状況を確認するのか?     それは同じ不具合でそれぞれがつまづいたりしている場合があるから。      抽象化を行うことによって同じような不具合を避ける。     自動化(ツールの利用)に関して。      いきあたりばったりではうまくいかない。      →開発時間をなんとかするためにコストを犠牲にしても行うべき、などと       考えて行うべき。  ●5チーム目(GAP)   チーム名の由来:今回のチームの中で、年齢的にも経験的にも差があったから。   キーワード    ・仕事の進め方     ・環境     ・マネジメント     ・外部発注       するかしないか     ・スキル     ・要求仕様    ・ツール関係     ・ツール       余分なツールを買わない。        使うにしてもなるべく汎用性のあるものを用いる。     ・工程       N氏:    外部(内部)調達をするのが時によくて時に悪いことがある。     →なぜこの手段を使うとコストが下がるのかをきちんと考えなければならない。  ●6チーム目(楽器弾いても人轢くな)   チーム名の由来:チーム内に楽器を弾く人がいる。ユーモアを重視。   キーワード    ・コスト削減     ・システム開発      ・紙の使用制限      ・ROM、RAM削減     ・共通化     ・ソフトウェア開発      ・ロスコスト削減      ・後戻り防止       ・レビュー      ・再利用性の向上   また、開発する人は開発に集中できるような環境を作ることが大事。    担当をきちんと分けて、雑用などをソフトウェア開発者などがしなくてもいい   ようにする。   N氏:フロントローディング、ロスコスト削減など主要なキーワードがあったのが     よかった。 ○まとめ 今回出た案としては、  1.無駄、ロス、不要なものを減らす。   何が必要か考える  2.分担を最適化   2度作らない  3.自動化   肝を抑える  4.ヒューマンコストの削減 が挙げられる。 ポイントはコスト削減によって開発を妨げるような方法はとってはいけない。 ○さいごに 班内でメーリングリストを作成して、連絡先を教えあってください 単純にコストを減らすのではなく、未来を見据えたコスト削減などの案を考えていける ようにしていきましょう。 以上。