0
サービス開発における工程
自己紹介 名前: 森 英寿 職業: フリーランスプログラマ 住所: 宮城県仙台市 開発言語:   Java/Ruby/PHP/VB/VC++/Objective-C Twitter: @h_mori Facebook: faceb...
自己紹介 職歴:   株)JIEC (2000-2004)      基幹業務開発プログラマ   株)フライトシステムコンサルティング(2004-2011)      基幹業務開発プログラマ、プロジェクトマネージャ      基幹業...
ソフトウェアの開発工程とは 実装したいことをまとめる どこまでの機能を作るか決める どのような仕様で作るか・どのように実装するか決め る ソースコードを書く 決めた仕様に即して動くかテストする※大雑把にウォーターフォール型か反復型に分...
ウォーターフォールモデル ウォーターフォールモデル    要件定義    基本設計    詳細設計    コーディング    ユニットテスト (UT)    インテグレーションテスト (IT)    システムテスト (ST) ...
ウォーターフォールモデルの特      徴 前工程に間違いがない前提 工程を確実にスケジューリング コーディング比率 (約1割) 有効なケース  運用サイクルが長い (約10年)  開発期間 (約半年〜3年)
ウォーターフォールのメリッ      ト 作業見積の誤りが少ない 各工程でFIXするため手戻りが少ない 大規模でも進捗を把握しやすい 一定の製造品質を担保できる 運用保守を見越しているため運用コストが低い
ウォーターフォールのデメリッ      ト 初期投資コストが高くなりやすい  コーディング率が低いため 後工程での仕様変更に多大のコストが発生しやすい
アジャイル開発 スパイラルモデル (反復型)  プロトタイプ開発 方法論    エクストリームプログラミング (XP)    テスト駆動開発 (TDD)    ペアプログラミング(ペアプロ)    ソースコードの共有化    B...
エクストリームプログラミン      グ 共同化  イテレーション、フィードバック  用語統一 開発  テスト駆動開発、リファクタリング、結合試験サイクルの短縮  ペアプログラミング、コードの共同所有  YAGNI 管理  責...
テスト駆動開発(TDD)品質向上の目的ではなく開発者がコードに確信を裏付ける 目的 開発サイクル  (Red)テストコードと失敗する本体コードを書く  (Green)テストがパスするように最低限のコードを書く  (Refactor)テス...
ペアプログラミング 2人(ドライバ・ナビゲータ)が1台のPCに向かって作業  ドライバがテストコードを書く間に本コードの実装を考える メリット  コード所有およびコードレビューを兼ねている  教育に向く  サボれない デメリット ...
アジャイル開発の特徴 予測困難な要件・仕様に適応しやすい 熟練した開発者を要する 有効ケース    少人数開発の場合 (10人以下)    ミッションクリティカルでないシステム開発    開発者が遠隔でない    開発期間が短い
アジャイル開発のメリット 初期投資コストが安くなる場合が多い 課題点が早期に発見されやすい 仕様変更に適応しやすい
アジャイル開発のデメリット 作業見積が取りにくい 一括受託の場合、際限ない仕様変更になりがち 保守コストが膨れ上がることがある 大規模人数の場合、プロジェクト管理が難しい
アジャイル開発のポイント プロジェクトの性質的に適合するか検討する あくまで方法論(ツール)であり目的ではない  コミニュケーションの取り方  作業者の精神的負荷を減らす目的 カウボーイコーディングにならないように
サービス開発の背景 初期投資であり収益化は半年後〜1年後  低予算    スモールスタート  低人数    1人で開発することもあり得る  短い開発サイクル    1日〜3ヶ月 時流に合わせた仕様変更   世の中は激しく変化し...
サービス開発のサイクル コンセプト設計、ターゲット分析 メイン機能に注力したプロトタイプ開発                       3ヶ月 βリリース ユーザー動向をウォッチ (売上確認) 続投の判断 (売上見込調査) 拡張開...
初期計画 収益構造 (ビジネスモデル) サービスの目的、コンセプト設計 ターゲット層の分析 競合分析 収益予測 (利用ユーザー見込・単価) 経費コスト算出   開発費、デザイン費   コンテンツ使用料   販促費 (広告費)...
インタラクションデザインの重要       性 ユーザーエクスペリエンス・ユーザビリティの向上 製品を効果的に利用できるようにデザインを目指す  機能の単純化  視覚効果の利用 ユーザーシーンを考慮  5W1Hを考える ユーザータ...
リリース計画 リリースタイミング  サービス機能性(品質)と早期ローンチのバランス  時流の動向に即したタイミング プロモーション方法    プレスリリース    メディアへの露出    動画・サイト作成    ゲリラマーケティ...
中期計画 収益予測の見直し サービス方針の見直し ターゲット層の拡大 効果的なプロモーション方法の再検討 運用方法、運用コストの見直し
私見 アジャイル的な開発手法が向く 企画者も開発者も知恵を絞ることが重要  サービスを作る上で正解はない  企画と技術とニーズがマッチした場合のみヒットする 何よりもプロモーションが重要 サービスの価値は品質よりコンセプトが評価される
ご清聴ありがとうございました     m(_ _)m
Upcoming SlideShare
Loading in...5
×

サービス開発における工程

1,642

Published on

about development method for service.

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,642
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "サービス開発における工程"

  1. 1. サービス開発における工程
  2. 2. 自己紹介 名前: 森 英寿 職業: フリーランスプログラマ 住所: 宮城県仙台市 開発言語:  Java/Ruby/PHP/VB/VC++/Objective-C Twitter: @h_mori Facebook: facebook.com/hidetoshi.mori サービス開発実績:  TweetMe  SOICHA  ATND暦
  3. 3. 自己紹介 職歴:  株)JIEC (2000-2004)  基幹業務開発プログラマ  株)フライトシステムコンサルティング(2004-2011)  基幹業務開発プログラマ、プロジェクトマネージャ  基幹業務コンサルタント  サービス開発プログラマ、コンサルタント
  4. 4. ソフトウェアの開発工程とは 実装したいことをまとめる どこまでの機能を作るか決める どのような仕様で作るか・どのように実装するか決め る ソースコードを書く 決めた仕様に即して動くかテストする※大雑把にウォーターフォール型か反復型に分類される
  5. 5. ウォーターフォールモデル ウォーターフォールモデル  要件定義  基本設計  詳細設計  コーディング  ユニットテスト (UT)  インテグレーションテスト (IT)  システムテスト (ST)  運用テスト (OT)
  6. 6. ウォーターフォールモデルの特 徴 前工程に間違いがない前提 工程を確実にスケジューリング コーディング比率 (約1割) 有効なケース  運用サイクルが長い (約10年)  開発期間 (約半年〜3年)
  7. 7. ウォーターフォールのメリッ ト 作業見積の誤りが少ない 各工程でFIXするため手戻りが少ない 大規模でも進捗を把握しやすい 一定の製造品質を担保できる 運用保守を見越しているため運用コストが低い
  8. 8. ウォーターフォールのデメリッ ト 初期投資コストが高くなりやすい  コーディング率が低いため 後工程での仕様変更に多大のコストが発生しやすい
  9. 9. アジャイル開発 スパイラルモデル (反復型)  プロトタイプ開発 方法論  エクストリームプログラミング (XP)  テスト駆動開発 (TDD)  ペアプログラミング(ペアプロ)  ソースコードの共有化  BTSにおけるタスク管理
  10. 10. エクストリームプログラミン グ 共同化  イテレーション、フィードバック  用語統一 開発  テスト駆動開発、リファクタリング、結合試験サイクルの短縮  ペアプログラミング、コードの共同所有  YAGNI 管理  責任の切り分け、タスク分離(BTS等の活用) コンシューマ  コンセプト設計、計画、短期リリース
  11. 11. テスト駆動開発(TDD)品質向上の目的ではなく開発者がコードに確信を裏付ける 目的 開発サイクル  (Red)テストコードと失敗する本体コードを書く  (Green)テストがパスするように最低限のコードを書く  (Refactor)テスト成功を保持したまま、シンプル化し完成さ せる TODOリストの利用 向かないケース  並列処理  GUIを扱うもの
  12. 12. ペアプログラミング 2人(ドライバ・ナビゲータ)が1台のPCに向かって作業  ドライバがテストコードを書く間に本コードの実装を考える メリット  コード所有およびコードレビューを兼ねている  教育に向く  サボれない デメリット  スケジューリングのズレによりトータルコストが上がる場合が ある
  13. 13. アジャイル開発の特徴 予測困難な要件・仕様に適応しやすい 熟練した開発者を要する 有効ケース  少人数開発の場合 (10人以下)  ミッションクリティカルでないシステム開発  開発者が遠隔でない  開発期間が短い
  14. 14. アジャイル開発のメリット 初期投資コストが安くなる場合が多い 課題点が早期に発見されやすい 仕様変更に適応しやすい
  15. 15. アジャイル開発のデメリット 作業見積が取りにくい 一括受託の場合、際限ない仕様変更になりがち 保守コストが膨れ上がることがある 大規模人数の場合、プロジェクト管理が難しい
  16. 16. アジャイル開発のポイント プロジェクトの性質的に適合するか検討する あくまで方法論(ツール)であり目的ではない  コミニュケーションの取り方  作業者の精神的負荷を減らす目的 カウボーイコーディングにならないように
  17. 17. サービス開発の背景 初期投資であり収益化は半年後〜1年後  低予算  スモールスタート  低人数  1人で開発することもあり得る  短い開発サイクル  1日〜3ヶ月 時流に合わせた仕様変更  世の中は激しく変化している
  18. 18. サービス開発のサイクル コンセプト設計、ターゲット分析 メイン機能に注力したプロトタイプ開発 3ヶ月 βリリース ユーザー動向をウォッチ (売上確認) 続投の判断 (売上見込調査) 拡張開発・仕様変更
  19. 19. 初期計画 収益構造 (ビジネスモデル) サービスの目的、コンセプト設計 ターゲット層の分析 競合分析 収益予測 (利用ユーザー見込・単価) 経費コスト算出  開発費、デザイン費  コンテンツ使用料  販促費 (広告費) スケジュール策定
  20. 20. インタラクションデザインの重要 性 ユーザーエクスペリエンス・ユーザビリティの向上 製品を効果的に利用できるようにデザインを目指す  機能の単純化  視覚効果の利用 ユーザーシーンを考慮  5W1Hを考える ユーザーターゲットを明確に  性別、年齢層、文化背景 等※ 例)iPhone
  21. 21. リリース計画 リリースタイミング  サービス機能性(品質)と早期ローンチのバランス  時流の動向に即したタイミング プロモーション方法  プレスリリース  メディアへの露出  動画・サイト作成  ゲリラマーケティング ユーザー囲い込み  導線の作り方  ユーザーに対するインパクト
  22. 22. 中期計画 収益予測の見直し サービス方針の見直し ターゲット層の拡大 効果的なプロモーション方法の再検討 運用方法、運用コストの見直し
  23. 23. 私見 アジャイル的な開発手法が向く 企画者も開発者も知恵を絞ることが重要  サービスを作る上で正解はない  企画と技術とニーズがマッチした場合のみヒットする 何よりもプロモーションが重要 サービスの価値は品質よりコンセプトが評価される
  24. 24. ご清聴ありがとうございました m(_ _)m
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×