agile japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7....

15
Copyright © 2018 Mamezou Co.Ltd. All rights reserved. コードなくして設計なし 設計なくしてアジャイルなし 2018年7月19日 13:00~14:30 担当実行委員:中佐藤 麻記子 【Agile Japan 2018 技術系セッション】

Upload: others

Post on 13-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved.

コードなくして設計なし 設計なくしてアジャイルなし

2018年7月19日 13:00~14:30

担当実行委員:中佐藤 麻記子

【Agile Japan 2018 技術系セッション】

Page 2: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved. 2

PCを持参されていない方は、持っている方と隣同士になってください

1. 席の確定

Page 3: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved. 3

アジェンダの確認

タイムテーブル概要

2. 概要説明

Page 4: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved.

セッション概要

4

"包括的なドキュメントより動くソフトウェアを“ これがアジャイルマニフェストの一節であることは、みなさん ご存知でしょう。アジャイルが世の中に喧伝され始めた頃には、この一節から 「設計しないでとにかくコードを書き始めるのが アジャイル」 という誤解がまかり通ったこともありました。 今でも特にオープン系で実装経験がない方を中心に、 アジャイルにおける設計の位置付けにモヤモヤ感をお持ちの方もいらっしゃるようです。 本セッションでは、実装を通じて、アジャイルにおける設計に ついて、皆さんと考えてみたいと思います。

Page 5: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved.

注意点

5

本セッションのタイトルを見て「当然だろ」と思う方は、 本セッション対象外です。他のセッションをお楽しみください。

セッション中に参加者の皆さんにコードを書いていただき ます。ご自分の書ける言語の環境・ツールをPCに入れてご持参ください。

ネットワーク環境(wifi等)、電源の準備は会場にありません。事前にご了承の上、ご参加ください。

ペアもしくはグループでディスカッションを行います。差支えない範囲で名刺をご持参ください。

Page 6: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved.

タイムテーブル

6

1. 席の確定(5分)

2. 概要説明(10分)

3. チーム内自己紹介(10分)

4. 第1イテレーション(15分)

5. 第2イテレーション(15分)

6. 第3イテレーション(15分)

7. クロージング(10分)

8. 予備(10分)

Page 7: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved. 7

自己紹介

各チームで自己紹介と一緒に、このセッションに参加 しようと思った動機を話してください

よい設計とは

一通りの自己紹介が終わったら、「よい設計とは何か」を、チームで話してください

3. チーム内自己紹介(10分)

Page 8: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved. 8

実装(1分)

Hello World

ディスカッション(14分)

将来の変更を見越して、どんな変更可能性があるか考えてみる

例えば: ・ 表示する文字を変える可能性はないか(Hello と World 別々に) ・ Hello の部分を時刻によって変える可能性はないか ・ 標準出力以外に表示する可能性はないか ・ 多言語対応の可能性はないか

チームで設計を考える

4. 第一イテレーション(15分)

当日参加者だけのひ・み・つ

Page 9: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved. 9

実装(15分)

第1イテレーションで考えた設計をできるだけ実装する

5. 第二イテレーション(15分)

当日参加者だけのひ・み・つ

Page 10: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved. 10

ディスカッション(3分)

実装(12分)

要求があった変更

6. 第三イテレーション(15分)

「入力された文字列をバラバラにして、ランダムに表示し、正しく並べ替えるゲームにしたい」 当日参加者だけのひ・み・つ

Page 11: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved.

みなさんに質問

11

第二イテレーションの設計の痕跡は残っていますか?(コメント含む)

Page 12: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved. 12

「もったいない」 と想う気持ちの危険

逆にコードを分かりにくくする

コードをシンプルにする勇気はあるか

顧客からのフィードバックにより、自分の設計を壊す勇気があるか

構成管理ツールの意義

つくり続ける覚悟はあるか

Design(名詞) よりも Design(動詞) が重要

Estimate(見積結果) よりも Estimating(見積行為) が重要

Plan(作成された計画) よりも Planning(計画づくり) が重要

7. クロージング

Page 13: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved.

よい設計とは

13

“もうかる” 設計

ビジネスに即した設計とは、変更容易性の高い設計であり、それはあらゆる変更を見越した設計ではない。

XPのプラクティスである 「シンプル設計」 に立ち返ろう。

Page 14: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved.

設計の実体はどこにある?

14

設計 ≒ コード

設計図や設計書は、コードの 「モデル」 であって、設計そのものではない。

キレイな図や文書を書かないとしても、「設計する」

ことは必要。

Page 15: Agile Japan - コードなくして設計なし 設計なくしてアジャイルなし · 2018. 7. 31. · 本セッションのタイトルを見て「当然だろ」と思う方は、

Copyright © 2018 Mamezou Co.Ltd. All rights reserved. 15

言葉だけでは伝わらないが、言葉なくしては伝わらない。 すべてはコミュニケーションのため。