告知ページ
特別セミナー「アジャイル品質とソフトウェアパターン」 2月22日 | Reliable Software Engineering, Washizaki Laboratory
講演1:アジャイル開発へのソフトウェア工学的アプローチ:イテレーション期間と学習ワークショップ
スライド
www.slideshare.net
経緯
- 水曜日に台湾でソフトウェアパターンの国際会議が開かれる
- 今週台湾に来るんだったら、日本にもお越しいただいてセミナーを開こう!(2週間前)
- 非常にHotな品質とアジャイル開発について学んでいく
はじめに
- アジャイル開発に関連する領域について取り組んでいるので、それについて紹介する
動機付け
- アジャイルは科学不足
- 他のプロセスに比べて
- Cynefinフレームワークより
- 横軸…解放が既知かどうか
- 縦軸…問題が複雑か単純か
- 第1象限…グッドプラクティス
- アジャイルのよくある導入場所
- 第2象限…突発・創発(Emergent)
- 一番厄介
- アジャイルの本来の場所
- 第3象限…新規(の研究)
第4象限…ベストプラクティス
- アジャイルのよくある導入場所
本来扱うべきところと実際に扱う場所が異なっているのではないか
- プラクティスなものに対して科学的裏付けをして、境界条件や本来のアジャイル開発の場所に持っていくプラクティスを探ってみるべき
まだそこまで出来ていないので、地道に行っていく
科学的に出来ないのか
- イテレーション期間を長く取るべきか短く取るべきか
- ワークショップが有用なのか
イテレーション期間について必要ない部分をバッサリ切ってモデル化する
- 机上の(計算機上の)シミュレーションを行ってきた結果
- 要求の不確実性大→イテレーション期間を短めに
- 要求間の依存関係複雑さ→イテレーション期間を眺めに
講演2:ソフトウェア信頼性予測のプロジェクト進行中の動的な活用
ソフトウェア信頼性モデルとアクションを結びつける
欠陥と信頼性
- 欠陥数の予測について
- 信頼性に対して、欠陥を十分に発見できたかどうかを評価する基準
- 欠陥数を予測し、取り除くべき欠陥数を定める
- ソフトウェア信頼性モデル
- どれだけテストを行えばよいか、リリース時期を測ったりする
発見した欠陥を累積として日毎、週ごとに測定
開発における問題
- 欠陥を十分に発見できているか
予測される欠陥数に対して今どれだけ欠陥を見つけたか
リリースに間に合うか判断できない
- 開発のスコープ決定を支援
- テスト工数、計画の支援
CIツールとリポジトリシステムを用いた欠陥数予測
- Jenkinsを用いて自動的に欠陥数を取得する
- R言語を用いて欠陥数を予測する
リリース時期の分析
予期せぬ状況の発見
動機付け
- ソフトウェア信頼性モデルが不一致になる場所がある
- なぜそのようなことが起きるのか?
- 期待を超える時期が発生する
欠陥をテストフェーズで分類
- 継続的に問題が発生
- いくつかの問題が再発生したので、開発者がテストを止めて他のテストを再開させた
まとめと今後
- 今後は欠陥のデータベースを作りたい
質問
- 未解決な欠陥については研究の対象にしていないのか?
- していない
- 是非とも、対象にして欲しい
- PMが欠陥の理由を説明できない
- 比率を見て、どんどん欠陥が減っていっているか
見つかった欠陥をいつ修正されているかも研究の対象にしているところ
バグの影響範囲や重要度、優先度は取り入れているのか
- 今回の研究では対象にしていない
- バグの重複についてはフィルターをかけている
- ユースケースで95%修正でリリースとしているが、残っているバグがクリティカルならばリリースできない
講演3:QA to AQ(Agile Quality): Being Agile at Quality
発表スライド
http://www.washi.cs.waseda.ac.jp/wp-content/uploads/2016/02/QA2AQ-Waseda-2016-.pdf
自己紹介
- Joseph Yoder
トレードオフ
リーン開発
- トヨタはLeanを実行している
アジャイルとは
- アジャイルはマインドセット
- アジャイルはフィードバックループ
非機能要件
非機能要件をユーザーストーリーでどのように表すか
非機能要件とかも重要なのに、スケーラブルだから大丈夫…?
QA→QC
プロセス管理
色々なパターンに当てはまるかどうか
バリアをいかに壊すか
文化、言語、様々なバリアがある
- QAが敵と考えられたりする
アジャイルチーム
QAの60%はユニットテストに
Tearing Down the Walls: Embedding QA in a TDD/Pairing and Agile Environment
Test early
Automate "easy" test
Qualify Loadmap
- Qualify the Backlog
Quality Checklists
Quality Splints
Monitor Qualities
Usabilityをどうやって計測する?
"Quality Debt related to Technical debt."
SteveMcConnell https://kev.inburke.com/kevin/the-best-ways-to-find-bugs-in-your-code/
Agile Quality Benefits
- Visibility
- Effectiveness
- Architectual Risk
Being Pragmatic
- Do the Agile
Be the Agile
No Planning No Design...Sometimes calls Agile
Lot's of upfribt planning... Transitional Waterfall
Ultimate Agile Stories
質問
- Agileの品質モデルはどのようなものがあるか
- ウォータモデルならV字モデルがあったりするが…
- Valueが出るようにすれば良い
- Being Agileがなれば良い
Vモデルでも良いが、改善させていくことが大切
Test Baseをどのようにゲットするか
- Agile Manifestによる
- ドキュメントはValue
- Agile StoryがValueになる
- catalog, method