ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目)...

28
SEIKO EPSON CORPORATION BS事業部 2006・6・28 オブジェクト指向導入による 生産性の向上 ソフトウェア設計プロセスの改革 ソフトウェア設計プロセスの改革

Upload: others

Post on 04-Nov-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

オブジェクト指向導入による

生産性の向上

ソフトウェア設計プロセスの改革ソフトウェア設計プロセスの改革

Page 2: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

セイコーエプソン株式会社セイコーエプソン株式会社BS事業部BS事業部 BS事業推進部BS事業推進部TM(ターミナルモジュール)のファームウェア開発TM(ターミナルモジュール)のファームウェア開発(レシートプリンタ、ラベルプリンタの開発)(レシートプリンタ、ラベルプリンタの開発)

業務用小型プリンタのファームウェア開発業務用小型プリンタのファームウェア開発・レシート・レシート・ラベル・ラベル・チェック・チェック

開発対象としての特徴と課題開発対象としての特徴と課題・派生商品開発が多い(顧客要望への対応)・派生商品開発が多い(顧客要望への対応)・ハード環境に合わせ開発を行っている(メカ、ASIC・・・)・ハード環境に合わせ開発を行っている(メカ、ASIC・・・)・人(チーム)、機種に依存した構造・人(チーム)、機種に依存した構造

開発対象製品の紹介開発対象製品の紹介

Page 3: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

目次目次

1.取り組みの目的・生産性の向上

・解決したい課題

・取り組みのポイント

2.プロセス設計導入のポイント

3.技術導入のポイント

4.成果

5.まとめ

Page 4: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

取り組みの目的取り組みの目的増加するソフトウェアへの要求に対応するためには、これまでの人に依存した開発体制/技術では応えられない。生産性の向上と、人に依存しない開発体制への移行が必要。設計プロセスの見える化。部品の再利用を促進。

<Q> 部品の再利用:作らない プロセス見える化:繰り返せるプロセス 計測:プロセス、成果物の評価による改善

<C> 共通部品:作らない:30%削減

(品質向上、効率向上)<D>

プロセス見える化:見積精度向上、納期遵守(計測による実績の把握)

<Q> 部品の再利用:作らない プロセス見える化:繰り返せるプロセス 計測:プロセス、成果物の評価による改善

<C> 共通部品:作らない:30%削減

(品質向上、効率向上)<D>

プロセス見える化:見積精度向上、納期遵守(計測による実績の把握)

Page 5: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

取り組みの目的取り組みの目的

1.生産性の向上・増加する要望に迅速に応える

・手戻りの削減

2.解決したい課題・人に依存した体制

・効率を計れない現状

・外部から見えない設計プロセス

3.取り組みのポイント・技術導入はプロセス設計の導入とセット

Page 6: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

プロセス設計導入のポイントプロセス設計導入のポイント

1.CMMのノウハウ導入・プロセス設計

・計測の実践

・できるところから

2.ベースになる基礎知識・計画的なセミナー

・実践を伴う演習の導入

3.取り組みのポイント・改革の必要性を理解することが必要

4.技術の改革に先行して開始

Page 7: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

今後

従来

プロセス設計プロセス設計 設計設計 実装実装 デバックデバック工程工程

なしなし個人の頭の中個人の頭の中大日程・中日程大日程・中日程

メカ・ハードメカ・ハード仕様書仕様書

概要設計概要設計 詳細設計詳細設計 コーディングコーディング デバッグデバッグ

PFDによるPFDによるプロセス設計プロセス設計

メカ・ハードメカ・ハード仕様書仕様書

要求分析要求分析 要求仕様書要求仕様書 構造設計構造設計 設計設計

ソースソース自動生成自動生成

コーディングコーディング

デバッグデバッグ++

手戻り手戻り

手戻り極小化手戻り極小化

個人の個人のノウハウノウハウ

プロセス設計プロセス設計

Page 8: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

プロセス・フロープロセス・フロー・・ダイヤグラム(PFD)ダイヤグラム(PFD)

プロセス設計プロセス設計

作業をプロセスと成果物の連鎖で表現する作業をプロセスと成果物の連鎖で表現する

Page 9: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

プロセス設計プロセス設計

プロセス定義・成果物定義プロセス定義・成果物定義

プロセスと成果物を明確にするプロセスと成果物を明確にする

Page 10: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

今後

従来

見積もり見積もり 進捗管理進捗管理 結果の評価結果の評価工程工程

個人の経験測個人の経験測から見積から見積

スケジュールスケジュール

詳細実績なし詳細実績なし週単位の報告週単位の報告

詳細データなし詳細データなし工程データなし工程データなし全体工数のみ全体工数のみ

日々の実績日々の実績入力入力

データ収集データ収集

実績集計実績集計による監視による監視

実績集計値実績集計値

生産性指標生産性指標見積データ見積データ

スケジュールスケジュール見直し見直し

対策検討対策検討

成果物視点の成果物視点の工数見積工数見積

スケジュールスケジュール

フィードバック・見積精度向上フィードバック・見積精度向上

設計プロセス見直し設計プロセス見直し

プロセス設計と計測プロセス設計と計測

Page 11: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

基礎知識の習得基礎知識の習得

1.ソフトウェア開発のベース知識・セミナー開催 40回 延べ聴講者600名

・演習を交えたセミナー

要求分析、設計書の書き方、レビューの仕方・・・・要求分析、設計書の書き方、レビューの仕方・・・・

2.取り組みのポイント・覚えたことを試して、コンサルを受ける

知識取得→練習→実践

・言葉の統一

Page 12: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

技術導入のポイント技術導入のポイント

1.構造化ではなくオブジェクト指向を選択・ハードルは高いが長期的に見てメリットあり

・再利用しやすい

・技術者のスキルアップ

2.パッケージレベルまではモデル化・実装はオブジェクト指向にこだわらない

・時間制限のある部分は従来実装

3.取り組みのポイント・良いコーチが必要

4.まず使えるかの判断を先行

Page 13: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

分析モデル分析モデル

UMLUMLを利用して分析モデルを作成を利用して分析モデルを作成

Page 14: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

シーケンス図による検証シーケンス図による検証

シーケンス図でモデルの検証シーケンス図でモデルの検証

Page 15: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

設計モデル設計モデル

分析モデルから設計モデルを作成分析モデルから設計モデルを作成

Page 16: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

成果成果1.パッケージが疎結合になった

・保守のしやすさ・デバックのしやすさ

2.ソースコードの品質・世代間の品質比較・他社との比較

3.工程データと品質の因果関係・計測結果・障害発生の分析・工数配分の分析・分析結果をプロセスへフィードバック

4.ソースコード品質と障害の因果関係

Page 17: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

パッケージパッケージ

1.パッケージ間の依存関係1.パッケージ間の依存関係相互依存をなくし相互依存をなくし

2.インターフェース2.インターフェースパッケージ間インターフェースパッケージ間インターフェースを固定にするを固定にする

Page 18: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

新旧世代比較

0

20

40

60

80

100機能性 標準適合性

保守性 変更性

保守性 安定性

テスト容易性

理解容易性

再利用性 新規OO新規非OO他部門1世代前3世代前2世代前

世代間のソースコード品質比較世代間のソースコード品質比較

ソースコード品質ソースコード品質

Page 19: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

ソースコード品質ソースコード品質総得点比較

0.00 100.00 200.00 300.00 400.00 500.00 600.00

新規

3世代前

2世代前

1世代前

他部門

B社初期

B社洗練

C社初期

標準適合性変更性安定性テスト容易性理解容易性再利用性

エプソン従来設計との差エプソン従来設計との差

他社事例、オブジェクト指向設計事他社事例、オブジェクト指向設計事例が従来の設計から向上した差分例が従来の設計から向上した差分

他社とのソースコード品質比較他社とのソースコード品質比較

Page 20: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

計測結果計測結果

502.5502.532013201第第22回回POSTPOST88要求仕様書88要求仕様書

4372.684372.6899009900その他その他

636350025002部品運用マニュアル部品運用マニュアル

47.7547.753601OO3601OO分析モデル分析モデル

220.1220.13101POST3101POST88要求書(88要求書(22回目)回目)

555.25555.251201OO1201OO分析モデル分析モデル

1259.351259.3510011001従来実装部分構造化設計書従来実装部分構造化設計書

1324.151324.1509010901第第11回回POSTPOST88要求仕様書88要求仕様書

77.1177.1108010801利用可能な技術利用可能な技術

6.56.507010701構造化・構造化・OOOO対象パッケージ対象パッケージ

2462460501OS0501OSラッパ仕様書・ラッパ仕様書・OSOSラッパ実装ラッパ実装

89.589.504020402タスク構成タスク構成

51151104010401パッケージインターフェースパッケージインターフェース

8.58.50301OS0301OS仕様書仕様書

476.75476.7502010201パッケージ図パッケージ図

3453450101POST0101POST88要求書88要求書

685.63685.6300000000プロジェクト計画など(プロジェクト計画など(PFDPFD・スケジュール含む)・スケジュール含む)

合計合計成果物成果物

1.51.536003600OO分析モデルを更新するOO分析モデルを更新する

242406000600OSラッパ評価OSラッパ評価

648.56648.5632003200要求分析(第要求分析(第22回)回)

2405.462405.4699009900その他その他

248.07248.0790009000プロセス管理プロセス管理

86.186.131003100要求情報を整理する・分析作業を計画する要求情報を整理する・分析作業を計画する

672.75672.7512001200OO分析モデル作成OO分析モデル作成

1498.11498.110001000従来実装部分構造化設計作業従来実装部分構造化設計作業

1740.021740.0209000900要求分析(第要求分析(第11回)回)

5.55.508000800FW2003・RTOSブリッジ調査FW2003・RTOSブリッジ調査

22.7522.7507000700実装分割作業・構造化・OO実装分割作業・構造化・OO

314.5314.505000500OSラッパ仕様を作成し設計実装するOSラッパ仕様を作成し設計実装する

1095.51095.504000400アーキテクチャ設計・タスク分割・インターフェース作成アーキテクチャ設計・タスク分割・インターフェース作成

10.510.503000300OSを選定するOSを選定する

532.55532.5502000200アーキテクチャ分析アーキテクチャ分析

344.5344.501000100要求情報を整理する・分析作業を計画する要求情報を整理する・分析作業を計画する

993.41993.4100000000プロジェクト計画検討プロジェクト計画検討

合計合計作業プロセス作業プロセス

成果物別、プロセス別の作業時間計測成果物別、プロセス別の作業時間計測

Page 21: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

工程別実績工程別実績→→プロセス改善プロセス改善

工程別作業時間推移

0

100

200

300

400

500

600

700

800

2005-02

2005-03

2005-04

2005-05

2005-06

2005-07

2005-08

2005-09

2005-10

2005-11

2005-12

その他会議・打合せ検査講習・教育製造設計調査分析

概作業工程別作業時間推移概作業工程別作業時間推移

Page 22: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

実績工数と手戻りぬきの理想工数比較

0.00

1000.00

2000.00

3000.00

4000.00

5000.00

6000.00

2005-03

2005-04

2005-05

2005-06

2005-07

2005-08

2005-09

2005-10

2005-11

2005-12

理想実績障害発生

工程別実績工程別実績→→プロセス改善プロセス改善

作業時間推移と手戻り時間の関連作業時間推移と手戻り時間の関連

Page 23: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

障害分析障害分析

0%

5%

10%

15%

20%

25%

30%

35%

アルゴリズムミス実装設計モデリング要求仕様実現漏れ要求分析その他設計モデリングアーキテクチャ設計評価ミスパッケージインタフェース調整不具合修正タイプミス仕様変更デバッグ評価設計分析モデリング

設計・レビュー設計・レビュー実装・レビュー実装・レビューの各プロセスにの各プロセスに欠陥がある可能欠陥がある可能

性が高い性が高い

このプロセスにこのプロセスにある不具合原因ある不具合原因を改善できれば、を改善できれば、6割の手戻りを6割の手戻りを削減できる。削減できる。

障害原因分析障害原因分析

Page 24: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

1.障害の原因からプロセス見直し

・設計レビューの充実、プロセス見直し

・不具合を半減できれば・・・

2.実績から特定メンバーへの負荷が判明

・エキスパートに負荷が集中

・集中した負荷で次の工程に影響

3.プロセスの課題ではなく人の育成も必要

・レビュアーの育成ここはOJTが良い

工程実績・障害発生工程実績・障害発生→→プロセス改善プロセス改善

Page 25: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

ソースコード品質と障害の因果関係ソースコード品質と障害の因果関係

1.ソースコード品質・パッケージレベルの分析・パッケージ別の障害数・因果関係→現時点では明確な傾向見えない分析を継続してみる価値はありそうだが・・・

2.(案)開発段階でのソース品質分析・実装段階で分析・結果を受けて設計/実装の見直し

3.(案)障害発生の防止に使える・コードレビューの焦点を絞る・評価工程に入る前に対策実施し手戻りの排除

Page 26: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

まとめまとめ

1.現時点の適用状況・派生製品の開発に適用・プラットフォームとして機能拡張

2.当初目標に対する評価・ソースコード、構造の品質向上・プロセス設計のノウハウ取得・計測実績の活用

3.今後に向けて・改善の目標を設定し実績を評価・・・・1Kloc当りの障害数、コード流用率

・計測データにより効果を継続的に確認

Page 27: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28

最後に最後に

1.プロセスを設計する・進め方を共有する

・成果物を明確にする

2.計測する・工数と成果物の量を見積もる

・工数を計測する

・品質を計測する

3.分析しフィードバックする・実績を分析しプロセスを改善する

Page 28: ソフトウェア設計プロセスの改革 - ogis-ri.co.jp · 3101post88要求書(2回目) 220.1 1201oo分析モデル 555.25 1001従来実装部分構造化設計書 1259.35

SEIKO EPSON CORPORATION BS事業部 2006・6・28