JaSST'21 Tokyo-セッション概要

JaSST
JaSST'21 Tokyo

JaSST'21 Tokyo セッション概要

※こちらで公開している内容はプログラム情報の一部となります。
またプログラムの内容は、都合により予告なく変更させて頂く場合があります。予めご了承ください。
ブラウザの更新機能で最新版をご確認下さい。

基調講演

「Being Agile about Architecture」

Joseph W. Yoder 氏(Refactory CEO)

セッションの内容

Being Agile, with its attention to extensive testing, frequent integration, and focusing on important product features, has proven invaluable to many software teams. However, when building complex systems, it can be all too easy to focus on features and overlook software qualities, specifically those related to the architecture. Some believe that by simply following Agile practices — starting as fast as possible, keeping code clean, and having lots of tests — a good architecture will magically emerge. While an architecture will emerge, if there is not enough attention paid to it and the code, technical debt and design problems will creep in until it becomes muddy, making it hard to deliver new features quickly and reliably.

It is essential to have a sustainable architecture that can evolve through the project life-cycle. Sustainable architecture requires ongoing attention, especially when there are evolving priorities, lots of technical risk, and many dependencies. This talk presents a set of patterns that focus on practices for creating and evolving a software architecture while remaining Agile. These practices include a set of tools that allow teams to define "enough" architecture at the beginning of the project and to manage the state and the evolution of the architecture as the project evolves.

広範囲なテストをしたり、頻繁にソフトウェアを統合したり、製品の重要な機能に焦点を当てることがアジャイルチームにとって非常に重要であることが証明されています。ただ、大規模で複雑なシステム開発の現場において、機能開発に集中するあまり、特にアーキテクチャに関連するものはよく見落とされます。できるだけ早く開始し、コードをクリーンに保ち、多くのテストを行う等アジャイルのプラクティスを単純に守ることで、優れたアーキテクチャが魔法のように現れると信じている人がいますが、しかし現実は違います。例えばコードに十分な注意が払われない場合、技術的負債や設計上の問題が大量に発生し、新しい機能を迅速かつ確実にデリバリーすることを妨げます。
アーキテクチャはプロジェクトのライフサイクルを通じて進化し、持続可能であることが不可欠です。持続可能なアーキテクチャには、特に多くの優先順位の変更や技術的リスクや依存関係がある場合、継続的に注意が必要でしょう。
この講演では、アジャイルのままでソフトウェアアーキテクチャを進化させるためのプラクティスに焦点を当てたパターンを紹介します。チームがプロジェクトの開始時に「十分な」アーキテクチャを定義し、プロジェクトの進化に応じてアーキテクチャの状態と進化を管理できるツールや方法等が含まれます。

講師プロフィール
写真:Joseph W. Yoder 氏

Joseph W. Yoder 氏(Refactory CEO)

Joseph (Joe) Yoder (agilist, computer scientist, speaker, and pattern author) is the founder and principal of The Refactory, a company focused on software architecture, design, implementation, consulting, and mentoring on all facets of software development. Joe is also the president of The Hillside Group, a non-profit dedicated to improving the quality of life of everyone who uses, builds, and encounters software systems. Joe has presented many tutorials and talks, arranged workshops, given keynotes, and helped organize leading international agile and technical conferences. He is best known as an author of the Big Ball of Mud pattern, which illuminates many fallacies in software architecture. Joe teaches and mentors developers on Agile and lean practices, architecture, building flexible systems, clean design, patterns, refactoring, and testing. Recently Joe has been working with organizations and thought leaders on the best practices for including quality aspects throughout the complete software life-cycle. Joe thinks software is still too hard to change and wants to do something about this. He believes using good practices (patterns), putting the ability to change software into the hands of the people with the knowledge to change it, and bringing the business side closer to the development process helps solve this problem.

論文セッション

「Excel方眼紙を廃し,仕様書のレビュー効率・品質を向上した事例」

熊川 一平(NTTデータ)

セッションの内容

近年のソフトウェア開発では、ソースコードを修正する際、GitLabやGithub上で修正前後の差分を取得し、効率よくレビューが行われる。
一方、設計書などのドキュメントはExcelなどで作成されることが多く、それらの多くはバイナリファイルであるため、ソースコードのように差分が取得しづらく、上記のように効率よくレビューできない。
私たちはソフトウェア開発におけるドキュメントもプレインテキスト形式にすることで、Git上での管理を容易にし、開発効率を高めることを検討し、実践した。
本発表では、皆様からのフィードバックの獲得や、日本のソフトウェア開発現場の改善を目指し、検討の内容や、検証した結果を公表する。

論文セッション

「組込みシステムにおけるロバスト性の検証を目的とした テストケース設計手法の提案」

小口 一浩(宇宙航空研究開発機構(JAXA))

セッションの内容

組込みシステムに対するロバスト性を検証するためのテスト設計では、
①高負荷タスク、②タスクを操作するインターフェース、③動作するハードウエア装置
に係る各制約の組合せが考慮される。しかしながら、外部インタフェースと操作シーケンスの膨大な組合せの中から発生し得るテスト条件を識別し、組合せ爆発を防ぐ必要がある。
本報告では過去の欠陥情報を活かしテスト条件を識別する手法を提案し、実際の製品への適用効果を示す。

論文セッション

「Autifyを使った自動テストにおける属人化解消について」

生井 龍聖(チームスピリット)

セッションの内容

近年、QAエンジニアはテストの他にも様々な品質保証活動を行い、その活動の中には自動テストの構築・メンテナンス等をする場合もあります。
一方でQAによる自動テストの運用はインフラの準備等の様々なスキルを必要とするため、属人化しやすい等の問題がありました。
今回はテスト自動化プラットフォーム「Autify」を使うことで、継続して開発できる自動テスト体制を構築した活用事例を発表します。

一般公募セッション

「テストツールまるわかりガイドv2.0解説します」

井芹 久美子(ASTER)
伊藤 由貴(ASTER)
須原 秀敏(ASTER)

セッションの内容

テストツールの選び方やテストツールのリストが掲載されている『テストツールまるわかりガイドv2.0』が2020年9月に発行されました。
本ガイドには自動テストツールやテスト管理ツールなど幅広いツールが掲載されています。
テストツールについて学習したい方(初心者歓迎!)、テストツールの選定をいままさに進めている方、テストツールベンダの方などに向けて、本ガイドの内容について解説をしていきます。

一般公募セッション

「テストコードの注入から始めるレガシーコードのリファクタリング」

風間 裕也(ビズリーチ)

セッションの内容

近年、テスト駆動開発(以下、TDD)を学ぶ手段が増えています。
様々な機会でTDDを学び始めた人が、現場でぶつかる壁の一つは「レガシーコードなのでTDDが使えない」です。
「レガシーコードをリファクタリングしたいけど、リファクタリングするためのテストコードがない」「テストコードを書きたいけど、レガシーコードなのでテストコードが書きづらい」というジレンマに陥りがちです。
また、レガシーコードのリファクタリングの書籍の多くは、テストコードの大切さを説いている一方で、肝心のテストコードはあまり記述されないことが多いです。
そこで本講演では、テストコードを少しずつ注入していきながらレガシーコードに立ち向かう方法を、ライブコーディング形式でお伝えします。

◆題材(予定)
▽要件仕様書
https://github.com/emilybache/GildedRose-Refactoring-Kata/blob/master/GildedRoseRequirements_jp.md
▽リファクタリング前のコード
https://github.com/emilybache/GildedRose-Refactoring-Kata/blob/master/Java/src/main/java/com/gildedrose/GildedRose.java

一般公募セッション

「新しい品質保証のかたちを目指して
~君の心に「ファンネル」はあるか?~」

大野 泰代(オープンストリーム)
常盤 香央里(グロース・アーキテクチャ&チームス)
西 康晴 (電気通信大学)
三輪 東(SCSK)
山本 久仁朗(ビズリーチ)

セッションの内容

SigSQAでは、新しい品質保証の形を目指して、組織や個人の品質保証の状況を表す仕組みを作ってきました。QAファンネル、QAオクタゴン、QAマップなどがその一例です。モデルケースや事例を通じ、みなさまの現場で活用いただけるようご紹介します。
品質保証に興味がある方、自分たちの品質保証にもやもやしている方、自分たちの品質保証がどの位置にいるか知りたい方、自分たちの品質保証の戦略を立てたい方、などなど品質保証に興味がある方、集まってください、楽しい時間を過ごしましょう!
agileな人・waterfallの人、組み込みの人・Webの人・汎用機の人、営業・企画・エンジニア、それぞれ役割や立場は違えど、品質に対する想いがあればつながれる、そんな世界を信じていただける方にご参加いただきたいです!

基調講演/招待講演者チュートリアル

「QA2AQ – Being Agile at Quality: Values, Practices, and Patterns」

Joseph W. Yoder 氏(Refactory CEO)
鷲崎 弘宜 氏(早稲田大学 / NII / システム情報 / エクスモーション)

セッションの内容

When developing and delivering large, complex systems it can be all too easy to focus on features and overlook software qualities or "non-functional" requirements such as security, scalability, performance or reliability. As agile spreads across your organization it is even more important to pay attention to quality concerns and coordinate the delivery of features along with necessary architecture and system infrastructure work. As organizations transition to agile processes, Quality Assurance (QA) activities and roles need to evolve. Agile teams embrace a "whole team" approach and incremental delivery of system functionality along with system qualities (also known as non-functional requirements). This requires changes to the ways we work. Instead of gatekeepers, Quality Assurance (QA) is engaged and involved throughout development helping clarify system quality requirements and how they will be measured. Quality Control generally refers to inspection activities that occur at the end of a process. Quality Assurance or Total Quality Control is an alternative to Quality Control which recognizes that inspection at the end is ineffective and that you can be more effective if you take a more holistic approach that builds quality into the process from the start engaging the whole team, which we call Agile Quality (AQ). Although special skills may be required to develop and test system qualities, everyone on the team needs to be focused on their delivery.

This session introduces techniques and practices for design and testing efforts into your project while being more agile about it. We will present several agile techniques and practices that support the definition and delivery of system qualities. We will also explore how QA, including architects, testers, and developers can collaborate to ensure that system qualities are addressed in an agile manner emphasizing architecture capabilities such as usability, security, performance, scalability, and availability. You will get hands-on experience briefly practicing some of these techniques.

*We are considering using the following tools during the tutorial. If you are going to participate in this tutorial, please familiarize yourself with the following tools in advance and create your account if necessary.

  1. Zoom Breakout Rooms (https://blog.zoom.us/using-zoom-breakout-rooms/)
  2. miro (https://miro.com/)
  3. slack (https://slack.com/intl/ja-jp/)

このセッションでは、プロジェクトをよりアジャイルにするための設計やテストテクニックとプラクティスを紹介します。
その中ではシステム品質の定義とデリバリーをサポートするいくつかのアジャイルなテクニックとプラクティスを紹介します。
QA( アーキテクト、テスター、開発者などを含む)がどのように協力して、ユーザビリティ、セキュリティ、パフォーマンス、スケーラビリティ、可用性などのアーキテクチャを強化するシステム品質をアジャイルな方法で対処できるかを探ります。
このチュートリアルではテクニックを簡単に実行できる実践的な経験が得られます。
大規模で複雑なシステム開発の現場において、機能開発に集中するあまり、セキュリティ、スケーラビリティ、パフォーマンス、信頼性などの「非機能」要件はよく見落とされます。アジャイルが組織全体に広がるにつれて、品質に注意を払い、必要な機能をデリバリーすることは更に重要性をましています。また、いわゆる品質保証(QA)の役割と活動内容も変革に迫られています。アジャイルチームは「チーム全体のアプローチ」と「品質を伴った機能(非機能要件を含む)を段階的にデリバリーする」を取りれています。このような状況の中、もちろんQAのみなさんの活動内容や作業方法も変わるべきでしょう。いわゆる旧来のゲートキーパーの役割ではなく、みなさんQAがシステム全体の品質要件を明確にし、それを測定し、開発全体に関与すべきです。品質管理(Quality Control)とは元来、非効率的でプロセスの最後に発生する検査活動を指しています。それに対してQA(品質保証)やTQM(総合品質管理)は、開発工程の最後に検査するQC(品質管理)の代替手段であり、チーム全体に関与してプロセスの最初から品質を作り込む包括的なアプローチをとることで効率を上げることができます。後者をアジャイル品質(AQ)と呼んでいます。もちろんシステムの品質保つために開発やテスト関して特別なスキルが必要になる局面はありますが、大前提としてチームの全員がデリバリーに集中する必要があります。

*チュートリアル中に下記のツールを利用することを検討しています。
本チュートリアルに参加される方は事前に下記のツールをご理解、必要であればアカウント作成いただくことをお願いします。

  1. Zoom Breakout Rooms (https://blog.zoom.us/using-zoom-breakout-rooms/)
  2. miro (https://miro.com/)
  3. slack (https://slack.com/intl/ja-jp/)

招待講演

「パターンQA2AQによるアジャイル品質のマインド、体制、プロセス、技術」

鷲崎 弘宜 氏(早稲田大学 / NII / システム情報 / エクスモーション)

セッションの内容

アジャイル開発における品質保証は、特定の段階で特定の人々のみが取り組むというよりも、専門家を交えつつロードマップ策定から日々のモニタリングに至るあらゆる段階でチーム全体となって取り組む活動となります。本講演では、伝統的な品質保証(Quality Assurance)の考え方から、アジャイル品質(Agile Quality)へとチームや組織が変わっていくために必要なパターン集 Quality Assurance to Agile Quality (QA2AQ) の紹介を通じて、アジャイル品質のマインド、体制、プロセス、技術を解説します。また、各パターンの利用事例や活用の実態、他のアジャイル品質プラクティスとの関係についても取り上げます。

講師プロフィール
写真:鷲崎 弘宜 氏

鷲崎 弘宜 氏(早稲田大学 / NII / システム情報 / エクスモーション)

早稲田大学 研究推進部 副部長・グローバルソフトウェアエンジニアリング研究所所長・教授、国立情報学研究所客員教授、株式会社システム情報 取締役(監査等委員)、株式会社エクスモーション 社外取締役、ガイオ・テクノロジー株式会社 技術アドバイザ。

ビジネスと社会のためのソフトウェアエンジニアリングの研究、実践、社会実装に従事。その一環としてアジャイル開発のプロセスやプラクティスの分析を進め、2014年からJoseph YoderやRebecca Wirfs-Brockらのアジャイル品質保証パターンのプロジェクト "Shifting from Quality Assurance to Agile Quality (QA2AQ)"に参画。2019年からはアジャイル開発と従来のソフトウェア工学の間の分断、さらにはビジネスとITの間の分断が起きているという問題意識のもと、DX時代のオープンイノベーションに役立つデザイン思考やビジネス・価値デザインからアジャイル開発、さらには堅実なソフトウェア製品・サービスの開発・保守の方法論までを系統立てた枠組みとしてSE4BS(Software Engineering for Business and Society)の構築を有志で開始。

スポンサーシップ募集中! NPO ASTER Software Testing

PAGE TOP