Seeing is believing

いちエンジニアの日々の興味のあるところ、イベント参加記録、学びの共有を取止めなく※このblogは個人の見解であり所属する組織の見解ではありません

20180907 第2回enPiT-Proスマートエスイーセミナー: アジャイル品質保証と組織変革に参加してきました

20180907 第2回enPiT-Proスマートエスイーセミナー: アジャイル品質保証と組織変革

所感

  • 結構人が多く、熱心に聞き入っていた。
  • XP祭りの前夜祭扱いということで、会場下見もかねて?
  • アジャイルが不確実性への対応ということで品質はケースバイケースしかないと考えていたが、色々な整理の方法があることを知れてよかった。

アジャイル品質保証パターン: Quality Assurance から Agile Quality へ

  • Joseph Yoder(The Refactory, Inc.)
  • @metayoda
  • MVPではなく、MAP(Minimum amwsome product)
  • 課題
    • どうやってスケールするか?
    • セキュリティどうする?
    • テストは??
  • 成長するシステムは、非常に複雑で、多くの依存関係を持つ
  • Big Ball of Mud : スパゲッティコード
    • なぜデファクトスタンダードと、我々が実践すしていることのギャップが大きいのか?
    • なぜ高品質システムを構築したいのに、こうなってしまうのか。。
  • Financial Times でも取り上げれている
  • どうやってリーンでアジャイルであり続けられるのか? 開発の継続がポイント
  • ビジネスのS曲線。成熟してくると開発はなだらかに。
  • システムの品質
    • パフォーマンス
    • セキュリティ
    • スケーラビリティ
    • 可用性
    • 信頼戦
    • 保守性
    • 進化性
    • テスト容易性
    • デプロイ容易性
  • 最後の四つが開発スピードに影響
  • バリューがプラクティスを工藤する(Values Drive Practices)
  • アジャイル・リーン
    • イデアービルドー(コード)ー測定(Measure)-(データ)ー学ぶ(Learn)ーアイデア の繰り返し
  • 設計の価値
    • デザインのシンプルさ
    • 迅速なフィードバック
    • 頻繁なリリース
    • 継続的改善
    • チームワーク・信頼
  • Agile Development Accelerate Delivery(Wikiに図がある)
  • 品質面でアジャイルになる
  • 障壁の解体(打破する)
    • 物理、文化的な障壁、言語、コミュニケーションなど
  • 品質保証チーム(QA)
  • プロダクト、プログラムマネジメント、品質保障、アーキテクトの相互作用
  • 最終責任地点(Last Responsible Moment:最大限遅れさせられる地点)を選択する
  • Responsible Momentを計画する
  • 品質検討するためのロードマップを定める
  • 視認性(可視化)が重要
  • バックログを色付けし、アーキテクチャ作業の可視化と明治を行う
  • CI(継続的インスペクション)でコードの匂いを検出。メトリクス(テストカバレッジ、サイクロマティック複雑度などを)自動で計測
  • 改善するためには余分な時間が必要(Slack Time)
  • 余分な時間を可視化する。
  • ジャーニーである
    • コミットする
    • 徹底的に従う
    • ラクティスを熟慮する
    • 改善する
  • 参考
  • https://qiita.com/kenjihiranabe/items/a0795dbdab4c58e746a1

    OODAと品質保証:アジャイル開発に置ける品質管理のアプローチ

    • WFの品質保証のアプローチをそのままアジャイルに適応できない、という課題からくる
    • OODAループ
    • 戦局を左右するのは、情報量と意思決定のスピードである
      • 相手を観察、状況判断し、意思決定し、行動する
      • 相手も同じことをした場合、早く行動したほうが勝つ
  • ソフトウェア開発モデル:Vモデルにフィードバックを加えたWモデルがある
  • アジャイルの場合は、テストをOODAする。テストと学びを短いサイクルで実施、享受する
  • QAのアジャイルとは?Steleth:ステレス。開発の人からは見えない存在になれ。開発の初めから入り込め
    • ステルスモード:まずは見守る:朝会
      • 朝会の目的:リスクセンサー
  • DevQAとして、品質保証部門の関係も

高生産性と信頼性におけるアジャイル形式工学手法

  • Agile-SOFL
  • アジャイル手法を好きになれるか?
    • プロジェクトが小さい、短い場合はYes。(5000LOC,5ヶ月内の場合は気にせず導入すれば良い)
    • 大きい、クリティカルなシステムはNo。深い理解が必要になるため。バグに繋がってしまう
  • SOFL:仕様を書くことによってユーザーのニーズをはっきりさせる
  • セーフティとセキュリティに関するところはフォーマルに、それ以外はセミフォーマルでよい
  • テストデータの自動生成、テストの自動実行まではできる
  • 結果の分析が時間かかる

ソフトウェア工学の観点から見たアジャイル(