SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
TDDの考え方を開発全体に応用してみよう!

   biac
   BluewaterSoft

2013/1/19          Visual Studio ハッカソン   1
biac (山本 康彦)
    BluewaterSoft   http://www.bluewatersoft.jp/
    略歴
    - 名古屋大学工学部(修士)
    - HONDA R&Dで自動車設計
    - 1994~ ソフトウェア業界
    - 2012~ BluewaterSoft
    著書
    「速攻入門 C#」(2012/3) 技術評論社、共著
    「ソフトな彼女とハードな彼氏。」(2012/3) アジャイルマインドvol.1掲載




2013/1/19              Visual Studio ハッカソン         2
連載
    「C#でTDD入門」 CodeZine
    「WinRT/Metro Tips」 @IT .NET開発者中心

    Web
    TDD.NET http://www.tdd-net.jp/
    biac の それさえもおそらくは幸せな日々@nifty
         http://bluewatersoft.cocolog-nifty.com/blog/

    Win8やWP8のアプリを作ってます



2013/1/19                    Visual Studio ハッカソン        3
Claudia Clock
                                                   © HATSUNE, Akira




            Leotard Clock
                 © Pie Dey

2013/1/19                    Visual Studio ハッカソン                      4
Clover Clock
                                                       © Kimamano Yuu, Inc.




                    ミク時計
        © UsusWin8AppsProjects

2013/1/19                        Visual Studio ハッカソン                          5
ClockCompass
                                                 © www.duruofei.com




            BarbarClock
              © tkinugaw

2013/1/19                  Visual Studio ハッカソン                        6
My 3D Clock
                                                         © Axilesoft




            Hover Clock 3D
       © Xoanan Industries, LLC.

2013/1/19                          Visual Studio ハッカソン                 7
…と、その前に。

    プログラムの作り方 (開発プロセス) につい
    て、おさらいしておきましょう。




2013/1/19   Visual Studio ハッカソン   8
何を作るか?
                                            完璧に決める
            • 外観
スペック
            • 機能1、機能2、・・・
   決定
                                           決めたとおりに
                                            ひたすら作る
            • 外観 (画像制作、プログラミング)
  制作        • 機能1プログラミング、機能2プログラミング、・・・
                                           最初に決めたとお
            • 外観                            りに出来たか?
  検証        • 機能1、機能2、・・・
              はっきり言って、このやり方はクリエイティブじゃない。
              ・途中で思いついたアイデア → 却下!
              ・飽きる。テンションを維持できない。
  完成          ・1発で最高のモノが出来上がる!?
2013/1/19            Visual Studio ハッカソン             9
Test Driven Development テスト駆動開発
    = テストファースト + リファクタリング
    テストファースト
    失敗する自動化されたテストを書く ⇒
    新しいコードを書いてパスさせる ⇒
    リファクタリング
    All Greenを維持したまま改良 ⇒



2013/1/19      Visual Studio ハッカソン    10
スペック        • テストケース1、 テストケース2、 テストケース3
   決定


            • コーディング、 コーディング、 コーディング
  制作


            • 自動テスト1、 自動テスト2、              自動テスト3、
  検証
            ちょっとずつ完成させる
            ・テストケース(スペックの例示)を1つ書く
            ・そのテストケースをパスするだけのコードを書く
            ・新しいテストケースが考え出せなくなったら、完成           完成
2013/1/19            Visual Studio ハッカソン            11
ハードウェアの開発              ソフトウェアの開発
  開発者のアウトプット              開発者のアウトプット
  =図面                     =ソースコード
  試作 (開発中の図面で製造)          試作 (コンパイル/ビルド)
  コストも時間も掛かる              コストも時間もほぼゼロ
  完成品のカタチにならないと           機能ごとに作ってテストが可
  テストしにくい                 能、自動化も容易


  試作回数を減らしたい!!            試作回数増、ウェルカム!!
  かわりに、計画やレビューを           走りながら考えたっていい
  きっちりやるぜ!                じゃないか!

2013/1/19    Visual Studio ハッカソン          12
スペック        • 外観、 機能1、 機能2、 ・・・、 追加機能
   決定


            • 外観、 機能1、 機能2、 ・・・、 追加機能
  制作



            • 外観、 機能1、 機能2、 ・・・、 追加機能
  検証
            i&i : インクリメンタル & イテレーティブ
            ・途中で思いついたアイデア → 取り込みやすい
            ・飽きない(飽きるヒマが無いw)。1イテレーション=2週間前後
            ・1発で最高のモノが出来上がったりするはずないと分かっている。
2013/1/19            Visual Studio ハッカソン   13
ウソです! (w
    やっぱり最初に、全体の構想を考えます。
    キッチリ考えるのは、そのイテレーション
    に入ってから。
    そういういわば「ハイブリッド」なやり方
    も i&i と呼んでいます。


                ついでに言っておくと、
            i & i + 顧客主導 = アジャイル
2013/1/19       Visual Studio ハッカソン   14
ソフトウェア開発の特性:
     試作コスト=ほぼゼロ、
     テストの自動化も容易
    ⇒ インクリメンタル&イテレーティブ可能

    テストファーストは、コーディングレベル
    の i&i だと言える。




2013/1/19   Visual Studio ハッカソン   15
インクリメンタル&イテレーティブ (i&i) を
    意識してみよう

    最初に全体の構想と、機能の洗い出し
    個々の機能を実装するときに、あらためて
    キチンと打ち合わせをする。
    このときは、ゴールを明確に
    当初の予定とは違うことをやりたくなるは
    ず! それが当たり前
2013/1/19    Visual Studio ハッカソン   16
アイデアソンで全体の構想を決める

    【デザイナー】 外観、機能を決定する
                      開発者の意見を参考に…


    【開発者】機能の実現可能性を見積もる
      ※ ハッカソンの時間内に完成できそう?

 細かいことは後回し、と言ったけど…。
 開発者は、実現可能性の判断に必要なことは聞き出すべし!
 たとえば「秒針が動く」でも、「ス~っと動く」か「カチ、コチと動く」か
 でアーキテクチャが変わるぞ!!

2013/1/19      Visual Studio ハッカソン    17
ハッカソン開始: 最初のイテレーション計画

    【デザイナー】
    ・最初に開発してもらう機能を選ぶ
    ・自分の作業の段取りも考える

    【開発者】
    ・もしも機能の開発順序に制約があるなら、
    説明する
    ・開発中に画像が必要になるタイミングが
    あるなら、説明する
2013/1/19   Visual Studio ハッカソン   18
イテレーション開始

    【デザイナー】このイテレーションで作る
    機能を説明する (場合によっては変更する)

    【開発者】実装できると確信できるまで、
    機能の聞き取りをする。ゴールも明確に。
この最初の打ち合わせの時に、「デザイナーの作業中に、機能に関する質問
をしてもいいかどうか」も、決めてください。OKなら、「だいたい分かった
♪」で作り始めても良いのですが…。デザイナーもプログラマーも、多くは
フローを断ち切られるとガックリ生産性が落ちる人種なのです。
2013/1/19     Visual Studio ハッカソン     19
どうぞ遠慮なく訊いてください
            全体
                   @biac
            TDD
                   @irof                  @datsuns
            ペアプロ
                   @daiksy
            C#
                   @moririring            @Posaune


2013/1/19           Visual Studio ハッカソン              20
本日のメインディッシュは、コレ♪
            開発プロセスだのTDDだのは、 オマケだからねっ!!




2013/1/19            Visual Studio ハッカソン   21
TDDの考え方を開発全体に応用してみよう!




2013/1/19          Visual Studio ハッカソン   22

Más contenido relacionado

La actualidad más candente

福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
 

La actualidad más candente (20)

ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiAワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
ワンクリックデプロイ 〜いつまで手でデプロイしてるんですか〜 #devsumiA
 
0から始めるUXデザイン(UXデザインを知る)
0から始めるUXデザイン(UXデザインを知る)0から始めるUXデザイン(UXデザインを知る)
0から始めるUXデザイン(UXデザインを知る)
 
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
UE4 Performance and Profiling | Unreal Dev Day Montreal 2017 (日本語訳)
 
[devsumi2013]【15-D-7】実演!現場の悩みをTOCfEで考え抜く!
[devsumi2013]【15-D-7】実演!現場の悩みをTOCfEで考え抜く![devsumi2013]【15-D-7】実演!現場の悩みをTOCfEで考え抜く!
[devsumi2013]【15-D-7】実演!現場の悩みをTOCfEで考え抜く!
 
おしゃれCatalystに触ってみた
おしゃれCatalystに触ってみたおしゃれCatalystに触ってみた
おしゃれCatalystに触ってみた
 
Design Sprint Process / デザインスプリントの実際のプロセスについて
Design Sprint Process / デザインスプリントの実際のプロセスについてDesign Sprint Process / デザインスプリントの実際のプロセスについて
Design Sprint Process / デザインスプリントの実際のプロセスについて
 
アート・オブ・アジャイル デベロップメント 〜テストが駆動するビジネス価値〜
アート・オブ・アジャイル デベロップメント 〜テストが駆動するビジネス価値〜アート・オブ・アジャイル デベロップメント 〜テストが駆動するビジネス価値〜
アート・オブ・アジャイル デベロップメント 〜テストが駆動するビジネス価値〜
 
夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
夏サミ 2012 [B-2]エンタープライズ開発におけるコラボレーション - JIRAによる顧客と開発チームのつなぎ方
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
VDMX_WS20160227
VDMX_WS20160227VDMX_WS20160227
VDMX_WS20160227
 
ChatOpsでデザインスプリントをやってみた
ChatOpsでデザインスプリントをやってみたChatOpsでデザインスプリントをやってみた
ChatOpsでデザインスプリントをやってみた
 
0から始めるUXデザイン(UXデザインの組織を作る)
0から始めるUXデザイン(UXデザインの組織を作る)0から始めるUXデザイン(UXデザインの組織を作る)
0から始めるUXデザイン(UXデザインの組織を作る)
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
 
スクラム開発について
スクラム開発についてスクラム開発について
スクラム開発について
 
VDMX_WS20160214
VDMX_WS20160214VDMX_WS20160214
VDMX_WS20160214
 
DDD - the architecture loved by CEOs
DDD - the architecture loved by CEOsDDD - the architecture loved by CEOs
DDD - the architecture loved by CEOs
 
デブサミ2013発表資料(14-B-5)「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ」 #devsumi #devsumiB
デブサミ2013発表資料(14-B-5)「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ」 #devsumi #devsumiBデブサミ2013発表資料(14-B-5)「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ」 #devsumi #devsumiB
デブサミ2013発表資料(14-B-5)「チケット駆動開発のフレームワーク~現場の経験知からパターン言語へ」 #devsumi #devsumiB
 
早く・良いものを作るための、WordPressサイト構築ワークフロー
早く・良いものを作るための、WordPressサイト構築ワークフロー早く・良いものを作るための、WordPressサイト構築ワークフロー
早く・良いものを作るための、WordPressサイト構築ワークフロー
 
企業向けUXデザイン導入のポイント
企業向けUXデザイン導入のポイント企業向けUXデザイン導入のポイント
企業向けUXデザイン導入のポイント
 

Destacado

osoljp201105_ZFSjiman_nslope
osoljp201105_ZFSjiman_nslopeosoljp201105_ZFSjiman_nslope
osoljp201105_ZFSjiman_nslope
Noriyasu Sakaue
 
第2回 Jenkins勉強会 LT 藤川
第2回 Jenkins勉強会 LT 藤川第2回 Jenkins勉強会 LT 藤川
第2回 Jenkins勉強会 LT 藤川
Koichi Fujikawa
 
コンピュータの構成と設計 第3版 第2章 勉強会資料
コンピュータの構成と設計 第3版 第2章 勉強会資料コンピュータの構成と設計 第3版 第2章 勉強会資料
コンピュータの構成と設計 第3版 第2章 勉強会資料
futada
 
芸術情報演習デザイン(Web) 第7回:CSSレイアウト
芸術情報演習デザイン(Web)  第7回:CSSレイアウト芸術情報演習デザイン(Web)  第7回:CSSレイアウト
芸術情報演習デザイン(Web) 第7回:CSSレイアウト
Atsushi Tadokoro
 
Croozにおけるjenkins活用事例20130618
Croozにおけるjenkins活用事例20130618Croozにおけるjenkins活用事例20130618
Croozにおけるjenkins活用事例20130618
Katsuya Ohnishi
 
ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争
goccy
 

Destacado (20)

仕事をお願いしたくなる ライターとは
仕事をお願いしたくなる ライターとは仕事をお願いしたくなる ライターとは
仕事をお願いしたくなる ライターとは
 
駆け出しフリーランスのための、クラウドソーシングで仕事を取りに行く方法
駆け出しフリーランスのための、クラウドソーシングで仕事を取りに行く方法駆け出しフリーランスのための、クラウドソーシングで仕事を取りに行く方法
駆け出しフリーランスのための、クラウドソーシングで仕事を取りに行く方法
 
正社員からフリーランスになってみて
正社員からフリーランスになってみて正社員からフリーランスになってみて
正社員からフリーランスになってみて
 
osoljp201105_ZFSjiman_nslope
osoljp201105_ZFSjiman_nslopeosoljp201105_ZFSjiman_nslope
osoljp201105_ZFSjiman_nslope
 
第2回 Jenkins勉強会 LT 藤川
第2回 Jenkins勉強会 LT 藤川第2回 Jenkins勉強会 LT 藤川
第2回 Jenkins勉強会 LT 藤川
 
コンピュータの構成と設計 第3版 第2章 勉強会資料
コンピュータの構成と設計 第3版 第2章 勉強会資料コンピュータの構成と設計 第3版 第2章 勉強会資料
コンピュータの構成と設計 第3版 第2章 勉強会資料
 
芸術情報演習デザイン(Web) 第7回:CSSレイアウト
芸術情報演習デザイン(Web)  第7回:CSSレイアウト芸術情報演習デザイン(Web)  第7回:CSSレイアウト
芸術情報演習デザイン(Web) 第7回:CSSレイアウト
 
JenkinsとjMeterで負荷テストの自動化
JenkinsとjMeterで負荷テストの自動化JenkinsとjMeterで負荷テストの自動化
JenkinsとjMeterで負荷テストの自動化
 
仕事を遊びにする自動化とガラクタプロダクト
仕事を遊びにする自動化とガラクタプロダクト仕事を遊びにする自動化とガラクタプロダクト
仕事を遊びにする自動化とガラクタプロダクト
 
【セプテーニHD】2016年9月期 第1四半期決算説明会資料
【セプテーニHD】2016年9月期 第1四半期決算説明会資料【セプテーニHD】2016年9月期 第1四半期決算説明会資料
【セプテーニHD】2016年9月期 第1四半期決算説明会資料
 
Tdtechtalk20160425myui
Tdtechtalk20160425myuiTdtechtalk20160425myui
Tdtechtalk20160425myui
 
capybara で快適なテスト生活を
capybara で快適なテスト生活をcapybara で快適なテスト生活を
capybara で快適なテスト生活を
 
Croozにおけるjenkins活用事例20130618
Croozにおけるjenkins活用事例20130618Croozにおけるjenkins活用事例20130618
Croozにおけるjenkins活用事例20130618
 
ドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkins
 
自分よりも技術力の高い会社に入社して感じたこと
自分よりも技術力の高い会社に入社して感じたこと自分よりも技術力の高い会社に入社して感じたこと
自分よりも技術力の高い会社に入社して感じたこと
 
Jenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいますJenkins実践入門目次チラ見せしちゃいます
Jenkins実践入門目次チラ見せしちゃいます
 
Jenkinsで始める継続的デリバリーと実践の道程
Jenkinsで始める継続的デリバリーと実践の道程Jenkinsで始める継続的デリバリーと実践の道程
Jenkinsで始める継続的デリバリーと実践の道程
 
ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争ぼくとJenkinsおじさんの360日戦争
ぼくとJenkinsおじさんの360日戦争
 
1日30分で作れる個人サービスのススメ
1日30分で作れる個人サービスのススメ1日30分で作れる個人サービスのススメ
1日30分で作れる個人サービスのススメ
 
20120720自動車技術会
20120720自動車技術会20120720自動車技術会
20120720自動車技術会
 

Similar a プログラマとデザイナで時計を作るVisual studioハッカソン ~ TDDの考え方を開発全体に応用してみよう!

20101127 Android Usability Seminar
20101127 Android Usability Seminar20101127 Android Usability Seminar
20101127 Android Usability Seminar
Visso株式会社
 
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
満徳 関
 
チームラボハンガー開発経緯トークセミナー
チームラボハンガー開発経緯トークセミナー チームラボハンガー開発経緯トークセミナー
チームラボハンガー開発経緯トークセミナー
Minami Kumamoto
 
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
Akiko Kosaka
 
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
Akiko Kosaka
 
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12QJasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Yoshihito Kuranuki
 

Similar a プログラマとデザイナで時計を作るVisual studioハッカソン ~ TDDの考え方を開発全体に応用してみよう! (20)

Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
Ricoh UCS for iPad でみる エンタープライズ アジャイル開発
 
TDDの原理 ~ スペック・ファースト
TDDの原理 ~ スペック・ファーストTDDの原理 ~ スペック・ファースト
TDDの原理 ~ スペック・ファースト
 
Cod2012 デバッグ講座
Cod2012 デバッグ講座Cod2012 デバッグ講座
Cod2012 デバッグ講座
 
20101127 Android Usability Seminar
20101127 Android Usability Seminar20101127 Android Usability Seminar
20101127 Android Usability Seminar
 
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
 
チームラボハンガー開発経緯トークセミナー
チームラボハンガー開発経緯トークセミナー チームラボハンガー開発経緯トークセミナー
チームラボハンガー開発経緯トークセミナー
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
 
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
AgileJapan2010 官公庁でも取り組み始めたアジャイル! NECソフトウェア東北
 
【15-e-7】Kinectから始まったスタートアップ #devsumi
【15-e-7】Kinectから始まったスタートアップ #devsumi【15-e-7】Kinectから始まったスタートアップ #devsumi
【15-e-7】Kinectから始まったスタートアップ #devsumi
 
20130320 agile pm
20130320 agile pm20130320 agile pm
20130320 agile pm
 
プロジェクト管理ツールを使いこなせるようになった現場の話
プロジェクト管理ツールを使いこなせるようになった現場の話プロジェクト管理ツールを使いこなせるようになった現場の話
プロジェクト管理ツールを使いこなせるようになった現場の話
 
プロジェクト管理ツールを使いこなせるようになった現場の話
プロジェクト管理ツールを使いこなせるようになった現場の話プロジェクト管理ツールを使いこなせるようになった現場の話
プロジェクト管理ツールを使いこなせるようになった現場の話
 
Visual Studio を使わず .NET する
Visual Studio を使わず .NET するVisual Studio を使わず .NET する
Visual Studio を使わず .NET する
 
Scrumワークショップ
ScrumワークショップScrumワークショップ
Scrumワークショップ
 
ユーザーストーリーワークショップ実践編
ユーザーストーリーワークショップ実践編ユーザーストーリーワークショップ実践編
ユーザーストーリーワークショップ実践編
 
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12QJasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
Jasst12九州 倉貫資料:アジャイル・Ruby・クラウド(ARC)を活用したビジネスにおけるテストの実践 #jasst12Q
 
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
プログラム組んだら負け!実はHTML/CSSだけでできること2015夏
 
第7回 D2D アクセシビリティ勉強会資料「D2Dサイトをアクセシブルにマークアップ」
第7回 D2D アクセシビリティ勉強会資料「D2Dサイトをアクセシブルにマークアップ」第7回 D2D アクセシビリティ勉強会資料「D2Dサイトをアクセシブルにマークアップ」
第7回 D2D アクセシビリティ勉強会資料「D2Dサイトをアクセシブルにマークアップ」
 
Android Studio 2.2の紹介@Google I/O 2016東京報告会
Android Studio 2.2の紹介@Google I/O 2016東京報告会Android Studio 2.2の紹介@Google I/O 2016東京報告会
Android Studio 2.2の紹介@Google I/O 2016東京報告会
 

Más de Yasuhiko Yamamoto

Más de Yasuhiko Yamamoto (20)

わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしようわんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
わんくま名古屋 #40 (20161217) Xamarinで自動化テストしよう
 
わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門わんくま名古屋 #38 (20160521) Xamarin入門
わんくま名古屋 #38 (20160521) Xamarin入門
 
UWP アプリを JavaScript で作る 3つの方法
UWP アプリを JavaScript で作る 3つの方法UWP アプリを JavaScript で作る 3つの方法
UWP アプリを JavaScript で作る 3つの方法
 
無償のVisual studioで作るクライアント アプリ
無償のVisual studioで作るクライアント アプリ無償のVisual studioで作るクライアント アプリ
無償のVisual studioで作るクライアント アプリ
 
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
わんくま名古屋 #37 (20151114) Windows 10 UWP アプリ開発入門(実践編)
 
わんくま名古屋 #37 (20151114) TDD道場 #25
わんくま名古屋 #37 (20151114) TDD道場 #25わんくま名古屋 #37 (20151114) TDD道場 #25
わんくま名古屋 #37 (20151114) TDD道場 #25
 
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
わんくま名古屋#36 (20150725) Windows 10 ユニバーサル Windows アプリ開発入門
 
第8回 業開中心会議 「Windows 10 ユニバーサルアプリの概要」
第8回業開中心会議 「Windows 10 ユニバーサルアプリの概要」第8回業開中心会議 「Windows 10 ユニバーサルアプリの概要」
第8回 業開中心会議 「Windows 10 ユニバーサルアプリの概要」
 
わんくま名古屋#34(20150214) TDD道場#22
わんくま名古屋#34(20150214) TDD道場#22わんくま名古屋#34(20150214) TDD道場#22
わんくま名古屋#34(20150214) TDD道場#22
 
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
Visual Studio 2015 の新機能: Pex はユニットテストの福音となるか!?
 
わんくま名古屋#33(20141115) モノ作り半生
わんくま名古屋#33(20141115) モノ作り半生わんくま名古屋#33(20141115) モノ作り半生
わんくま名古屋#33(20141115) モノ作り半生
 
わんくま名古屋#33(20141115) TDD道場#21
わんくま名古屋#33(20141115) TDD道場#21わんくま名古屋#33(20141115) TDD道場#21
わんくま名古屋#33(20141115) TDD道場#21
 
開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ!
開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ!開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ!
開発ツールを買わずに作る♪ ユニバーサルWindowsアプリ!
 
わんくま名古屋 #32 (20140823) TDD道場 #20
わんくま名古屋 #32 (20140823) TDD道場 #20わんくま名古屋 #32 (20140823) TDD道場 #20
わんくま名古屋 #32 (20140823) TDD道場 #20
 
わんくま名古屋#31(20140524) TDD道場 #19
わんくま名古屋#31(20140524) TDD道場 #19わんくま名古屋#31(20140524) TDD道場 #19
わんくま名古屋#31(20140524) TDD道場 #19
 
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧めわんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め
わんくま名古屋#31(20140524) ユニバーサルWindowsアプリ開発の勧め
 
Windows ストア アプリでスレッド間排他処理
Windows ストア アプリでスレッド間排他処理Windows ストア アプリでスレッド間排他処理
Windows ストア アプリでスレッド間排他処理
 
Windows 8.1 Update 1 の噂をまとめてみた
Windows 8.1 Update 1 の噂をまとめてみたWindows 8.1 Update 1 の噂をまとめてみた
Windows 8.1 Update 1 の噂をまとめてみた
 
タダで始めるテストファースト入門 ~ C# Express + NUnit
タダで始めるテストファースト入門 ~ C# Express + NUnitタダで始めるテストファースト入門 ~ C# Express + NUnit
タダで始めるテストファースト入門 ~ C# Express + NUnit
 
わんくま名古屋 #29 (2013/11/23) TDD道場 #17
わんくま名古屋 #29 (2013/11/23) TDD道場 #17わんくま名古屋 #29 (2013/11/23) TDD道場 #17
わんくま名古屋 #29 (2013/11/23) TDD道場 #17
 

Último

Último (11)

Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

プログラマとデザイナで時計を作るVisual studioハッカソン ~ TDDの考え方を開発全体に応用してみよう!

  • 1. TDDの考え方を開発全体に応用してみよう! biac BluewaterSoft 2013/1/19 Visual Studio ハッカソン 1
  • 2. biac (山本 康彦) BluewaterSoft http://www.bluewatersoft.jp/ 略歴 - 名古屋大学工学部(修士) - HONDA R&Dで自動車設計 - 1994~ ソフトウェア業界 - 2012~ BluewaterSoft 著書 「速攻入門 C#」(2012/3) 技術評論社、共著 「ソフトな彼女とハードな彼氏。」(2012/3) アジャイルマインドvol.1掲載 2013/1/19 Visual Studio ハッカソン 2
  • 3. 連載 「C#でTDD入門」 CodeZine 「WinRT/Metro Tips」 @IT .NET開発者中心 Web TDD.NET http://www.tdd-net.jp/ biac の それさえもおそらくは幸せな日々@nifty http://bluewatersoft.cocolog-nifty.com/blog/ Win8やWP8のアプリを作ってます 2013/1/19 Visual Studio ハッカソン 3
  • 4. Claudia Clock © HATSUNE, Akira Leotard Clock © Pie Dey 2013/1/19 Visual Studio ハッカソン 4
  • 5. Clover Clock © Kimamano Yuu, Inc. ミク時計 © UsusWin8AppsProjects 2013/1/19 Visual Studio ハッカソン 5
  • 6. ClockCompass © www.duruofei.com BarbarClock © tkinugaw 2013/1/19 Visual Studio ハッカソン 6
  • 7. My 3D Clock © Axilesoft Hover Clock 3D © Xoanan Industries, LLC. 2013/1/19 Visual Studio ハッカソン 7
  • 8. …と、その前に。 プログラムの作り方 (開発プロセス) につい て、おさらいしておきましょう。 2013/1/19 Visual Studio ハッカソン 8
  • 9. 何を作るか? 完璧に決める • 外観 スペック • 機能1、機能2、・・・ 決定 決めたとおりに ひたすら作る • 外観 (画像制作、プログラミング) 制作 • 機能1プログラミング、機能2プログラミング、・・・ 最初に決めたとお • 外観 りに出来たか? 検証 • 機能1、機能2、・・・ はっきり言って、このやり方はクリエイティブじゃない。 ・途中で思いついたアイデア → 却下! ・飽きる。テンションを維持できない。 完成 ・1発で最高のモノが出来上がる!? 2013/1/19 Visual Studio ハッカソン 9
  • 10. Test Driven Development テスト駆動開発 = テストファースト + リファクタリング テストファースト 失敗する自動化されたテストを書く ⇒ 新しいコードを書いてパスさせる ⇒ リファクタリング All Greenを維持したまま改良 ⇒ 2013/1/19 Visual Studio ハッカソン 10
  • 11. スペック • テストケース1、 テストケース2、 テストケース3 決定 • コーディング、 コーディング、 コーディング 制作 • 自動テスト1、 自動テスト2、 自動テスト3、 検証 ちょっとずつ完成させる ・テストケース(スペックの例示)を1つ書く ・そのテストケースをパスするだけのコードを書く ・新しいテストケースが考え出せなくなったら、完成 完成 2013/1/19 Visual Studio ハッカソン 11
  • 12. ハードウェアの開発 ソフトウェアの開発 開発者のアウトプット 開発者のアウトプット =図面 =ソースコード 試作 (開発中の図面で製造) 試作 (コンパイル/ビルド) コストも時間も掛かる コストも時間もほぼゼロ 完成品のカタチにならないと 機能ごとに作ってテストが可 テストしにくい 能、自動化も容易 試作回数を減らしたい!! 試作回数増、ウェルカム!! かわりに、計画やレビューを 走りながら考えたっていい きっちりやるぜ! じゃないか! 2013/1/19 Visual Studio ハッカソン 12
  • 13. スペック • 外観、 機能1、 機能2、 ・・・、 追加機能 決定 • 外観、 機能1、 機能2、 ・・・、 追加機能 制作 • 外観、 機能1、 機能2、 ・・・、 追加機能 検証 i&i : インクリメンタル & イテレーティブ ・途中で思いついたアイデア → 取り込みやすい ・飽きない(飽きるヒマが無いw)。1イテレーション=2週間前後 ・1発で最高のモノが出来上がったりするはずないと分かっている。 2013/1/19 Visual Studio ハッカソン 13
  • 14. ウソです! (w やっぱり最初に、全体の構想を考えます。 キッチリ考えるのは、そのイテレーション に入ってから。 そういういわば「ハイブリッド」なやり方 も i&i と呼んでいます。 ついでに言っておくと、 i & i + 顧客主導 = アジャイル 2013/1/19 Visual Studio ハッカソン 14
  • 15. ソフトウェア開発の特性: 試作コスト=ほぼゼロ、 テストの自動化も容易 ⇒ インクリメンタル&イテレーティブ可能 テストファーストは、コーディングレベル の i&i だと言える。 2013/1/19 Visual Studio ハッカソン 15
  • 16. インクリメンタル&イテレーティブ (i&i) を 意識してみよう 最初に全体の構想と、機能の洗い出し 個々の機能を実装するときに、あらためて キチンと打ち合わせをする。 このときは、ゴールを明確に 当初の予定とは違うことをやりたくなるは ず! それが当たり前 2013/1/19 Visual Studio ハッカソン 16
  • 17. アイデアソンで全体の構想を決める 【デザイナー】 外観、機能を決定する 開発者の意見を参考に… 【開発者】機能の実現可能性を見積もる ※ ハッカソンの時間内に完成できそう? 細かいことは後回し、と言ったけど…。 開発者は、実現可能性の判断に必要なことは聞き出すべし! たとえば「秒針が動く」でも、「ス~っと動く」か「カチ、コチと動く」か でアーキテクチャが変わるぞ!! 2013/1/19 Visual Studio ハッカソン 17
  • 18. ハッカソン開始: 最初のイテレーション計画 【デザイナー】 ・最初に開発してもらう機能を選ぶ ・自分の作業の段取りも考える 【開発者】 ・もしも機能の開発順序に制約があるなら、 説明する ・開発中に画像が必要になるタイミングが あるなら、説明する 2013/1/19 Visual Studio ハッカソン 18
  • 19. イテレーション開始 【デザイナー】このイテレーションで作る 機能を説明する (場合によっては変更する) 【開発者】実装できると確信できるまで、 機能の聞き取りをする。ゴールも明確に。 この最初の打ち合わせの時に、「デザイナーの作業中に、機能に関する質問 をしてもいいかどうか」も、決めてください。OKなら、「だいたい分かった ♪」で作り始めても良いのですが…。デザイナーもプログラマーも、多くは フローを断ち切られるとガックリ生産性が落ちる人種なのです。 2013/1/19 Visual Studio ハッカソン 19
  • 20. どうぞ遠慮なく訊いてください 全体 @biac TDD @irof @datsuns ペアプロ @daiksy C# @moririring @Posaune 2013/1/19 Visual Studio ハッカソン 20
  • 21. 本日のメインディッシュは、コレ♪ 開発プロセスだのTDDだのは、 オマケだからねっ!! 2013/1/19 Visual Studio ハッカソン 21