********************** セッションS45 分科会 テーマ:『低価格・短納期開発を実現する筋肉質開発体制を考える』 コーディネーター:佐藤洋介(デンソー) 講師:山ノ井 利美 (KPIT)    山岸 栄次 (KPIT)    高橋 修 (永和システムマネジメント)    奥村 洋 (ガイアシステムソリューション)    川口 晃 (アクティビティ・デザイン) 日時:2012/08/31 13:00〜15:50 参加人数:約20名(1部・2部ともに) ********************** - 背景 - 近年の円高→開発コストの低減が必要 - 海外の現地生産の増加 - どういった手を打てばいいのか? - 新興国市場が伸びてきている - 低価格競争が激化 - 価格競争力の強化ができなければビジネスの維持拡大ができない - 内容 - 事例発表 - 高橋修 氏(永和システムマネジメント) - 山岸栄次 氏(ガイアシステムソリューション) - パネルディスカッション ******永和システムソリューション****** - 会社紹介 - 永和のアジャイル開発 - 従来:最初の段階で目的のものが明確でないといけない - 手戻りコストが起きい - アジャイル:一定期間の開発→フィードバックをくりかえす - 手戻りが発生しにくい - 開発内容 - 車載ソフトウエアプラットフォームの一部 - 開発スケジュール - 開発全体はウォーターフォール - ソフトウエア実装の段階で、3ヶ月単位のアジャイル開発手法を適用 - チーム体制 - 開発4人+顧客約1人 - 開発の進め方 - 開発単位・内容・成果物を一覧化 - 1スプリントごとにスコープを決めて開発 - フィードバックを行い、次のスプリントに反映 - 1スプリントで合意した機能ごとに開発 - テスト駆動開発 - 開発言語の単体テストフレームワーク導入 - テストフレームワークを利用し開発 - IF実装 - テストコード作成 - テストコードが書けない→仕様漏れがあることが多い - テスト実行(失敗させる) - 最初にテストを行うことで保守性の高いコードになる - コードの変更に強い - ソースコード実装 - テスト実行(成功) - ほかのモジュールとのあいだにスタブを作ることで他モジュールとのすり合わせに有効 - 実環境上(コンパイラなど)の確認には不十分 - ペアプログラミング - 2名で1台のPC上でプログラミングを行う - PCを直接操作する人と、補助する人に分かれて作業 - 一人がテストコードを書いているあいだにもうひとりが実装を考えるなど - 知見があるエンジニアが分担して開発する場合と比べると効率は落ちるが、メリットがある - 知見の共有・教育効果 - 設計・実装コードの良質化 - レビュー頻度の低減 - 継続的インテグレーション - 毎日最新のソースコードを統合し、単体テストケースを全実行することで品質を維持する - テストコードが膨大になり、全実行に時間がかかる - テストケースに付随するソースコードの検査を行うと、必要な時間が増加する - 開発ペースを保ちつつ分担して開発を進めるには継続的インテグレーション環境が重要 - コミュニケーション - 朝会 - すぐに対応できないようなことを洗い出す - 振り返り - 一週間開発したことを通して気になったことを出す - 見える化 - バックログからソフトウエア看板の作成 - 問題の風化を防ぐ - 実績 - ほぼ各スプリントで予定機能をリリース - アジャイル手法を適用した開発は可能 - 開発負荷 - 初期〜中盤まではバックログが増大する - 開発・インテグ環境が整うことで安定 - 途中リリースしたモジュールを含デグレートなし - 他モジュールを含めた結合テストでの不具合なし Q.結合テストで不具合がなかったとあったが、アジャイルにしたことで何が影響した? A.アジャイルの中でミドルウエア間でのすり合わせができたのではないかと思う。 手法というよりはスコープの当て方が良かったのではないかと思います。 ************************************** ******KPIT Cummins****** - 会社概要 - 新興国でのコストへの取り組み - 講師自己紹介 - なぜコストへの取り組みをしているか - 年々短納期で高度な受注が多い - スキルレベルでの差を埋めたい - 品質を維持しないといけない - 自然な成長は遅い - 自転車の例 - 昔は前輪が大きかったり後輪が大きかったりした - 現在の形になるには何年もかかっている - 水平方展開 - うまくいった案件を見つけて全体に広める - Commins提供のフレームワークをもらう - 改善だけでなく維持も大事にする - (ビジネスにとって)いいものを拾い上げる - FEモデルの柱 - Roles(役割) - Statements(発言) - Tracking(追跡) - 大きく分けて5つのリーダー - 全体のリーダー - すべてのプログラムの進行を管理 - 各部門のリーダー - 各部門のインタフェース - 各チームごとのリーダー - 技術リーダー - 関連部門のリーダー - 組織を4つに分ける - 地域ごとに特徴がある - それぞれ別の人が担当 - 欠陥のない組込みCソースコードを低コストで提供する - 鍵となるプロセスのUniphaseの部分を自動化 - 自動化構築のプラットフォーム - コードチェックツールの導入 - 時間になると自動的にコード検出を行う - プロジェクトの状態をモニタリングする - インドの人は文章ばかりのスライドが多い - しゃべる時間も長い! - ソースコードのバグ取りについて - コードに変な部分があれば、リーダーにアラームで知らせる - ありそうでない - ソースモニタ - どのような記述がどれくらいあるかわかる - コピペの検知 - どの部分に同じ記述があるかわかる - 単体テストのレポート - 行ったテストケースや誤り数・テスト結果を管理 ************************ ○第2部 ******デンソーとしての取り組み****** - 現地の要求を取り入れたい - 欧州に工場を移す会社が多い - 日本の市場は頭打ち - インド・東南アジアが元気 - 08年に比べて半分以下の価格でのソフトウエア開発の必要性が出てきた - 価格競争力をどのように付けるか? -ハードに関しての対応は早い(海外生産) - ハードの開発プロセスがひとつしかない - 品質に応じてプロセス数の低減をしたい - 輸送コストの低減 - できるだけ地元の部品を使う ************************************ ******GAIA奥村氏****** - 自己紹介 - 近年の動向 - 1980〜1990 北米の顧客が多い+円高 - 製造部門・研究部門が海外に移る - パフォーマンスに違いがなければ、コストで決まる - 今まではローカライゼーション(日本で成功→世界へ) - 現在はグローバライゼーション(安いところで作る) - これからはグローバリゼーション(最も市場に近いところで生産) - 海外アウトソーシング - コストを抑えるため - 手戻りが発生したら意味がない - 手戻りを抑えるため、顧客に近いところは日本人が担当 - コストが下がらない - 日本の強みは改善能力の高さだ!→本当に? - 改善にかけられるコストは海外に比べて多いの? - 海外は人件費が安いので、多くの時間・人数をかけられる - 日本の強い身はキャッチアップだ!→本当に? - キャッチアップ戦略の無効化 まとめ - 日本でのエンジニアとして生き残る?以下のことで対応可能? - ツール化 - 開発ラインのロボット化 - 生き残る道はあるか? - ない!(仮結論) - 日本経済のハードランディングが助けになるかも? ********************** ******議論パート****** - インド人の技術者の賃金 - 16000円(日本の10分の1) - 日本の工学系・技術系の大卒者 - 現在:日本<インド(約3倍) - 2020年:日本<インド(約10倍) - 日本でも天才が生まれるかもしれないが、絶対数においてインドには勝てない Q.日本が勝ち残るには? A.インド人を味方につけるしかない(敵に回してはダメ) - 安く・いいものを作る必要がある - 日本のドキュメントをそのまま外に出せない - 英語を普段から使って慣れるしかない - インド人の良さ - 改善力の高さ・英語力の高さ - 欧米の技術をいち早く取り入れられる - 日産について - 今まで:技術を先に作り、営業に「売ってこい」といっていた - 今:企画を先に作って、それに技術が満たなければ売らない - いい感じにバランスが取れた - TOEICの点数でクラス分けし、英語の勉強 - 英語の学習は投資だ(ゴーン) - ツール化をしないと死んでしまう - もしかしたら生き残る道があるのかな?というイメージ Q.大学生に対して教える取り組みはあるのか?生き残れる技術は? A.大分現場思考になってきているところもある - 大学院で行うのがメインになってしまっている(インターンなど) - 本来学部でやるべき - 院ではそれを深めた研究をして欲しい - 国際的なPBLをしてもいいのかもしれない Q.出張で海外の大学に行くと、留学生が多い。そのようなハングリー精神は今の日本人は持っているのか? A.日本に来ている留学生が日本語を勉強してくれているという現状が。。。 - 一般企業でも異文化に対する抵抗がある - 会議中にコーヒーブレイクに行ったり。そういったことが許せないのかも。 - 地域特有の文化や歴史的な背景などに対する気遣いが必要 - タイの文化→人前で起こってはいけない など - インドではカースト制に関することになると思う - ギリシャの学生 - 大学卒業時に外国に出る人が多い - 日本ではそうならないようにしたい - 自動車産業は地産地消 - なんとか生き残ろう - 外国の人との価値観の違い - 日本:保守性の高いものを作って欲しい - 海外:動けばいい - 海外の部品メーカが不具合をなかなか報告してくれない - 報告された時にはどうしようもなくなっていることがある - 少しずつ話し合っていくしかないのではないか Q.KPITは顧客とどのようなコミュニケーションをとるの? A.日本人の言葉の裏にあるものを汲み取るような人を置く - 海外の顧客との信頼関係 - デンソーの方法をそのまま進めるのは危険 - 地域性・文化性などを考慮して対応していかないといけない - ただの仕様書をそのまま翻訳しても使えない - 日本人は言葉の裏を読むことができる - それは結局仕様書の不備なのだが。。。 - 外国の人:仕様書にあるものをそのまま作ることが仕事 - 日本人は相手のことを思って部品を制作する - これは長所 - 外国:自分が使いやすいものを作る - ほかのパーツと合わせた時に困ることがある Q.日本の学生はどこに向かうべき? A.インド人は「良い物」に対する知識がない(高級なものと安いものを比べてもどちらがいいものかわからない) 「良い物」を仕様に落とすのは日本人が得意。その部分を協力していくことになりそう。 - 顧客が望むことを目標値に落とせるのがいい - 多くの先進国が抱えている問題が日本にはたくさんある - いち早く突破してビジネスとして展開できるといい - 結論 - インド人との役割分担は必須 - 英語を使う・英語に慣れる - 自分への投資 - 異文化への理解 - 顧客との関係を築く - 海外の学生と勉強する中で学んでいこう!