fc2ブログ

makopi23のブログ

makopi23が日々の生活で感じたことを気ままに綴るブログです。

アジャイルサムライ横浜道場 特別編 「システム設計の謎(ひみつ) ~ べ、別にあんたのために設計してるんじゃないんだからね/// ~」 に参加しました

2013/5/28(火) 横浜道場 特別編 「システム設計の謎(ひみつ) ~ べ、別にあんたのために設計してるんじゃないんだからね/// ~」 に参加してきました。

DoorKeeper
http://yokohama-dojo.doorkeeper.jp/events/3959

以下の書籍をターゲットとした読書会なのです。
アジャイルサムライ−達人開発者への道−アジャイルサムライ−達人開発者への道−
(2011/07/16)
Jonathan Rasmusson

商品詳細を見る


場所はいつもの横浜、アットウェアさんです。
参加者は30名、定員MAXだったようで、かなりの盛況!
今回は特別編ということで、スタッフの @terahide27 氏が講師となり、「設計」をテーマにワークショップをやりました。


■導入&ワークショップ
by @terahide27 氏
システム設計の謎 ~べ、別にあんたのために設計してるんじゃないんだからね///~ from terahide


ちなみに表紙の絵は @s_kic 氏が書いてくださったとのコト。
参加者が協力して創りあげた、という過程が素晴らしいですねー。

しかし、ツンデレなタイトルである。

以下、個人メモ。

■@terahide27 氏の自己紹介:「深夜アニメのカバレッジが90%」 (P.7)

・むむ、今期は豊作だと聞いているが、90%はスゲーな。。。
・ちなみに@makopi23、先週、映画館へ行ってきました。助手が可愛すぎて生きるのが辛い。


・あと「宇宙兄弟」もずっと見てて、よく泣かされてます。エンジニア向けのアニメだと思うんだ。

■「折鶴」の設計書を書け、とのお題(P.11)を参加者全員でやってみるワークショップ

・やべー、設計書を書くどころか、折鶴の作り方ぜんぜん覚えてなかった。
 → @makopi23、折鶴は諦め、紙ヒコーキにチェンジ。実際に折り紙で作ってみてから、設計書を書いてみる。
・いざ折り紙の設計書を書く段階になって、あれ?何をどう書けばいいんだ?と悩みこむ。
・自分が作れないものは設計書も書けない、という事実を再認識した。

■どうだった?(P.12)
・@terahide27 氏曰く、
 ①「How(どう作るか)に注力しすぎ。What(何を作るか)をもっと考える必要がある。
 ②いきなりゴールが決まっているものを書かせると、whatを書かずにhowを書いちゃう

■設計ってなに?(P.13)
・自分が思っているる設計と、回りが思っている設計は違う
・ウチの班のディスカッションでは「最初に完成図を書くべき」という意見が出た。

■設計の定義(P.22)
・設計は「どんなものを作るかを考える作業」とここでは定義する。

■共通の枠組みがあったほうが話がしやすい

・工程
・構成要素
・粒度
・アーキテクチャ

■みんな詳しすぎるので視野が狭くなる。

→ 抽象化が大事

■「共通の性質」の例

・P.46は「ツンデレ」という共通の性質がある
・抽象化すると「嫁」になる。(・・・!?)

■共通の枠組みがあったほうが話しやすい


■ドキュメントの役割

①忘れない
  記録として残しておく

②分かりやすい
  ソース読むより図とか表とかのほうが全体像を掴みやすい

③時空を超える
  時間を超える

■相手に合わせたものであることが大事

■設計書を書くのが「設計」作業ではない


■「Coolな折り紙」をチームで作るワークショップ
P.70のスライドのあたり。
制限時間内で、チーム毎にクールな折り紙を作ることになった。

■要件
・複雑
・モチーフが現実のもの
・目新しい
・曲線が混じっている

あと、他のチームが再現できるよう、設計書も作らねばならない。

■ウチのチームで作ったもの

お花!
20130528_yokohamadojo3.jpg

・・・やべぇ、カッコ良すぎる orz

■工夫したこと
①設計書として、作っているところをiPadで動画撮影した。
②雛形を用意した。(途中まで折っておき、ポイントとなる折り目や切れ目にマジックで指示を入れておいた)

おかげで、他のチームに折り紙を再現してもらった際の完成度は高かった!

■反省点
・他のチームの人に再現してもらう際に、完成済みの折り紙を最初に見せなかったのがダメだった。
 (全体像を知ってもらうために、最初に完成物を見せるべき)

■他のチームから出た、ワークショップの感想
・折り紙で「蛙」を表現しようと思った。
 → 情報を言語化できないから蛙を表現できなかった(設計書を書けなかった)

・「飴」を折り紙で表現しようとしたが、全員が「飴」に対し暗黙の共通認識があった。
 → そのおかげで、折り紙で作ることができた

・折り紙で「くらげ」を作ることにしたが、職人技が必要だった・・・orz
 → 作った職人さん本人が他のチームの折り紙を作る役として出て行ってしまったので、
   よそのチームから来た人に作り方を示そうにも、誰も再現できなかった

・折り紙で「半分に折る」といったような「パターン」が無かった。
 → パターンが無いと、同じものはできないな、と思った。


■まとめ

■アジャイルサムライの13章「リファクタリング」で、「大変なのはきれいな設計を保ち続けること」と言っている。

■まとめ
・段取り重要
・考えること重要
・伝えること重要
・効率よくしたいね
・記録を残そう

ちなみにウチのチームの机と模造紙はこんなカンジ。
20130528_yokohamadojo2.jpg


■ビアバッシュでのワンシーン

「ツンデレ」スライド(P.46)の周りに参加者が集まり、品評会をするワンシーン。
みなさま、お気に入りのツンデレキャラについて熱く語るッ!
20130528_yokohamadojo5.jpg

ちなみに私、この中からだと、右上から2番目の助手が良いでございます。STEINS;GATEは神ゲー。



■参考図書
今回の特別編の参考書です。
システム設計の謎を解く  強いSEになるための、機能設計/入出力設計の極意システム設計の謎を解く 強いSEになるための、機能設計/入出力設計の極意
(2013/05/24)
高安 厚思

商品詳細を見る


出版元であるソフトバンククリエイティブさんからも、この日の特別編に1名参加されていました。
んで、この書籍について裏話とかいろいろ紹介してくださいました。
あと、参加者へ数冊のプレゼントも!ありがとうございます~

まだ新しい書籍ですが、かなり人気は高いそうです。
エンジニアにとって避けて通ることのできない「設計」、改めて学ぶには良い書籍だと思います。
6-2節にはアジャイルの話もあるとのこと。
あと、@terahide27 氏がレビュアーとして、書籍の中にも名前があるそうです。(ココ、重要らしい!)


★感想:
ワークショップで折り紙を作り、その設計書を書く、ということをやったわけなんですが、やっぱ自分が作れないと設計書なんて書けないことを実感。
ソフトウェア開発の世界では、コーディングの経験がないようなSEが書いた設計書を元に実装する、なーんてことが往々にしてあるわけなんですが、上手くいくはずがない。
あと、プログラミング能力が高いからといって、素晴らしい全体アーキテクチャを設計できるかといったら、そうとは限らないわけでもある。

そんな私も、良い設計ができるよう日々修行しているわけであるが、いろいろ考えさせられる1日になりました。

最後に講師の @terahide27 さんはじめ、参加者のみなさんありがとうございました。

-->