-
-
スピーカー 1
難しいですよね、なんかエンドユーザーもないし、コタクの目線でアプリケーションにちゃんと触れるみたいなものを経験させるのが一番なんですかね、
生の体験に近いというか、いいんだろうなーっていう気はしつつ、それもまたどこまでやるのかとか。
スピーカー 2
おだしょー 開発者はユーザーではないですからね、究極的には。
そうですね。
おだしょー なので、そもそも問題を抱えてない人が問題意識を持って頑張って触ってみるって結構難しさはありますからね。
スピーカー 1
そうですね、確かに。
スピーカー 2
おだしょー 自分がユーザーになるようなサービスだったらまだやりやすいんですけど。
スピーカー 1
そうだよな。
スピーカー 2
おだしょー そうなんですよ。2Cと2Bでは全然違ったりとかね。
スピーカー 1
そうですね。2Bではまだ、結構スモールビジネスのための2Bとか、一般的な組織運営のために必要なものだったらまだいいんですけど。
なんかわかんないですけど、工場を建築するのをサポートするSaaSとかってなると、
じゃあユーザー目線、インストールするために好きな工場1個作ってきてくださいとか。
おだしょー なんだそれ、シブシティかみたいな。
スピーカー 2
そうなんですよね。それ系でいくと、フリーとかは透明書店っていう書店を立ち上げて、そこで実際いろいろ使って見えてくるものとかみたいなことやってて、
なんかああいうのとかちょっとすごいなーって思ったりしますね。
結局的にはやっぱりユーザーになるのは結構難しかったりするから、多くのサービスは。
スピーカー 1
おだしょー 本気でやらないとわかんないですからね。
スピーカー 2
そう、でもその中でこれはちゃんと使えるサービスだよねっていうことを担保しながらテストしたりしないといけないって大変ですね。
スピーカー 1
おだしょー ああ、そうだな。それで言うとアクセス解析ツール作ってるときは楽しかったな。
だから自分のサービスにログ仕込んでたんで。
スピーカー 2
いいですね。
スピーカー 1
おだしょー アクセス解析ツールの解析はアクセス解析ツールでできたんで。
絶対このページに来た人って実際にその前に2ステップぐらいかけてここから来てるじゃん。
じゃあ直で飛べるようにすりゃええやんみたいな話とかが出やすかったんで。
スピーカー 2
おだしょー いいですね。それ楽しいですね。
スピーカー 1
めっちゃ楽しかったですね。
スピーカー 2
おだしょー なのでテストしましたって言ってOKに丸がいっぱいついてるから大丈夫ってよりは本当にこのシステムはうまくいってんだっけとか
不具合がないけど使い物になるんだっけみたいなところまで考えると良さそうだなっていう気はしたなっていう感じでした。
スピーカー 1
あとあれかな似たような似てないような話で言うと同じ意味付けの章なんですけど
140ページの不正確の方が良い場合もあるっていうのがちょっとこれは非常にあるよねって思いながら読んでて
例えば我々は専門職としてやってるので職種の人とか違う会社の人に俺たちが本気で正確な説明をしても伝わらんじゃないですか。
スピーカー 2
ありますね。
スピーカー 1
おだしょー ここの機能の動きが変ですよって言われて確かに不具合がありました修正しました。
そうなんですね、どういう問題があったんですかって言われたときに
このデザインパターンをここで使っててこれそうするとメモリがどう残ろうでみたいな話をしても
そもそも社外の人にそういう話をするのだいぶ際どいなと思いつつ
社内の別の職種とか別の部署の人とか話してもわからんし
なんか性格っていうよりかは少し性格性は核が伝わるような表現っていうのがあるよねとか
本当に欲しい知りたいところとか相手にとって価値のある切り口ってなんだろうなみたいなところを踏まえて
なんか説明していくの大事だよねっていう気がするし
そうすると相手の質問がつまり何を意味してるんだろうかっていうのを読み取った上で
スピーカー 2
そこに照準を合わせてボールを返さないといけないよねっていう話ですかねここは
そうですね、今目の前にマックのキーボードを見て
キーにリターンって書いてあってそうだこれエンターキーじゃないなって思うけど
エンターキーで通じるとかことをちょっと思ったりしましたね
スピーカー 1
確かに
スピーカー 2
それって性格じゃないけどリターンキーを押してくださいってわざと言わないよなとか
エンターでもエンターでもなくないですか
これエンターキーマックだとリターンって書いてあるけど
Windowsだとエンターとかって書いてあるような気がする
スピーカー 1
エンターなんですエンターっていう単語なんて意味だっけとなんか入るわけじゃないじゃないですか
スピーカー 2
そうですねそうですね
入力するって意味があるのか
なるほど
スピーカー 1
確定キーですもんねだいたい
スピーカー 2
そうですね
スピーカー 1
なるほどねなるほど
でもコンピューターの用語なんて冷めいたものばっかりですからね
スピーカー 2
そうそうそう
オープンって何ですかアロケートでしたかみたいな
スピーカー 1
あとあれだなここの説で面白かったのがなんか
例えば間違いや過失といった言葉から非難めいた意味や切り合いを話せない人間に理解してもらいたいときは
ここまではすごいまあそうだねわかるねって感じなんですけどその続きが
バグや問題といった厳密でない言葉を使うと良いって書いてあって
これはちょっと皮肉って面白いなって思いました
まあそうそうなんですよねバグとか問題は全然厳密じゃないので
スピーカー 2
ワインバグっぽさがすごい溢れ出てるところですね
スピーカー 1
そうですねはい
忌み付け僕はそこですかね印象のこったの
スピーカー 2
うんうん
スピーカー 1
情報伝達のプロセスの一連のまあ11から14章で他なんかありますか
スピーカー 2
そうですね
忌み付けのところであれですね金銭の話がお金の話をしていて
それはなんか結構なんか面白いっていうかそういう考え方してこなかったなみたいなことがあったんですけど
スピーカー 1
48ページあたりか
スピーカー 2
そうですねどういうぶんめきかっていうと
まあ重意義まあ重要度みたいなところで
まあ情報は同じでも人によって重要度は異なるよみたいなのとか
意義ってのは状況によって異なるよみたいなところで
あとじゃあその意義みたいなものって金銭的に測れるんですかとか
例えばこの不具合を解消するといくらいくらいくらですよみたいな話とか
これができなかったらどういうような賠償があるんですかみたいなこととか
まあいろいろ出てくるんですけど
人間はそうですね
まあでもじゃあ命ってものを兼ね勘定できるのかみたいなような話があって
ゴールデンゲートブリッジの橋の建設をした時には
11人の人命が失われましたよみたいなことがあって
11人も人が亡くなったっていうことでもあるんだけど
今までは橋を作るのに100万ドルに月1人
100万ドルに月1人ぐらい人が亡くなるっていうような統計的なデータがあったんだけど
35人亡くなるっていうふうに予想されていたのが11人だったから
まあこれはすごいこと新記録なんだみたいなことが書いてあって
じゃあその100万ドルに月1人人が亡くなるっていうことを
じゃあ金勘定で考えたら人が死ぬのは良くないんだからって言って
じゃあ橋を建設するのをやめようっていうふうにもならないし
なんかこの辺とかっていうのはソフトウェアでクリティカルなものを作っているわけじゃないので
普段地味に関わるソフトウェアももちろんあるんだけど
自分が今までやってきたものとかはそういうものがなかったんで
スピーカー 1
人の命みたいなものが出てきた時に息づけを考えるってすごい難しいなって思いましたね
そうですね人命だと重すぎるなっていうのはあるんですよ
サービスのコンセプトを支えるために重要な機能とかやっちゃいけないラインみたいな話とかも多分ありますよね
一見無駄だし合理的でないけどこれこそうちの魂なんだみたいな話とか
人命の話で重いって言った後に魂とか言うと紛らわしいですね
重要な意義を持つけど別にそこが利益を直接的に生んでるわけではないとかはありそうな気がするな
スピーカー 2
そうですねセキュリティとかってまさにそれに近いですよね
スピーカー 1
セキュリティはそうですね
スピーカー 2
ランサムウェアでシステムが全部使えなくなって流通が止まりましたみたいな話してこの1,2年とても効くような気がしていて
スピーカー 1
数時間前の聞いた気がするんだよね
スピーカー 1
入り込むバグの数減らせるならやってるがって感じではない
スピーカー 2
そうなんですよね
これはあれですかね
スピーカー 1
バグ早めに見つけるといいよねみたいな
一匹のバグが他のバグを連れてきたりするので
だから終盤でテストフェーズえいやってやるっていうよりかは
なるべくどんどんどんどん早めに細かくやっていこうが
入り込むバグが少なくなるよねとか
スピーカー 2
そうですね
スピーカー 1
って話ですね
ここらへんはシステム指向法でよく触れてるやつだな
っていうようなそうですけど
源さん的にはどのあたりがお好きでしたか
スピーカー 2
やっぱこのシステムはできるだけ小さく抑えるっていう話が好きで
好きなんですけど
例みたいなのがタイトルのちょっと上の方に出てて
化学の会社がすごいでかいプラントを作ったんだけど
それを作ろうとすると
いろいろ考えることがどんどん増えていって
難しいので建設を中止してより小規模なプラント建設へ目を向けて
またそれを複数作るみたいな感じにするんだろうなみたいな感じなんですけど
スピーカー 1
マイクロソフトミスだ
スピーカー 2
そう
結局大きいものを作るっていうことの難しさと
小さいものを同じように複数作るみたいな
ちょっとそこまで複数作るっていうところまでは書いてないんだけど
そういうようなことっていうふうにした方が複雑さを減らしたりとか
見積もりの当たる可能性を高めたりするようなっていうのが
なんかここでも言われてるし
最近でも同じようなこと言われてるよなっていう気がして
なんかやっぱりこの辺の考え方って変わってなくて
だからソフトウェアテストを難しくしないためには
ソフトウェアをそもそも単純にするっていうことのほうが
やっぱ大事だよねっていうのを思ったりしましたね
スピーカー 1
なんかここの辺りの話を読んでて
なるほどな確かにって思ったのは
システムがちっちゃくなってるってことは予定もまた小さくなってるし
スピーカー 2
単純化されてるんですよね範囲がちっちゃくなってるんで
スピーカー 1
要求が少なくなるシンプルになる狭くなるってことは
ソフトウェア側に求められる複雑さっていうのも減ってそうだなみたいな
なんかこれはちょっとなるほどなっていうふうに思いましたね
そうですね
やっぱりチームの力で組織を動かすとか読んでても
バリューストリーム少ないほうが
チームをうまく回すって意味では勝てそうだなっていう気がするじゃないですか
偉大化して1個のチームに対して刺さってるバリューストリームが
2個とか5個とか10個とかになっていると
スピーカー 2
非常に変更が難しいってなりそうだなっていうのは容易に想像できるので
あと172ページもたぶん1つのバリューストリームに
3チーム4チームもできてしまう容易にっぽいものが書いてあって
ソフトウェアで何でもできるかといって
ソフトウェアでしかも全て同じシステムで何でもしなくてはならないということにはならないっていう話があって
これすごい好きで
欲しいって言われたものを全部実装するぞみたいなことをやると
いやソフトウェアで実現できるでしょみたいなこと言われて
じゃあ作りますねっていっていっぱい作ってこんがらがったものが出来上がって
あのお客さんの時はこうでこっちのお客さんの時はこうでみたいなイフ分を増やし
どんどん掛け算的に複雑度を上げていくみたいなことって
たぶんよくある話っていう感じがしていて
でも一方で作りにしても同じシステムにする必要があるのかどうかとか
いや何でもできるようにしてとかってよく言われるけども
何でもできるからといって何でもそれを作らないといけないってことは
まあやっぱないよねっていうことを改めて思ったりしましたね
スピーカー 1
7割まで自動化してシステム化してあと3割は手で頑張りますとかはね全然ありだと思うので
スピーカー 1
って書いてそういうような話がまさにこのように書かれてるんですけど
スピーカー 2
そうですね
スピーカー 1
エッジケース難しいですもんね
スピーカー 2
そうなんですよね結局だからといっていろんなものを作りませんってやると
誰にとっても価値のないソフトウェアができなくてこれ誰が使うのみたいな感じになったりもして
そこの落としどころみたいなのっていうのを
だからこそパルソナを決めましょうとかちゃんと運用しましょうとか
まずはN1インタビューでN1のユーザーをハッピーにさせるようなベースとなるようなものを作って
そこを拡張していきましょうとか
ユーザーストーリーみたいなものを考えて
みんなが共通するようなユーザーストーリーの部分をまずは作っていきましょうとか
いうような多分手法みたいなものとか考え方みたいなのは多分いっぱい現代ではあると思うんですけど
でもどこが一番顧客が一番取れるケースなのかとかっていうのは
わかんないですからね最初作ってるタイミングでは
スピーカー 1
わかんないっすねリリースしてもわかんないですからね
スピーカー 2
そうですね
頑張り続けるしかないみたいな
だからこそ逆に言うとすべてを作りきってから出すとか
何でもできるようにしてから出すんじゃなくて
まずはこれしかできないけどっていう状態で
ある程度は諦めをしてリリースする必要もあるんだよなみたいな
画面に文字が入力できるようになりました
保存はできませんだとちょっと足りなさすぎだろうとかあるんで
全部作らないっていうのはそういうことではないんだけど
スピーカー 1
今時誰でもスマホ持ってますよねカメラついてますよね
それで保存はできるじゃないですか
スピーカー 2
そうなんだよな
スピーカー 1
セキュリティ的にだいぶ怪しいな
スピーカー 2
スクリーンショットで見たい
スピーカー 1
でも印刷関係の機能はブラウザのプリントに任せるとかはあり得ますもんね
スピーカー 2
あり得ますね
スピーカー 1
CSSだけプリント用に当てておいて
スピーカー 2
もう大変ですからね
スピーカー 1
大変ですからね
PDFを自前で生成するの後回しにできるじゃないですか
スピーカー 2
本当にそれありがたいんだよな
みんな長評のズレをどうやって頑張るのかみたいな
一大知見が溜まってそうな話がいろんなところに転がってそうって感じがありますからね
スピーカー 1
そうですね
やっぱり住所のパースと長文を作成は
スピーカー 2
みんながみんなあちこちで実装したものだ
スピーカー 1
15章そんなとこですかね
スピーカー 2
そうですね
スピーカー 1
16、17、18あたりはなんかあればまとめていきますか
スピーカー 2
どれも面白い面白かったんだけどなと思いながら
どう話そうかなと思ってるまんま線を張らずに過ぎてったな
スピーカー 1
なんかクライマックスが来そうだぞみたいな気がして
そこで付箋を張ろうと思ってたら意外とそのままスルスルといっちゃうみたいな
これでもそうか16章とか見るとなんかレビューの話に入ってて
この辺はあれですね我々が読んでいない技術レビューハンドブックの書いた人としての知見が埋め込まれてるんだろうな
スピーカー 2
そうですね
スピーカー 1
章のテスト詐欺でもまたデモは詐欺であるとデモンストレーションですねは詐欺であるとか書かれてますね
スピーカー 2
そうですね
でも詐欺をして上手に契約を取ってきて後で頑張って作るっていうのは世の中にあったりしますねそういえば
AIがやってますって言って裏で頑張って逃げがやってるみたいなやつ
スピーカー 1
それは別にいいんですけどね内部実装は別にみたい
17章がテスト詐欺で18章最終章が無意識の詐欺なのか
スピーカー 2
18章に分厚いテスト計画書みたいなものがあってこういうのやってるからうちは大丈夫ですよみたいな
信頼してくださいみたいな話があったりするけど
でもその中身が数量があればいいっていうことと中身が価値があるかどうかっていうのは間違いはねみたいな話とかあって
それはそうだよねみたいな
スピーカー 1
207ページに何も変わっていません詐欺っていうのがありません
スピーカー 2
そうそう
スピーカー 1
さっきの
スピーカー 2
さっきの話はこう読んでるときにこうぐさっとくるやつですね
よくあるのはそこの実装変えた結果全体のシナリオで見たときにはこっちにも不正が起きるよねみたいなのがあったときとか
そうかここだけ直せばいいと思ってたんだよなみたいな
スピーカー 1
ありますね
スピーカー 2
APIのレベルで見たら問題ないんだけどシナリオユーザーが操作するシナリオで見たら問題がありましたみたいな
なぜテストしなかったんですかって言われたときに
スピーカー 1
必要ないと思ったいやーとしか言えないやつ
スピーカー 2
でも必要あったでしょ
スピーカー 1
必要あったでしょ
スピーカー 2
でもそんな発見的やんみたいなとかねロジカルに導出できるんかいみたいな気持ちになるんだよな
スピーカー 1
でも最後の方はなんかここを超突っ込みたいぜっていうのはあんまりって感じですかね
スピーカー 2
そうですね最後の方に言葉が強いなゴミはスプレッドシートに並べてゴミである
スピーカー 1
そうですね
まとめもいいですよね一条だけ書いてあって
18章のまとめが全てがうまくいってほしいと強く願っているときはデータに幻想が入り込みやすい
スピーカー 2
いやーわかる
スピーカー 1
そうそうそうですね
スピーカー 2
なんかリリース前とかそうなんだよな
スピーカー 1
そうですね
スピーカー 2
これでうまくいったらもう大丈夫って言いながらうまくいかねえんだよなそういうとき
スピーカー 1
なんかやだな辛い話になってきた
まあでもそんなところですか必殺
スピーカー 2
そうですね
いやー面白い面白いワインバーグやっぱり
スピーカー 1
面白いなこれいつもだと冒頭に聞いているような質問ですけど
なんかどんな人におすすめですかね
スピーカー 2
開発者じゃないけどソフトウェア開発に携わっている人
そのpディレクターとかpdmとか何ですかね
なんかソフトウェアの開発ってものがどういうものかを知りたいなと思った人に
こう何冊かある本のうちの1冊としてっていう感じかな
いきなり初手でこれを読んでくれたらもちろんないんだけども
なんかプロジェクトマネジメントとか
スピーカー 1
確かにpm pj向けの人はそうかも
スピーカー 2
ってなった時にテストってテスト技法のことを勉強ももちろんしてほしいけど
それだけを知っていればうまくいかかってたらそうではないと思うんで
それだとちょっと入り口のハードルが高いなって感じた時に
なんでいつもプロジェクトマネジメントしてる時にテストで問題が起きて遅延するんだろうとか
って思った時の1冊として読んでみるともしかしたらちょっと違う視点として
こういう感じの本ってあんまないと思うんで
ちょっと違った視点で見るためにいいのかなみたいな気はしましたね
スピーカー 1
僕はやっぱり自動化テスト的なユニットテストとか
いわゆるCIで回すようなテストをどうしても想起しながら読んでたなっていう気はしてるんですけど
なんか開発者でユニットテストはAPIとか文法とかある程度理解して
一人で書けるようになりましたぐらいの人が読んでみると
なんでテストやるんだっけとか
テストによってどんな価値を提供できればいいんだっけっていうところに
すごいたくさんのヒントになりそうな本だなっていう風な気がしたので
そういう人たちに読んでみてもらいたいかもなって思ってるんですけど
もうちょいコンパクトだと進めやすいなっていう気がしますね
ワインバーグの本の面白さではすごいあるんですけど
脱線とか余談とか例え話が非常に多いので
読み物としての面白さはそれでふんだんに盛り込まれてるような
プラスされてるような気もしつつ
明確にピンポイントにここらへんが知りたいっていう人には
少しまどろっこしく感じるかもしれないし
ワインバーグさんの本だって言って肩肘張って読むと
なんか真面目に読みすぎる気がしちゃうなっていう気もしてて
結構ねあーはいはい的な態度で
軽く読んでもいいところも結構多いと思うんですよね
っていうのもあるのでそういう意味でもうちょいコンパクトだと
僕が思って刺さって欲しい人に進めやすいかなと思ったんですけど
遠い200ページだし文章自体は非常に読みやすいので
読めばよかろうとは思うんですけど
スピーカー 2
そうですねそうですね
でも今聞きながら確かにこう
昨今こうなんか自動化テストなんかブームだなと思ってて
AIの力によって今までコード書かなかった人も
E2Eテストが書けるんやみたいな話って結構見るように見かけるようになったなとか
プレイライトのMCPとかプレイライトのエージェントみたいな話が出てきて
E2Eってすごく便利は便利だし
ユーザーが実際行動することを模倣してテストできるっていう意味では
すごくありがたいんだけどめちゃくちゃ時間かかるし
そこをどんどん増やしていくと
CIの時間が伸びましたねみたいな話になったりするし
何でもかんでもチェックできるからといって
何でもかんでもチェックすべきではもちろんないんだよなっていうのはあるので
結局そのE2Eでどういう価値を手に入れたいのかとか
この本的にはどういうような情報を仕入れたいと思ってるのか
っていうことを考えるためにこの本を読むと
E2Eでどういう情報を手に入れるようにしたいんだろう
ってことを考えながらテストを書いてくれるようになると
多分どんどん増えていってCIの時間が長くなっちゃったものを
解消することができるようになるのかなっていうのは
ちょっと話を聞きながら思ってます