第五回勉強会 ― 改正民法債権法と非機能要求としてのWebパフォーマンス : ATND](https://atnd.org/events/106358) に参加しました。   
以下で動画も公開されています。     
(46) html5j パフォーマンス部 第五回勉強会 ― 改正民法債権法と非機能要求としてのWebパフォーマンス - YouTube
聞いたセッション時にメモを取ったのでそのメモ書きと、個人的に重要だと思ったことを記載します。
セッションを聞いて感じたこと
Saas の定型約款について
Saas ではどのような影響 があるのか? 少なくとも、改正民法債権法の影響は受けると思った。
- 参考
利用規約の作られ方には興味があったが、今回の話でより興味を持った。  
以下の書籍は図書館になるならば、借りて読む。    
【改訂新版】良いウェブサービスを支える「利用規約」の作り方:書籍案内|技術評論社   
ヘルプサイトの作り方:書籍案内|技術評論社    
検査という言葉
今まで、Webシステムのプロダクトとは、Webシステム自体だと思っていたが、プロダクトは、Webシステムから配信される HTML電文と、HTML電文の連鎖が作る UX である認識を持った。  
プロダクトがHTML電文だとすると、Webシステムはプロダクトのパイプラインで、エンジニアの行うテストはパイプラインに対するテスト。プロダクトであるHTML電文の検証はおざなりに、本番環境での出荷後の検査は個人的にはなおざりになっていると思った。     
現状、なおざりになっているのは残念だが、パフォーマンス観点以外も含めた出荷後の検査に、個人的にブルーオーシャンを感じたので今後深掘りしたい。         
代表値を使う Synthetic Monitoring の難しさ
実際にユーザーが使うISPを使って Synthetic Monitoring を行うオープンソースはあるのかというとなさそうで、ある程度コストをかけないと実現が難しそうに思った。 
無料範囲で使えるものだと、真っ当な Synthetic Monitoring を行うのは難しそうに思った。       
RUM だと、Google Analytics にデータを設定することができるので、個人でサイト改善を進める際は、以下 2 点を実施し、当面改善を進めていこうと思う。         
- Google Analytics を使った RUM 計測。
- Webpagetest、sitespeed.io あたりを Linux サーバー上で動かす。
統計的品質管理
統計検定を勉強したおかげで、わからない統計用語は登場しなかった。     
統計知識の重要性を感じたし、まだ資格取得できていないので、強く取得したいと思った。     
改正民法債権法で変わるWebサイトの品質保証
債権法
- 121年ぶりの大改正
- 債権法とは?   
 特定の人に請求できる権利
- 大陸法から英米法に変わった。
- 契約自由の原則 契約の自由 - Wikipedia
- 
英米法の特徴 
 契約内容に対して非常に厳しい。
- 
参考 
定型約款
- 
約款の内容について 
 内容が定型的で、合意するか否かを求める。
- 
法改正で約款の変更が難しくなった。 
- 
企業間でも約款の変更ルールは適用される。 
- 
企業間取引は定型約款ではない。 
- 
企業間取引で約款が出てくるのは、ソフトウェアライセンス規約 や、クラウドサービスの規約など。 
- 
参考 
請負契約
- 
請負契約 
 完成を目的とする。
- 
委任 
 準委任契約もほとんど変わらない。
- 
割合報酬 
 請負で成果物が完成しなくても完成した割合により、報酬をもらえるが定められた。
 中断した場合、一部は請求できるので、割合報酬を巡るトラブルが発生する可能性がある。- トラブルを防ぐために    
 契約で定めておく必要がある。
 
- トラブルを防ぐために    
- 
不適合 
 以前は、納品から1年以内であったが、不適合を発見して通知してから1年以内に変わった。
 このため、成果物の保証期間が伸びる可能性がある。
- 
参考 
委任契約
- 委任契約の義務- 善管注意義務
- 報告義務
- 返還義務
 
再委任
再委任ができるようになった、再委任には以下の条件を満たす必要がある。   
* 受任者が再委任が可能であると契約に定めている。       
成果報酬型委任
成果報酬型の委任もできる。    
割合での報酬も設定可能。      
瑕疵担保責任
改正民法ではなくなった。契約内容不適合責任となった。  
* 追完請求権
* 代金減額請求    
どちらも契約不適合を知ってから1年のうちに請求する。         
クラウドサービスの規約
- 
AWS - 保証の否認
- 責任限定
 
- 
Microsoftクラウド - 保証
- 責任制限
 
- 
GCP - 目標稼働率に対して、50%を超えない範囲で料金の返金がある。
 
- 
富士通 - ソフトウェアの不具合の責任は負わない。
 
- 
参考 
クラウドサービスの規約 は 改正民法債権法 の影響を受けるか?
- 富士通、マイクロソフトは日本法人であるため、改正民法債権法の影響を受ける。
- 保証限定条件、免責条件が無効になる可能性がある。
野村證券 VS 日本IBM
- 
準委任か請負か? - 開発フェーズごとの細かい契約だった。
- IBMはプロダクトの完成に責任を持っていたとは言えない。
 
- 
野村證券の社内事情 - IBM側が野村側の意志決定の遅れ、野村社内での意思統一が図れていないかった点を指摘した。
- 野村證券側に責任があったとは言えない。
 
- 
全ての契約が債務不履行か? - 全ての契約が債務不履行にはならない。
 
業務システム開発失敗における裁判の争点
— やまのく🐙 (@yamanoku) 2019年6月19日
- システムの完成義務を負うか
- 各個別契約の義務は履行されたか
- マネジメント義務を怠ったと言えるか
- 他社への支払いと本件システム開発ができなかったことの間に因果関係があるか
- 責任制限条項契約の存在とその有効性
#html5j_perf
- 
プロジェクトマネジメント義務 - プロジェクトマネジメントはベンダの裁量で行う。
- 責任はない?
 
- 
責任制限条項の有効性 
 経産省のモデル契約にも、類似条項がある。
- 
IBM の追加作業分の報酬発生 - 否定された。追加作業に対する契約はなく、IBM側は自らの事務作業をしていたと判断された。
 
- 
参考 
三菱食品 VS INTECH
ここはメモが取れなかったので、参考文書リンクのみ記載。
- 参考
品質検査としての Webパフォーマンス計測手法
品質検査としてのWebパフォーマンス計測手法 - Speaker Deck
品質保証は信用経済の基礎
- 単価安い、日本だからダメ。
- 信用ベースの経済。
- 品質管理は期待のコントロール。
- 情報の非対称性 > 売り手と買い手間での情報格差
- 市場、なぜ単価が安くなるか?  
 お金を払ってもしょうがない。投資しても意味がない。> 安いものを買う。市場がダメになる。
- 投資への保証がない。保証がなければお金を出さなくなる。
- UX/UI、マーケティング等よりもよりメタな視点で見ると、Web は 情報交換の場。
- パフォーマンスが上がると売上が上がる。
- ICTの品質
- 
5Gへの投資。情報を流通させる。5Gは経済の燃料。 
- 
参考 
経産省、IPA が進める契約モデル。
- 全てのフェーズが請負契約は現実的ではない。
- 
設計 <> システムテストは請負。 
- 
参考 
V & V モデル
- 
Verification (検証) と Validation (妥当性確認) 
- 
参考 
V モデルから W モデル
性能品質
- バラツキが小さい事が品質が良い
- バラツキが大きい事が品質が悪い
- 品質目標に適合しないモノを世に出さない。     
 Webだとこれが難しい。品質目標に適合しないモノを見つけ、将来の結果に繋げる。
Webパフォーマンスあるある
- 計測手法が一致しない。
- 手法を統一する。
- 戦略的国際標準化加速事業     
 積極的にISO化するなどして、標準化を測る。
標準に合わせる重要性
- ものさしで語り合える。
- 相手の測り方に合わせる必要がない。
パフォーマンスの標準化団体
- 
W3C - Navigation Timing v2
- Resource Timing
 
- 
CMG (Computer Mesurement Group) 
- 
ACM SIGMETRICS 
- 
ASTQB 
- 
書籍 
- 
Page Speed Insights は エンジニア向けのツールではない。 
- 
参考 
非機能要求のテスト種別
- 
リソース使用率 
 パフォーマンスではない、CPU100%でもパフォーマンスが遅くなるわけではない。
 割り込み ディスク。コンテキストスイッチの切り替え。CPUを使っていなくても遅延する。
 ディスク スワップが怖い。Sarで見る。
- 
Webパフォーマンス 
 DOM Tree の Parse がどこまで進んでいるかを見る。
 HTML の Parse をとめない。
- 
キャパシティ 
 コントロールするのが1番難しい。Cloud が使用されるのはキャパシティ管理のため
国際規格に基づく品質設計・検査
- 一次利用者 二次利用者 もしくは関節利用者   
 一次利用者 Google Tag Manager等
 二次利用者 エンドユーザー
品質要求プロセス
- 
通産省ガイドラインがある。 
- 
参考 
パフォーマンス計測の目的
- 
遅いものがないことを確認する。 
- 
Chrome Developer Tools は プロファイラ 
 プログラムを最適化するために製造工程で使うもの。
 品質管理に使ってはいけない。
- 
検査はプロファイリングではない。 
 本番運用を始めると、プロファイリング通りにはならない。必ずバラつく。
 本番運用におけるバラツキの管理。
外形監視という言葉は日本製
勝手に言葉を作るな。
品質管理の原則
コントロールできないところはデータを取っても無駄。     
コントロールできないことはできないという。      
何故、RUM ではダメなのか?
- 測定方法は、RUM、Last Mile、Synthetic Monitoring がある。
- RUM は変動要因が多すぎる。
- 現状を知るのには使える。
- 欠損値の存在の有無が確認できない。      - Gabage in、 Gabage out。
 
- Cookieベースの実装が多い。
- 観測者効果。
正確度と精度
- 
正確度 
 その値が真値に近い値であるかを示す尺度。
- 
精度 
 偶然誤差の小ささを指す。
Web パフォーマンスの真値とは ?
- 合成モニタリングだと、真値を確率的に推測できる。
標本の大きさ
- 実パフォーマンスは、複数正規分布の合成された値になる。
- パフォーマンスは %タイルで示す。
- 累積分布関数を書くとわかりやすい。
- 合成メトリクスの測定時は、実際のユーザーがいるISPを使う。
デスクトップサイトの品質検査計測の計画
- 主要導線での計測を行う。
- 計測は、Synthetic Monitoring で行う。
- 計測期間は最適1月計測する。   
 1月計測すると、日次パターン、週次パターンの取得ができる。- 日次パターン
- 週次パターン
- 月次パターン
- 年次パターン
 
高い品質を証明して、信用を高める。
Oracle Cloudにおけるパフォーマンスと品質への取り組み
- 
ベアメタルか VMware か選択できる。 
- 
ネットワークがめちゃめちゃ安定している。 
 フラットネットワークというネットワーク構成にした。
- 
セキュリティ 
 OS が乗っ取られても、ネットワークにはアクセスできないようにしたので、セキュリティが堅牢。
- 
24時間360日対応の標準サポートがつく。レベル1のインシデントには、1時間以内で対応。 
- 
GraalVM サポート。 
以上です。
コメント